1 /*******************************************************************************
2 * Copyright (c) 2000, 2003 IBM Corporation and others.
3 * All rights reserved. This program and the accompanying materials
4 * are made available under the terms of the Common Public License v1.0
5 * which accompanies this distribution, and is available at
6 * http://www.eclipse.org/legal/cpl-v10.html
9 * IBM Corporation - initial API and implementation
10 *******************************************************************************/
11 package net.sourceforge.phpdt.internal.compiler.lookup;
13 import net.sourceforge.phpdt.internal.compiler.env.IConstants;
15 public interface CompilerModifiers extends IConstants { // modifier constant
16 // those constants are depending upon ClassFileConstants (relying that classfiles only use the 16 lower bits)
17 final int AccDefault = 0;
18 final int AccJustFlag = 0xFFFF;
19 final int AccCatchesExceptions = 0x10000; // bit17
20 final int AccThrowsExceptions = 0x20000; // bit18 - also IConstants.AccSynthetic
21 final int AccProblem = 0x40000; // bit19
22 final int AccFromClassFile = 0x80000; // bit20
23 final int AccIsConstantValue = 0x80000; // bit20
24 final int AccDefaultAbstract = 0x80000; // bit20
25 // bit21 - IConstants.AccDeprecated
26 final int AccDeprecatedImplicitly = 0x200000; // bit22 to record whether deprecated itself or contained by a deprecated type
27 final int AccAlternateModifierProblem = 0x400000; // bit23
28 final int AccModifierProblem = 0x800000; // bit24
29 final int AccSemicolonBody = 0x1000000; // bit25
30 final int AccUnresolved = 0x2000000; // bit26
31 final int AccClearPrivateModifier = 0x4000000; // bit27 might be requested during private access emulation
32 final int AccBlankFinal = 0x4000000; // bit27 for blank final variables
33 final int AccPrivateUsed = 0x8000000; // bit28 used to diagnose unused private members
34 final int AccVisibilityMASK = AccPublic | AccProtected | AccPrivate;
36 final int AccOverriding = 0x10000000; // bit29 to record fact a method overrides another one
37 final int AccImplementing = 0x20000000; // bit30 to record fact a method implements another one (it is concrete and overrides an abstract one)