synchronized from quantum plugin
[phpeclipse.git] / net.sourceforge.phpeclipse / src / net / sourceforge / phpdt / internal / compiler / lookup / CompilerModifiers.java
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
7  * 
8  * Contributors:
9  *     IBM Corporation - initial API and implementation
10  *******************************************************************************/
11 package net.sourceforge.phpdt.internal.compiler.lookup;
12
13 import net.sourceforge.phpdt.internal.compiler.env.IConstants;
14
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;
35         
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)
38 }