added -J option to preserve unmodified files in preexisting jarfile
[org.ibex.tool.git] / src / org / eclipse / jdt / internal / compiler / lookup / CompilerModifiers.java
1 /*******************************************************************************
2  * Copyright (c) 2000, 2004 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 org.eclipse.jdt.internal.compiler.lookup;
12
13 import org.eclipse.jdt.internal.compiler.ast.ASTNode;
14 import org.eclipse.jdt.internal.compiler.classfmt.ClassFileConstants;
15
16 public interface CompilerModifiers extends ClassFileConstants { // modifier constant
17         // those constants are depending upon ClassFileConstants (relying that classfiles only use the 16 lower bits)
18         final int AccDefault = 0;
19         final int AccJustFlag = // 16 lower bits
20                 ASTNode.Bit1|ASTNode.Bit2|ASTNode.Bit3|ASTNode.Bit4|ASTNode.Bit5|ASTNode.Bit6|ASTNode.Bit7|ASTNode.Bit8|
21                         ASTNode.Bit9|ASTNode.Bit10|ASTNode.Bit11|ASTNode.Bit12|ASTNode.Bit13|ASTNode.Bit14|ASTNode.Bit15|ASTNode.Bit16;
22
23         // bit17 - free
24         // bit18 - IConstants.AccAnnotationDefault
25         final int AccRestrictedAccess = ASTNode.Bit19; 
26         final int AccFromClassFile = ASTNode.Bit20; 
27         final int AccDefaultAbstract = ASTNode.Bit20; 
28         // bit21 - IConstants.AccDeprecated
29         final int AccDeprecatedImplicitly = ASTNode.Bit22; // record whether deprecated itself or contained by a deprecated type
30         final int AccAlternateModifierProblem = ASTNode.Bit23; 
31         final int AccModifierProblem = ASTNode.Bit24; 
32         final int AccSemicolonBody = ASTNode.Bit25; 
33         final int AccUnresolved = ASTNode.Bit26; 
34         final int AccClearPrivateModifier = ASTNode.Bit27; // might be requested during private access emulation
35         final int AccBlankFinal = ASTNode.Bit27; // for blank final variables
36         final int AccIsDefaultConstructor = ASTNode.Bit27; // for default constructor
37         final int AccPrivateUsed = ASTNode.Bit28; // used to diagnose unused private members
38         final int AccVisibilityMASK = AccPublic | AccProtected | AccPrivate;
39         
40         final int AccOverriding = ASTNode.Bit29; // record fact a method overrides another one
41         final int AccImplementing = ASTNode.Bit30; // record fact a method implements another one (it is concrete and overrides an abstract one)
42         final int AccGenericSignature = ASTNode.Bit31; // record fact a type/method/field involves generics in its signature (and need special signature attr)
43 }