/******************************************************************************* * Copyright (c) 2000, 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-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 long IsArrayType = ASTNode.Bit1; long IsBaseType = ASTNode.Bit2; long IsNestedType = ASTNode.Bit3; long IsMemberType = ASTNode.Bit4; long MemberTypeMask = IsNestedType | IsMemberType; long IsLocalType = ASTNode.Bit5; long LocalTypeMask = IsNestedType | IsLocalType; long IsAnonymousType = ASTNode.Bit6; long AnonymousTypeMask = LocalTypeMask | IsAnonymousType; long IsBinaryBinding = ASTNode.Bit7; long HasInconsistentHierarchy = ASTNode.Bit8; // for binary type binding only // for the type cycle hierarchy check used by ClassScope long BeginHierarchyCheck = ASTNode.Bit9; // type long EndHierarchyCheck = ASTNode.Bit10; // type long ContainsNestedTypesInSignature = ASTNode.Bit10; // method // test bit to see if default abstract methods were computed long KnowsDefaultAbstractMethods = ASTNode.Bit11; // type long IsArgument = ASTNode.Bit11; // local long ClearPrivateModifier = ASTNode.Bit11; // constructor binding // test bits to see if parts of binary types are faulted long AreFieldsSorted = ASTNode.Bit13; long AreFieldsComplete = ASTNode.Bit14; // sorted and all resolved long AreMethodsSorted = ASTNode.Bit15; long AreMethodsComplete = ASTNode.Bit16; // sorted and all resolved // test bit to avoid asking a type for a member type (includes inherited member types) long HasNoMemberTypes = ASTNode.Bit17; // test bit to identify if the type's hierarchy is inconsistent long HierarchyHasProblems = ASTNode.Bit18; // used by BinaryTypeBinding long HasUnresolvedTypeVariables = ASTNode.Bit25; long HasUnresolvedSuperclass = ASTNode.Bit26; long HasUnresolvedSuperinterfaces = ASTNode.Bit27; long HasUnresolvedEnclosingType = ASTNode.Bit28; long HasUnresolvedMemberTypes = ASTNode.Bit29; long DefaultValueResolved = ASTNode.Bit52L; // set when type contains non-private constructor(s) long HasNonPrivateConstructor = ASTNode.Bit53L; long IsConstructor = ASTNode.Bit54L; long IsInferredJsDocType = ASTNode.Bit55L; long IsInferredType = ASTNode.Bit56L; long IsObjectLiteralType = ASTNode.Bit57L; }