/******************************************************************************* | |
* Copyright (c) 2000, 2004 IBM Corporation and others. | |
* All rights reserved. This program and the accompanying materials | |
* are made available under the terms of the Common Public License v1.0 | |
* which accompanies this distribution, and is available at | |
* http://www.eclipse.org/legal/cpl-v10.html | |
* | |
* Contributors: | |
* IBM Corporation - initial API and implementation | |
*******************************************************************************/ | |
package org.eclipse.wst.jsdt.internal.compiler.lookup; | |
import org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode; | |
public interface TagBits { | |
// Tag bits in the tagBits int of every TypeBinding | |
final int IsArrayType = ASTNode.Bit1; | |
final int IsBaseType = ASTNode.Bit2; | |
final int IsNestedType = ASTNode.Bit3; | |
final int IsMemberType = ASTNode.Bit4; | |
final int MemberTypeMask = IsNestedType | IsMemberType; | |
final int IsLocalType = ASTNode.Bit5; | |
final int LocalTypeMask = IsNestedType | IsLocalType; | |
final int IsAnonymousType = ASTNode.Bit6; | |
final int AnonymousTypeMask = LocalTypeMask | IsAnonymousType; | |
final int IsBinaryBinding = ASTNode.Bit7; | |
// for the type hierarchy check used by ClassScope | |
final int BeginHierarchyCheck = ASTNode.Bit9; | |
final int EndHierarchyCheck = ASTNode.Bit10; | |
// test bit to see if default abstract methods were computed | |
final int KnowsDefaultAbstractMethods = ASTNode.Bit11; | |
// Reusable bit currently used by Scopes | |
final int InterfaceVisited = ASTNode.Bit12; | |
// test bits to see if parts of binary types are faulted | |
final int AreFieldsComplete = ASTNode.Bit13; | |
final int AreMethodsComplete = ASTNode.Bit14; | |
// test bit to avoid asking a type for a member type (includes inherited member types) | |
final int HasNoMemberTypes = ASTNode.Bit15; | |
// test bit to identify if the type's hierarchy is inconsistent | |
final int HierarchyHasProblems = ASTNode.Bit16; | |
// set for parameterized type NOT of the form X<?,?> | |
final int IsBoundParameterizedType = ASTNode.Bit24; | |
// used by BinaryTypeBinding | |
final int HasUnresolvedTypeVariables = ASTNode.Bit25; | |
final int HasUnresolvedSuperclass = ASTNode.Bit26; | |
final int HasUnresolvedSuperinterfaces = ASTNode.Bit27; | |
final int HasUnresolvedEnclosingType = ASTNode.Bit28; | |
final int HasUnresolvedMemberTypes = ASTNode.Bit29; | |
final int HasTypeVariable = ASTNode.Bit30; // set either for type variables (direct) or parameterized types indirectly referencing type variables | |
final int HasWildcard = ASTNode.Bit31; // set either for wildcards (direct) or parameterized types indirectly referencing wildcards | |
} |