List of usage examples for org.eclipse.jdt.internal.compiler.classfmt ClassFileConstants AccSynchronized
int AccSynchronized
To view the source code for org.eclipse.jdt.internal.compiler.classfmt ClassFileConstants AccSynchronized.
Click Source Link
From source file:ch.uzh.ifi.seal.changedistiller.ast.java.JavaASTHelper.java
License:Apache License
private boolean isSynchronized(int ecjModifier) { return (ecjModifier & ClassFileConstants.AccSynchronized) != 0; }
From source file:com.android.tools.lint.psi.EcjPsiBuilder.java
License:Apache License
private EcjPsiModifierList toModifierList(@NonNull EcjPsiSourceElement parent, int modifiers, Annotation[] annotations) { int flags = 0; if ((modifiers & ClassFileConstants.AccStatic) != 0) { flags |= Modifier.STATIC; }/*from w w w. ja v a2 s .co m*/ if ((modifiers & ClassFileConstants.AccFinal) != 0) { flags |= Modifier.FINAL; } if ((modifiers & ClassFileConstants.AccAbstract) != 0) { flags |= Modifier.ABSTRACT; } if ((modifiers & ClassFileConstants.AccPrivate) != 0) { flags |= Modifier.PRIVATE; } if ((modifiers & ClassFileConstants.AccProtected) != 0) { flags |= Modifier.PROTECTED; } if ((modifiers & ClassFileConstants.AccPublic) != 0) { flags |= Modifier.PUBLIC; } if ((modifiers & ClassFileConstants.AccSynchronized) != 0) { flags |= Modifier.SYNCHRONIZED; } if ((modifiers & ClassFileConstants.AccVolatile) != 0) { flags |= Modifier.VOLATILE; } if ((modifiers & ExtraCompilerModifiers.AccDefaultMethod) != 0) { flags |= EcjPsiModifierList.DEFAULT_MASK; } EcjPsiModifierList modifierList = new EcjPsiModifierList(mManager, flags); parent.adoptChild(modifierList); EcjPsiAnnotation[] psiAnnotations = toAnnotations(modifierList, annotations); modifierList.setAnnotations(psiAnnotations); return modifierList; }
From source file:org.eclipse.ajdt.core.javaelements.CompilationUnitTools.java
License:Open Source License
public static int getModifierCode(IProgramElement elem) { IProgramElement.Accessibility acc = elem.getAccessibility(); List<Modifiers> others = elem.getModifiers(); int modifiers = 0; if (acc == IProgramElement.Accessibility.PUBLIC) { modifiers |= ClassFileConstants.AccPublic; } else if (acc == IProgramElement.Accessibility.PROTECTED) { modifiers |= ClassFileConstants.AccProtected; } else if (acc == IProgramElement.Accessibility.PRIVATE) { modifiers |= ClassFileConstants.AccPrivate; }/*from w w w .ja va 2 s . c o m*/ if (others != null) { if (others.contains(IProgramElement.Modifiers.ABSTRACT)) { modifiers |= ClassFileConstants.AccAbstract; } if (others.contains(IProgramElement.Modifiers.FINAL)) { modifiers |= ClassFileConstants.AccFinal; } if (others.contains(IProgramElement.Modifiers.NATIVE)) { modifiers |= ClassFileConstants.AccNative; } if (others.contains(IProgramElement.Modifiers.STATIC)) { modifiers |= ClassFileConstants.AccStatic; } if (others.contains(IProgramElement.Modifiers.SYNCHRONIZED)) { modifiers |= ClassFileConstants.AccSynchronized; } if (others.contains(IProgramElement.Modifiers.TRANSIENT)) { modifiers |= ClassFileConstants.AccTransient; } if (others.contains(IProgramElement.Modifiers.VOLATILE)) { modifiers |= ClassFileConstants.AccVolatile; } } return modifiers; }
From source file:org.eclipse.ajdt.core.javaelements.CompilationUnitTools.java
License:Open Source License
/** * returns the modifiers of this element as if this element were declared * public//from w w w . jav a 2 s . co m */ public static int getPublicModifierCode(IAspectJElementInfo info) { int modifiers = ClassFileConstants.AccPublic; List<Modifiers> others = info.getAJModifiers(); if (others == null) { return modifiers; } if (others.contains(IProgramElement.Modifiers.ABSTRACT)) { modifiers |= ClassFileConstants.AccAbstract; } if (others.contains(IProgramElement.Modifiers.FINAL)) { modifiers |= ClassFileConstants.AccFinal; } if (others.contains(IProgramElement.Modifiers.NATIVE)) { modifiers |= ClassFileConstants.AccNative; } if (others.contains(IProgramElement.Modifiers.STATIC)) { modifiers |= ClassFileConstants.AccStatic; } if (others.contains(IProgramElement.Modifiers.SYNCHRONIZED)) { modifiers |= ClassFileConstants.AccSynchronized; } if (others.contains(IProgramElement.Modifiers.TRANSIENT)) { modifiers |= ClassFileConstants.AccTransient; } if (others.contains(IProgramElement.Modifiers.VOLATILE)) { modifiers |= ClassFileConstants.AccVolatile; } return modifiers; }
From source file:org.eclipse.ajdt.core.javaelements.CompilationUnitTools.java
License:Open Source License
public static List<Modifiers> getModifiersFromModifierCode(int code) { List<Modifiers> mods = new ArrayList<Modifiers>(2); if ((code & ClassFileConstants.AccAbstract) != 0) { mods.add(IProgramElement.Modifiers.ABSTRACT); }/*from w ww. ja va 2s . c o m*/ if ((code & ClassFileConstants.AccFinal) != 0) { mods.add(IProgramElement.Modifiers.FINAL); } if ((code & ClassFileConstants.AccStatic) != 0) { mods.add(IProgramElement.Modifiers.STATIC); } if ((code & ClassFileConstants.AccVolatile) != 0) { mods.add(IProgramElement.Modifiers.VOLATILE); } if ((code & ClassFileConstants.AccTransient) != 0) { mods.add(IProgramElement.Modifiers.TRANSIENT); } if ((code & ClassFileConstants.AccSynchronized) != 0) { mods.add(IProgramElement.Modifiers.SYNCHRONIZED); } if ((code & ClassFileConstants.AccNative) != 0) { mods.add(IProgramElement.Modifiers.NATIVE); } return mods; }
From source file:org.eclipse.jdt.internal.compiler.parser.Parser.java
License:Open Source License
protected void consumeToken(int type) { /* remember the last consumed value */ /* try to minimize the number of build values */ // // clear the commentPtr of the scanner in case we read something different from a modifier // switch(type) { // case TokenNameabstract : // case TokenNamestrictfp : // case TokenNamefinal : // case TokenNamenative : // case TokenNameprivate : // case TokenNameprotected : // case TokenNamepublic : // case TokenNametransient : // case TokenNamevolatile : // case TokenNamestatic : // case TokenNamesynchronized : // break; // default: // this.scanner.commentPtr = -1; // }/*from w w w.j a v a 2 s .c o m*/ //System.out.println(this.scanner.toStringAction(type)); switch (type) { case TokenNameIdentifier: pushIdentifier(); if (this.scanner.useAssertAsAnIndentifier && this.lastErrorEndPositionBeforeRecovery < this.scanner.currentPosition) { long positions = this.identifierPositionStack[this.identifierPtr]; if (!this.statementRecoveryActivated) problemReporter().useAssertAsAnIdentifier((int) (positions >>> 32), (int) positions); } if (this.scanner.useEnumAsAnIndentifier && this.lastErrorEndPositionBeforeRecovery < this.scanner.currentPosition) { long positions = this.identifierPositionStack[this.identifierPtr]; if (!this.statementRecoveryActivated) problemReporter().useEnumAsAnIdentifier((int) (positions >>> 32), (int) positions); } break; case TokenNameinterface: //'class' is pushing two int (positions) on the stack ==> 'interface' needs to do it too.... pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; case TokenNameabstract: checkAndSetModifiers(ClassFileConstants.AccAbstract); pushOnExpressionStackLengthStack(0); break; case TokenNamestrictfp: checkAndSetModifiers(ClassFileConstants.AccStrictfp); pushOnExpressionStackLengthStack(0); break; case TokenNamefinal: checkAndSetModifiers(ClassFileConstants.AccFinal); pushOnExpressionStackLengthStack(0); break; case TokenNamenative: checkAndSetModifiers(ClassFileConstants.AccNative); pushOnExpressionStackLengthStack(0); break; case TokenNameprivate: checkAndSetModifiers(ClassFileConstants.AccPrivate); pushOnExpressionStackLengthStack(0); break; case TokenNameprotected: checkAndSetModifiers(ClassFileConstants.AccProtected); pushOnExpressionStackLengthStack(0); break; case TokenNamepublic: checkAndSetModifiers(ClassFileConstants.AccPublic); pushOnExpressionStackLengthStack(0); break; case TokenNametransient: checkAndSetModifiers(ClassFileConstants.AccTransient); pushOnExpressionStackLengthStack(0); break; case TokenNamevolatile: checkAndSetModifiers(ClassFileConstants.AccVolatile); pushOnExpressionStackLengthStack(0); break; case TokenNamestatic: checkAndSetModifiers(ClassFileConstants.AccStatic); pushOnExpressionStackLengthStack(0); break; case TokenNamesynchronized: this.synchronizedBlockSourceStart = this.scanner.startPosition; checkAndSetModifiers(ClassFileConstants.AccSynchronized); pushOnExpressionStackLengthStack(0); break; //============================== case TokenNamevoid: pushIdentifier(-T_void); pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; //push a default dimension while void is not part of the primitive //declaration baseType and so takes the place of a type without getting into //regular type parsing that generates a dimension on this.intStack case TokenNameboolean: pushIdentifier(-T_boolean); pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; case TokenNamebyte: pushIdentifier(-T_byte); pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; case TokenNamechar: pushIdentifier(-T_char); pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; case TokenNamedouble: pushIdentifier(-T_double); pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; case TokenNamefloat: pushIdentifier(-T_float); pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; case TokenNameint: pushIdentifier(-T_int); pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; case TokenNamelong: pushIdentifier(-T_long); pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; case TokenNameshort: pushIdentifier(-T_short); pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; //============================== case TokenNameIntegerLiteral: pushOnExpressionStack(IntLiteral.buildIntLiteral(this.scanner.getCurrentTokenSource(), this.scanner.startPosition, this.scanner.currentPosition - 1)); break; case TokenNameLongLiteral: pushOnExpressionStack(LongLiteral.buildLongLiteral(this.scanner.getCurrentTokenSource(), this.scanner.startPosition, this.scanner.currentPosition - 1)); break; case TokenNameFloatingPointLiteral: pushOnExpressionStack(new FloatLiteral(this.scanner.getCurrentTokenSource(), this.scanner.startPosition, this.scanner.currentPosition - 1)); break; case TokenNameDoubleLiteral: pushOnExpressionStack(new DoubleLiteral(this.scanner.getCurrentTokenSource(), this.scanner.startPosition, this.scanner.currentPosition - 1)); break; case TokenNameCharacterLiteral: pushOnExpressionStack(new CharLiteral(this.scanner.getCurrentTokenSource(), this.scanner.startPosition, this.scanner.currentPosition - 1)); break; case TokenNameStringLiteral: StringLiteral stringLiteral; if (this.recordStringLiterals && this.checkExternalizeStrings && this.lastPosistion < this.scanner.currentPosition && !this.statementRecoveryActivated) { stringLiteral = createStringLiteral(this.scanner.getCurrentTokenSourceString(), this.scanner.startPosition, this.scanner.currentPosition - 1, Util.getLineNumber( this.scanner.startPosition, this.scanner.lineEnds, 0, this.scanner.linePtr)); this.compilationUnit.recordStringLiteral(stringLiteral, this.currentElement != null); } else { stringLiteral = createStringLiteral(this.scanner.getCurrentTokenSourceString(), this.scanner.startPosition, this.scanner.currentPosition - 1, 0); } pushOnExpressionStack(stringLiteral); break; case TokenNamefalse: pushOnExpressionStack(new FalseLiteral(this.scanner.startPosition, this.scanner.currentPosition - 1)); break; case TokenNametrue: pushOnExpressionStack(new TrueLiteral(this.scanner.startPosition, this.scanner.currentPosition - 1)); break; case TokenNamenull: pushOnExpressionStack(new NullLiteral(this.scanner.startPosition, this.scanner.currentPosition - 1)); break; //============================ case TokenNamesuper: case TokenNamethis: this.endPosition = this.scanner.currentPosition - 1; pushOnIntStack(this.scanner.startPosition); break; case TokenNameassert: case TokenNameimport: case TokenNamepackage: case TokenNamethrow: case TokenNamedo: case TokenNameif: case TokenNamefor: case TokenNameswitch: case TokenNametry: case TokenNamewhile: case TokenNamebreak: case TokenNamecontinue: case TokenNamereturn: case TokenNamecase: pushOnIntStack(this.scanner.startPosition); break; case TokenNamenew: // https://bugs.eclipse.org/bugs/show_bug.cgi?id=40954 resetModifiers(); pushOnIntStack(this.scanner.startPosition); break; case TokenNameclass: pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; case TokenNameenum: pushOnIntStack(this.scanner.currentPosition - 1); pushOnIntStack(this.scanner.startPosition); break; case TokenNamedefault: pushOnIntStack(this.scanner.startPosition); pushOnIntStack(this.scanner.currentPosition - 1); break; //let extra semantic action decide when to push case TokenNameRBRACKET: this.endPosition = this.scanner.startPosition; this.endStatementPosition = this.scanner.currentPosition - 1; break; case TokenNameLBRACE: this.endStatementPosition = this.scanner.currentPosition - 1; //$FALL-THROUGH$ case TokenNamePLUS: case TokenNameMINUS: case TokenNameNOT: case TokenNameTWIDDLE: this.endPosition = this.scanner.startPosition; break; case TokenNamePLUS_PLUS: case TokenNameMINUS_MINUS: this.endPosition = this.scanner.startPosition; this.endStatementPosition = this.scanner.currentPosition - 1; break; case TokenNameRBRACE: case TokenNameSEMICOLON: this.endStatementPosition = this.scanner.currentPosition - 1; this.endPosition = this.scanner.startPosition - 1; //the item is not part of the potential futur expression/statement break; case TokenNameRPAREN: // in order to handle ( expression) ////// (cast)expression///// foo(x) this.rParenPos = this.scanner.currentPosition - 1; // position of the end of right parenthesis (in case of unicode \u0029) lex00101 break; case TokenNameLPAREN: this.lParenPos = this.scanner.startPosition; break; case TokenNameAT: pushOnIntStack(this.scanner.startPosition); break; case TokenNameQUESTION: pushOnIntStack(this.scanner.startPosition); pushOnIntStack(this.scanner.currentPosition - 1); break; case TokenNameLESS: pushOnIntStack(this.scanner.startPosition); break; case TokenNameELLIPSIS: pushOnIntStack(this.scanner.currentPosition - 1); break; case TokenNameEQUAL: if (this.currentElement != null && this.currentElement instanceof RecoveredAnnotation) { RecoveredAnnotation recoveredAnnotation = (RecoveredAnnotation) this.currentElement; if (recoveredAnnotation.memberValuPairEqualEnd == -1) { recoveredAnnotation.memberValuPairEqualEnd = this.scanner.currentPosition - 1; } } break; case TokenNameMULTIPLY: // star end position pushOnIntStack(this.scanner.currentPosition - 1); break; // case TokenNameCOMMA : // case TokenNameCOLON : // case TokenNameLBRACKET : // case TokenNameDOT : // case TokenNameERROR : // case TokenNameEOF : // case TokenNamecase : // case TokenNamecatch : // case TokenNameelse : // case TokenNameextends : // case TokenNamefinally : // case TokenNameimplements : // case TokenNamethrows : // case TokenNameinstanceof : // case TokenNameEQUAL_EQUAL : // case TokenNameLESS_EQUAL : // case TokenNameGREATER_EQUAL : // case TokenNameNOT_EQUAL : // case TokenNameLEFT_SHIFT : // case TokenNameRIGHT_SHIFT : // case TokenNameUNSIGNED_RIGHT_SHIFT : // case TokenNamePLUS_EQUAL : // case TokenNameMINUS_EQUAL : // case TokenNameMULTIPLY_EQUAL : // case TokenNameDIVIDE_EQUAL : // case TokenNameAND_EQUAL : // case TokenNameOR_EQUAL : // case TokenNameXOR_EQUAL : // case TokenNameREMAINDER_EQUAL : // case TokenNameLEFT_SHIFT_EQUAL : // case TokenNameRIGHT_SHIFT_EQUAL : // case TokenNameUNSIGNED_RIGHT_SHIFT_EQUAL : // case TokenNameOR_OR : // case TokenNameAND_AND : // case TokenNameREMAINDER : // case TokenNameXOR : // case TokenNameAND : // case TokenNameMULTIPLY : // case TokenNameOR : // case TokenNameDIVIDE : // case TokenNameGREATER : } }
From source file:org.eclipse.objectteams.otdt.internal.core.compiler.ast.GuardPredicateDeclaration.java
License:Open Source License
public GuardPredicateDeclaration(CompilationResult compilationResult, char[] methodName, int kind, boolean typeIsRole, boolean isBasePredicate, int start, int end) { this(compilationResult, methodName, isBasePredicate, start, end); this.kind = kind; this.modifiers = ClassFileConstants.AccSynchronized | ClassFileConstants.AccProtected; if (isBasePredicate && (typeIsRole || kind != GuardPredicateDeclaration.TYPE_PREDICATE)) this.modifiers |= ClassFileConstants.AccStatic; }
From source file:spoon.support.builder.JDTTreeBuilder.java
License:Open Source License
public static Set<ModifierKind> getModifier(int mod) { Set<ModifierKind> ret = new TreeSet<ModifierKind>(); if ((mod & ClassFileConstants.AccPublic) != 0) ret.add(ModifierKind.PUBLIC);//w ww. j a v a 2s . com if ((mod & ClassFileConstants.AccPrivate) != 0) ret.add(ModifierKind.PRIVATE); if ((mod & ClassFileConstants.AccProtected) != 0) ret.add(ModifierKind.PROTECTED); if ((mod & ClassFileConstants.AccStatic) != 0) ret.add(ModifierKind.STATIC); if ((mod & ClassFileConstants.AccFinal) != 0) ret.add(ModifierKind.FINAL); if ((mod & ClassFileConstants.AccSynchronized) != 0) ret.add(ModifierKind.SYNCHRONIZED); if ((mod & ClassFileConstants.AccVolatile) != 0) ret.add(ModifierKind.VOLATILE); if ((mod & ClassFileConstants.AccTransient) != 0) ret.add(ModifierKind.TRANSIENT); if ((mod & ClassFileConstants.AccAbstract) != 0) ret.add(ModifierKind.ABSTRACT); if ((mod & ClassFileConstants.AccStrictfp) != 0) ret.add(ModifierKind.STRICTFP); if ((mod & ClassFileConstants.AccNative) != 0) ret.add(ModifierKind.NATIVE); return ret; }
From source file:spoon.support.compiler.jdt.JDTTreeBuilder.java
License:Open Source License
public static Set<ModifierKind> getModifiers(int mod) { Set<ModifierKind> ret = EnumSet.noneOf(ModifierKind.class); if ((mod & ClassFileConstants.AccPublic) != 0) { ret.add(ModifierKind.PUBLIC);/*from w w w. j a v a 2 s. c o m*/ } if ((mod & ClassFileConstants.AccPrivate) != 0) { ret.add(ModifierKind.PRIVATE); } if ((mod & ClassFileConstants.AccProtected) != 0) { ret.add(ModifierKind.PROTECTED); } if ((mod & ClassFileConstants.AccStatic) != 0) { ret.add(ModifierKind.STATIC); } if ((mod & ClassFileConstants.AccFinal) != 0) { ret.add(ModifierKind.FINAL); } if ((mod & ClassFileConstants.AccSynchronized) != 0) { ret.add(ModifierKind.SYNCHRONIZED); } if ((mod & ClassFileConstants.AccVolatile) != 0) { ret.add(ModifierKind.VOLATILE); } if ((mod & ClassFileConstants.AccTransient) != 0) { ret.add(ModifierKind.TRANSIENT); } if ((mod & ClassFileConstants.AccAbstract) != 0) { ret.add(ModifierKind.ABSTRACT); } if ((mod & ClassFileConstants.AccStrictfp) != 0) { ret.add(ModifierKind.STRICTFP); } if ((mod & ClassFileConstants.AccNative) != 0) { ret.add(ModifierKind.NATIVE); } return ret; }
From source file:spoon.support.compiler.jdt.JDTTreeBuilderQuery.java
License:Open Source License
/** * Converts the modifier from JDT to Spoon. * * @param modifier/*from w w w. ja v a 2 s.co m*/ * Identifier of the modifier. * @param implicit True if the modifier is not explicit in the source code (e.g. a missing 'public' in an interface) * @return Set of enum value of {@link CtExtendedModifier}. */ static Set<CtExtendedModifier> getModifiers(int modifier, boolean implicit, boolean isMethod) { Set<CtExtendedModifier> modifiers = new HashSet<>(); if ((modifier & ClassFileConstants.AccPublic) != 0) { modifiers.add(new CtExtendedModifier(ModifierKind.PUBLIC, implicit)); } if ((modifier & ClassFileConstants.AccPrivate) != 0) { modifiers.add(new CtExtendedModifier(ModifierKind.PRIVATE, implicit)); } if ((modifier & ClassFileConstants.AccProtected) != 0) { modifiers.add(new CtExtendedModifier(ModifierKind.PROTECTED, implicit)); } if ((modifier & ClassFileConstants.AccStatic) != 0) { modifiers.add(new CtExtendedModifier(ModifierKind.STATIC, implicit)); } if ((modifier & ClassFileConstants.AccFinal) != 0) { modifiers.add(new CtExtendedModifier(ModifierKind.FINAL, implicit)); } if ((modifier & ClassFileConstants.AccSynchronized) != 0) { modifiers.add(new CtExtendedModifier(ModifierKind.SYNCHRONIZED, implicit)); } if ((modifier & ClassFileConstants.AccVolatile) != 0) { modifiers.add(new CtExtendedModifier(ModifierKind.VOLATILE, implicit)); } // a method can never be transient, but it can have the flag because of varArgs. // source: https://stackoverflow.com/questions/16233910/can-transient-keywords-mark-a-method if (!isMethod && (modifier & ClassFileConstants.AccTransient) != 0) { modifiers.add(new CtExtendedModifier(ModifierKind.TRANSIENT, implicit)); } if ((modifier & ClassFileConstants.AccAbstract) != 0) { modifiers.add(new CtExtendedModifier(ModifierKind.ABSTRACT, implicit)); } if ((modifier & ClassFileConstants.AccStrictfp) != 0) { modifiers.add(new CtExtendedModifier(ModifierKind.STRICTFP, implicit)); } if ((modifier & ClassFileConstants.AccNative) != 0) { modifiers.add(new CtExtendedModifier(ModifierKind.NATIVE, implicit)); } return modifiers; }