org.eclipse.wst.jsdt.core.infer

## Class InferredAttribute

- java.lang.Object
- - org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode
  - - org.eclipse.wst.jsdt.core.infer.InferredMember
    - - org.eclipse.wst.jsdt.core.infer.InferredAttribute

All Implemented Interfaces:
  IASTNode, org.eclipse.wst.jsdt.internal.compiler.lookup.TypeConstants, org.eclipse.wst.jsdt.internal.compiler.lookup.TypeIds

    public class InferredAttribute
    extends InferredMember

This represents an inferred attribute. Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability. It is being made available at this early stage to solicit feedback from pioneering adopters on the understanding that any code that uses this API will almost certainly be broken (repeatedly) as the API evolves.

### Field Summary

Fields
`org.eclipse.wst.jsdt.internal.compiler.lookup.FieldBinding` `binding`
`int` `initializationStart`
`int` `modifiers`
`org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode` `node`
`InferredType` `type` The type of this attribute

### Fields inherited from class org.eclipse.wst.jsdt.core.infer.InferredMember

`inType, isStatic, name, nameStart`

### Fields inherited from class org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode

`Bit1, Bit10, Bit11, Bit12, Bit13, Bit14, Bit15, Bit16, Bit17, Bit18, Bit19, Bit2, Bit20, Bit21, Bit22, Bit23, Bit24, Bit25, Bit26, Bit27, Bit28, Bit29, Bit3, Bit30, Bit31, Bit32, Bit32L, Bit33L, Bit34L, Bit35L, Bit36L, Bit37L, Bit38L, Bit39L, Bit4, Bit40L, Bit41L, Bit42L, Bit43L, Bit44L, Bit45L, Bit46L, Bit47L, Bit48L, Bit49L, Bit5, Bit50L, Bit51L, Bit52L, Bit53L, Bit54L, Bit55L, Bit56L, Bit57L, Bit58L, Bit59L, Bit6, Bit60L, Bit61L, Bit62L, Bit63L, Bit64L, Bit7, Bit8, Bit9, bits, BlockExit, ContainsAssertion, DepthMASK, DepthSHIFT, DidResolve, DiscardEnclosingInstance, DocumentedFallthrough, Empty, ErrorInSignature, FirstAssignmentToLocal, HasAbstractMethods, HasAllMethodBodies, HasBeenGenerated, HasBeenResolved, HasLocalType, IgnoreNoEffectAssignCheck, IgnoreRawTypeCheck, InsideJavadoc, INVOCATION_ARGUMENT_OK, INVOCATION_ARGUMENT_UNCHECKED, IsAnonymousType, IsAnySubRoutineEscaping, IsCompoundAssigned, IsDefaultConstructor, IsElseIfStatement, IsFileImport, IsImplicitThis, IsImplicitUnit, IsInferredJsDocType, IsInferredType, IsLocalDeclarationReachable, IsLocalType, IsMemberType, IsNonNull, IsReachable, IsReturnedValue, IsSecondaryType, IsStrictlyAssigned, IsSubRoutineEscaping, IsSuperType, IsTryBlockExiting, IsUsefulEmptyStatement, IsVarArgs, LabelUsed, NeededScope, NeedFreeReturn, OnDemand, OperatorMASK, OperatorSHIFT, OverridingMethodWithSupercall, ParenthesizedMASK, ParenthesizedSHIFT, RestrictiveFlagMASK, ReturnTypeIDMASK, sourceEnd, sourceStart, SuperAccess, ThenExit, UndocumentedEmptyBlock, Used`

### Fields inherited from interface org.eclipse.wst.jsdt.internal.compiler.lookup.TypeConstants

`ANONYM_PREFIX, ANONYM_SUFFIX, ANY, ARRAY, BOOLEAN, BOOLEAN_OBJECT, CHAR, CharArray_JAVA_LANG_OBJECT, CLINIT, CONSTRAINT_EQUAL, CONSTRAINT_EXTENDS, CONSTRAINT_SUPER, DOUBLE, ERROR, FLOAT, FUNCTION, GETCLASS, INIT, INT, JAVA, JAVA_LANG, JAVA_LANG_ASSERTIONERROR, JAVA_LANG_BOOLEAN, JAVA_LANG_CHARACTER, JAVA_LANG_CLASS, JAVA_LANG_DOUBLE, JAVA_LANG_ERROR, JAVA_LANG_EXCEPTION, JAVA_LANG_FLOAT, JAVA_LANG_ILLEGALARGUMENTEXCEPTION, JAVA_LANG_INTEGER, JAVA_LANG_ITERABLE, JAVA_LANG_LONG, JAVA_LANG_OBJECT, JAVA_LANG_RUNTIMEEXCEPTION, JAVA_LANG_SHORT, JAVA_LANG_STRING, JAVA_LANG_SYSTEM, JAVA_LANG_THROWABLE, JAVA_LANG_VOID, LANG, LENGTH, LONG, MISMATCH, NULL, NUMBER, OBJECT, OK, PACKAGE_INFO_NAME, PROTOTYPE, READOBJECT, READRESOLVE, REFLECT, REGEXP, SHORT, SYSTEMJS, TYPE, UNCHECKED, UNDEFINED, UPPER_CLASS, UPPER_CONSTRUCTOR, UPPER_FIELD, UPPER_LOCAL_VARIABLE, UPPER_METHOD, UPPER_PACKAGE, UPPER_PARAMETER, UPPER_RUNTIME, UPPER_SOURCE, UTIL, VALUE, VALUEOF, VALUES, VOID, WRITEOBJECT, WRITEREPLACE`

### Fields inherited from interface org.eclipse.wst.jsdt.internal.compiler.lookup.TypeIds

`Boolean2Boolean, Boolean2Int, Boolean2String, BOXING, Char2Char, Char2Double, Char2Float, Char2Int, Char2Long, Char2Short, Char2String, COMPILE_TYPE_MASK, Double2Char, Double2Double, Double2Float, Double2Int, Double2Long, Double2Short, Double2String, Float2Char, Float2Double, Float2Float, Float2Int, Float2Long, Float2Short, Float2String, IMPLICIT_CONVERSION_MASK, Int2Char, Int2Double, Int2Float, Int2Int, Int2Long, Int2Short, Int2String, Long2Char, Long2Double, Long2Float, Long2Int, Long2Long, Long2Short, Long2String, NoId, Null2String, Object2Object, Object2String, Short2Char, Short2Double, Short2Float, Short2Int, Short2Long, Short2Short, Short2String, String2String, T_any, T_boolean, T_char, T_double, T_float, T_function, T_int, T_JavaLangAssertionError, T_JavaLangBoolean, T_JavaLangCharacter, T_JavaLangClass, T_JavaLangClassNotFoundException, T_JavaLangDeprecated, T_JavaLangDouble, T_JavaLangError, T_JavaLangException, T_JavaLangFloat, T_JavaLangIllegalArgumentException, T_JavaLangInteger, T_JavaLangIterable, T_JavaLangLong, T_JavaLangNoClassDefError, T_JavaLangObject, T_JavaLangOverride, T_JavaLangRuntimeException, T_JavaLangShort, T_JavaLangString, T_JavaLangStringBuffer, T_JavaLangStringBuilder, T_JavaLangSuppressWarnings, T_JavaLangSystem, T_JavaLangThrowable, T_JavaLangVoid, T_JavaUtilIterator, T_last_basic, T_long, T_null, T_short, T_undefined, T_void, UNBOXING`

### Fields inherited from interface org.eclipse.wst.jsdt.core.ast.IASTNode

`ABSTRACT_FUNCTION_DECLARATION, ABSTRACT_VARIABLE_DECLARATION, ALLOCATION_EXPRESSION, AND_AND_EXPRESSION, ARGUMENT, ARRAY_ALLOCATION_EXPRESSION, ARRAY_INITIALIZER, ARRAY_QUALIFIED_TYPE_REFERENCE, ARRAY_REFERENCE, ARRAY_TYPE_REFERENCE, ASSIGNMENT, AST_NODE, BINARY_EXPRESSION, BLOCK, BRANCH_STATEMENT, BREAK_STATEMENT, CASE_STATEMENT, CHAR_LITERAL, CL_INIT, CLASS_LITERAL_ACCESS, COMBINED_BINARY_EXPRESSION, COMPOUND_ASSIGNMENT, CONDITIONAL_EXPRESSION, CONSTRUCTOR_DECLARATION, CONTINUE_STATEMENT, DO_STATEMENT, DOUBLE_LITERAL, EMPTY_EXPRESSION, EMPTY_STATEMENT, EQUAL_EXPRESSION, EXPLICIT_CONSTRUCTOR_CALL, EXPRESSION, EXTENDED_STRING_LITERAL, FALSE_LITERAL, FIELD_DECLARATION, FIELD_REFERENCE, FLOAT_LITERAL, FOR_EACH_STATEMENT, FOR_IN_STATEMENT, FOR_STATEMENT, FUNCTION_CALL, FUNCTION_DECLARATION, FUNCTION_EXPRESSION, IF_STATEMENT, IMPORT_REFERENCE, INITIALIZER, INSTANCEOF_EXPRESSION, INT_LITERAL, INT_LITERAL_MIN_VALUE, JSDOC, JSDOC_ALLOCATION_EXPRESSION, JSDOC_ARGUMENTEXPRESSION, JSDOC_ARRAY_QUALIFIED_TYPE_REFERENCE, JSDOC_ARRAY_SINGLE_TYPE_REFERENCE, JSDOC_FIELD_REFERENCE, JSDOC_IMPLICIT_TYPE_REFERENCE, JSDOC_MESSAGE_SEND, JSDOC_QUALIFIED_TYPE_REFERENCE, JSDOC_RETURN_STATEMENT, JSDOC_SINGLE_NAME_REFERENCE, JSDOC_SINGLE_TYPE_REFERENCE, LABELED_STATEMENT, LIST_EXPRESSION, LITERAL, LOCAL_DECLARATION, LONG_LITERAL, LONG_LITERAL_MIN_VALUE, MAGIC_LITERAL, NAME_REFERENCE, NULL_LITERAL, NUMBER_LITERAL, OBJECT_GETTER_SETTER_FIELD, OBJECT_LITERAL, OBJECT_LITERAL_FIELD, OPERATOR_EXPRESSION, OR_OR_EXPRESSION, PARAMETERIZED_QUALIFIED_TYPE_REFERENCE, PARAMETERIZED_SINGLE_TYPE_REFERENCE, POSTFIX_EXPRESSION, PREFIX_EXPRESSION, PROGRAM_ELEMENT, QUALIFIED_ALLOCATION_EXPRESSION, QUALIFIED_NAME_REFERENCE, QUALIFIED_SUPER_REFERENCE, QUALIFIED_THIS_REFERENCE, QUALIFIED_TYPE_REFERENCE, REFERENCE, REG_EX_LITERAL, RETURN_STATEMENT, SCRIPT_FILE_DECLARATION, SINGLE_NAME_REFERENCE, SINGLE_TYPE_REFERENCE, STATEMENT, STRING_LITERAL, STRING_LITERAL_CONCATENATION, SUB_ROUTINE_STATEMENT, SUPER_REFERENCE, SWITCH_STATEMENT, THIS_REFERENCE, THROW_STATEMENT, TRUE_LITERAL, TRY_STATEMENT, TYPE_DECLARATION, TYPE_PARAMETER, TYPE_REFERENCE, UNARY_EXPRESSION, UNDEFINED_LITERAL, WHILE_STATEMENT, WITH_STATEMENT`

### Constructor Summary

Constructors
Constructor and Description
`InferredAttribute(char[] name, InferredType inferredType, IASTNode definer)`
`InferredAttribute(char[] name, InferredType inType, int start, int end)` Creates an attribute with this name in the given inferred type.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `isType()`
`java.lang.StringBuffer` `print(int indent, java.lang.StringBuffer output)`
`void` `setIsType(boolean isType)`

### Methods inherited from class org.eclipse.wst.jsdt.core.infer.InferredMember

`isInferred`

### Methods inherited from class org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode

`checkInvocationArguments, concreteStatement, getASTType, isFieldUseDeprecated, isImplicitThis, isMethodUseDeprecated, isSuper, isThis, isTypeUseDeprecated, printIndent, printModifiers, setSourceEnd, sourceEnd, sourceStart, toString, traverse, traverse`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Field Detail

#### binding

    public org.eclipse.wst.jsdt.internal.compiler.lookup.FieldBinding binding

#### initializationStart

    public int initializationStart

#### type

    public InferredType type

The type of this attribute

#### node

    public org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode node

#### modifiers

    public int modifiers

### Constructor Detail

#### InferredAttribute

    public InferredAttribute(char[] name,
                             InferredType inType,
                             int start,
                             int end)

Creates an attribute with this name in the given inferred type. This method is discouraged in favor of supplying the ASTNode which declared the attribute.

#### InferredAttribute

    public InferredAttribute(char[] name,
                             InferredType inferredType,
                             IASTNode definer)

Parameters:
  `name` -
  `inferredType` - the type to which this attribute belongs
  `definer` -

### Method Detail

#### print

    public java.lang.StringBuffer print(int indent,
                                        java.lang.StringBuffer output)

Specified by:
  `print` in class `org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode`

#### setIsType

    public void setIsType(boolean isType)

Parameters:
  `isType` - `true` if this attribute is actually a type, rather then the instance of a type. `false` if this attribute is an instance of a type rather then the type itself.

#### isType

    public boolean isType()

Returns:
  `true` if this attribute is actually a type, rather then the instance of a type. `false` if this attribute is an instance of a type rather then the type itself.