Example usage for org.eclipse.jdt.core.dom Modifier VOLATILE

List of usage examples for org.eclipse.jdt.core.dom Modifier VOLATILE

Introduction

In this page you can find the example usage for org.eclipse.jdt.core.dom Modifier VOLATILE.

Prototype

int VOLATILE

To view the source code for org.eclipse.jdt.core.dom Modifier VOLATILE.

Click Source Link

Document

"volatile" modifier constant (bit mask).

Usage

From source file:astview.Binding.java

License:Open Source License

private static StringBuffer getModifiersString(int flags, boolean isMethod) {
    StringBuffer sb = new StringBuffer().append("0x").append(Integer.toHexString(flags)).append(" (");
    int prologLen = sb.length();
    int rest = flags;

    rest &= ~appendFlag(sb, flags, Modifier.PUBLIC, "public ");
    rest &= ~appendFlag(sb, flags, Modifier.PRIVATE, "private ");
    rest &= ~appendFlag(sb, flags, Modifier.PROTECTED, "protected ");
    rest &= ~appendFlag(sb, flags, Modifier.STATIC, "static ");
    rest &= ~appendFlag(sb, flags, Modifier.FINAL, "final ");
    if (isMethod) {
        rest &= ~appendFlag(sb, flags, Modifier.SYNCHRONIZED, "synchronized ");
        rest &= ~appendFlag(sb, flags, Modifier.DEFAULT, "default ");
    } else {/*  w ww .  j  a  v  a2  s. c om*/
        rest &= ~appendFlag(sb, flags, Modifier.VOLATILE, "volatile ");
        rest &= ~appendFlag(sb, flags, Modifier.TRANSIENT, "transient ");
    }
    rest &= ~appendFlag(sb, flags, Modifier.NATIVE, "native ");
    rest &= ~appendFlag(sb, flags, Modifier.ABSTRACT, "abstract ");
    rest &= ~appendFlag(sb, flags, Modifier.STRICTFP, "strictfp ");

    if (rest != 0)
        sb.append("unknown:0x").append(Integer.toHexString(rest)).append(" ");
    int len = sb.length();
    if (len != prologLen)
        sb.setLength(len - 1);
    sb.append(")");
    return sb;
}

From source file:com.ibm.wala.cast.java.translator.jdt.JDT2CAstUtils.java

License:Open Source License

public static Collection<CAstQualifier> mapModifiersToQualifiers(int modifiers, boolean isInterface,
        boolean isAnnotation) {
    Set<CAstQualifier> quals = new LinkedHashSet<CAstQualifier>();

    if (isInterface)
        quals.add(CAstQualifier.INTERFACE);

    if (isAnnotation)
        quals.add(CAstQualifier.ANNOTATION);

    if ((modifiers & Modifier.ABSTRACT) != 0)
        quals.add(CAstQualifier.ABSTRACT);
    if ((modifiers & Modifier.FINAL) != 0)
        quals.add(CAstQualifier.FINAL);/*from  ww w.j  a  v a2  s .co m*/
    if ((modifiers & Modifier.NATIVE) != 0)
        quals.add(CAstQualifier.NATIVE);
    // if (flags.isPackage()) quals.add(CAstQualifier.PACKAGE);
    if ((modifiers & Modifier.PRIVATE) != 0)
        quals.add(CAstQualifier.PRIVATE);
    if ((modifiers & Modifier.PROTECTED) != 0)
        quals.add(CAstQualifier.PROTECTED);
    if ((modifiers & Modifier.PUBLIC) != 0)
        quals.add(CAstQualifier.PUBLIC);
    if ((modifiers & Modifier.STATIC) != 0)
        quals.add(CAstQualifier.STATIC);
    if ((modifiers & Modifier.STRICTFP) != 0)
        quals.add(CAstQualifier.STRICTFP);
    if ((modifiers & Modifier.SYNCHRONIZED) != 0)
        quals.add(CAstQualifier.SYNCHRONIZED);
    if ((modifiers & Modifier.TRANSIENT) != 0)
        quals.add(CAstQualifier.TRANSIENT);
    if ((modifiers & Modifier.VOLATILE) != 0)
        quals.add(CAstQualifier.VOLATILE);

    return quals;
}

From source file:org.modeshape.sequencer.javafile.JdtRecorder.java

License:Apache License

/**
 * <pre>/*from  ww  w  . j a  v  a 2  s  .c  om*/
 * FieldDeclaration:
 *      [Javadoc] { ExtendedModifier } Type VariableDeclarationFragment
 *           { , VariableDeclarationFragment } ;
 *
 * VariableDeclarationFragment:
 *     Identifier { [] } [ = Expression ]
 * </pre>
 *
 * A field container node will be created if one does not exist under <code>node</node>.
 *
 * @param field the {@link FieldDeclaration field} being recorded {cannot be <code>null</code>
 * @param parentNode the parent {@link Node node} (cannot be <code>null</code>)
 * @throws Exception if there is a problem
 */
protected void record(final FieldDeclaration field, final Node parentNode) throws Exception {
    @SuppressWarnings("unchecked")
    final List<VariableDeclarationFragment> frags = field.fragments();
    final String name = frags.get(0).getName().getFullyQualifiedName();

    final Node fieldNode = parentNode.addNode(name, ClassFileSequencerLexicon.FIELD);
    fieldNode.setProperty(ClassFileSequencerLexicon.NAME, name);

    { // javadocs
        final Javadoc javadoc = field.getJavadoc();

        if (javadoc != null) {
            record(javadoc, fieldNode);
        }
    }

    { // type
        final Type type = field.getType();
        final String typeName = getTypeName(type);
        fieldNode.setProperty(ClassFileSequencerLexicon.TYPE_CLASS_NAME, typeName);
        record(type, ClassFileSequencerLexicon.TYPE, fieldNode);
    }

    { // modifiers
        final int modifiers = field.getModifiers();

        fieldNode.setProperty(ClassFileSequencerLexicon.FINAL, (modifiers & Modifier.FINAL) != 0);
        fieldNode.setProperty(ClassFileSequencerLexicon.STATIC, (modifiers & Modifier.STATIC) != 0);
        fieldNode.setProperty(ClassFileSequencerLexicon.TRANSIENT, (modifiers & Modifier.TRANSIENT) != 0);
        fieldNode.setProperty(ClassFileSequencerLexicon.VISIBILITY, getVisibility(modifiers));
        fieldNode.setProperty(ClassFileSequencerLexicon.VOLATILE, (modifiers & Modifier.VOLATILE) != 0);
    }

    { // annotations
        @SuppressWarnings("unchecked")
        final List<IExtendedModifier> modifiers = field.modifiers();
        recordAnnotations(modifiers, fieldNode);
    }

    { // fragments
        @SuppressWarnings("unchecked")
        final List<VariableDeclarationFragment> fragments = field.fragments();

        if ((fragments != null) && !fragments.isEmpty()) {
            for (final VariableDeclarationFragment var : fragments) {
                final Expression initializer = var.getInitializer();

                if (initializer != null) {
                    recordExpression(initializer, ClassFileSequencerLexicon.INITIALIZER, fieldNode);
                }
            }
        }
    }

    recordSourceReference(field, fieldNode);
}