*******************************************************************************/
package org.eclipse.jdt.internal.compiler.lookup;
+import org.eclipse.jdt.internal.compiler.ast.ASTNode;
import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
public interface CompilerModifiers extends ClassFileConstants { // modifier constant
// those constants are depending upon ClassFileConstants (relying that classfiles only use the 16 lower bits)
final int AccDefault = 0;
- final int AccJustFlag = 0xFFFF;
- final int AccCatchesExceptions = 0x10000; // bit17
- final int AccThrowsExceptions = 0x20000; // bit18 - also IConstants.AccSynthetic
- final int AccProblem = 0x40000; // bit19
- final int AccFromClassFile = 0x80000; // bit20
- final int AccIsConstantValue = 0x80000; // bit20
- final int AccDefaultAbstract = 0x80000; // bit20
+ final int AccJustFlag = // 16 lower bits
+ ASTNode.Bit1|ASTNode.Bit2|ASTNode.Bit3|ASTNode.Bit4|ASTNode.Bit5|ASTNode.Bit6|ASTNode.Bit7|ASTNode.Bit8|
+ ASTNode.Bit9|ASTNode.Bit10|ASTNode.Bit11|ASTNode.Bit12|ASTNode.Bit13|ASTNode.Bit14|ASTNode.Bit15|ASTNode.Bit16;
+
+ // bit17 - free
+ // bit18 - IConstants.AccAnnotationDefault
+ final int AccRestrictedAccess = ASTNode.Bit19;
+ final int AccFromClassFile = ASTNode.Bit20;
+ final int AccDefaultAbstract = ASTNode.Bit20;
// bit21 - IConstants.AccDeprecated
- final int AccDeprecatedImplicitly = 0x200000; // bit22 to record whether deprecated itself or contained by a deprecated type
- final int AccAlternateModifierProblem = 0x400000; // bit23
- final int AccModifierProblem = 0x800000; // bit24
- final int AccSemicolonBody = 0x1000000; // bit25
- final int AccUnresolved = 0x2000000; // bit26
- final int AccClearPrivateModifier = 0x4000000; // bit27 might be requested during private access emulation
- final int AccBlankFinal = 0x4000000; // bit27 for blank final variables
- final int AccIsDefaultConstructor = 0x4000000; // bit27 for default constructor
- final int AccPrivateUsed = 0x8000000; // bit28 used to diagnose unused private members
+ final int AccDeprecatedImplicitly = ASTNode.Bit22; // record whether deprecated itself or contained by a deprecated type
+ final int AccAlternateModifierProblem = ASTNode.Bit23;
+ final int AccModifierProblem = ASTNode.Bit24;
+ final int AccSemicolonBody = ASTNode.Bit25;
+ final int AccUnresolved = ASTNode.Bit26;
+ final int AccClearPrivateModifier = ASTNode.Bit27; // might be requested during private access emulation
+ final int AccBlankFinal = ASTNode.Bit27; // for blank final variables
+ final int AccIsDefaultConstructor = ASTNode.Bit27; // for default constructor
+ final int AccPrivateUsed = ASTNode.Bit28; // used to diagnose unused private members
final int AccVisibilityMASK = AccPublic | AccProtected | AccPrivate;
- final int AccOverriding = 0x10000000; // bit29 to record fact a method overrides another one
- final int AccImplementing = 0x20000000; // bit30 to record fact a method implements another one (it is concrete and overrides an abstract one)
+ final int AccOverriding = ASTNode.Bit29; // record fact a method overrides another one
+ final int AccImplementing = ASTNode.Bit30; // record fact a method implements another one (it is concrete and overrides an abstract one)
+ final int AccGenericSignature = ASTNode.Bit31; // record fact a type/method/field involves generics in its signature (and need special signature attr)
}