## Uses of Interface
org.eclipse.wst.jsdt.core.ast.IASTNode

Packages that use IASTNode
org.eclipse.wst.jsdt.core.ast
org.eclipse.wst.jsdt.core.infer
org.eclipse.wst.jsdt.internal.compiler.ast

### Uses of IASTNode in org.eclipse.wst.jsdt.core.ast

Subinterfaces of IASTNode in org.eclipse.wst.jsdt.core.ast
`interface` `IAbstractFunctionDeclaration` Abstract representation of a Function declaration.
`interface` `IAbstractVariableDeclaration` Abstract representation of a var.
`interface` `IAND_AND_Expression` Representation of a && expression This interface is not intended to be implemented by clients.
`interface` `IArgument` Representation of a function argument This interface is not intended to be implemented by clients.
`interface` `IArrayAllocationExpression` This interface is not intended to be implemented by clients.
`interface` `IArrayInitializer` representation of an array initializer This interface is not intended to be implemented by clients.
`interface` `IArrayQualifiedTypeReference` This interface is not intended to be implemented by clients.
`interface` `IArrayReference` Representation of an array reference This interface is not intended to be implemented by clients.
`interface` `IArrayTypeReference` This interface is not intended to be implemented by clients.
`interface` `IAssignment` Representation of an assignment expression
`interface` `IBinaryExpression` Representation of binary expressions This interface is not intended to be implemented by clients.
`interface` `IBlock` Representation of blocks of statements.
`interface` `IBranchStatement` Representation of a branch statement.
`interface` `IBreakStatement` Representation of a break statment.
`interface` `ICaseStatement` Representation of a case statement.
`interface` `ICombinedBinaryExpression` Representation of binary expression.
`interface` `ICompoundAssignment` Representation of a compound assigment.
`interface` `IConditionalExpression` Representation of a conditional expression.
`interface` `IConstructorDeclaration` Representation of a constructor declaration.
`interface` `IContinueStatement` Representation of a continue statement.
`interface` `IDebuggerStatement` Representation of a debugger statement (debugger;).
`interface` `IDoStatement` Representation of a do statement.
`interface` `IDoubleLiteral` This interface is not intended to be implemented by clients.
`interface` `IEmptyExpression` Representation of an empty expression.
`interface` `IEmptyStatement` Representation of an empty statement (;).
`interface` `IEqualExpression` Representation of = expression.
`interface` `IExplicitConstructorCall` Representation of constructor call.
`interface` `IExpression` Abstract base class for expression elements.
`interface` `IExtendedStringLiteral` Representation of a string literal.
`interface` `IFalseLiteral` Representation of the false literal.
`interface` `IFieldDeclaration` This interface is not intended to be implemented by clients.
`interface` `IFieldReference` Representation of a field reference.
`interface` `IForeachStatement` This interface is not intended to be implemented by clients.
`interface` `IForInStatement` Representation of for .. in statement.
`interface` `IForStatement` Representation of a for statement.
`interface` `IFunctionCall` Representation of a function call.
`interface` `IFunctionDeclaration` Representation of a function declaration.
`interface` `IFunctionExpression` Representation of a function expression ( function (){}).
`interface` `IIfStatement` Representation of an if statement.
`interface` `IImportReference` This interface is not intended to be implemented by clients.
`interface` `IInitializer` This interface is not intended to be implemented by clients.
`interface` `IInstanceOfExpression` This interface is not intended to be implemented by clients.
`interface` `IIntLiteral` This interface is not intended to be implemented by clients.
`interface` `IIntLiteralMinValue` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IJsDoc` Representation of a jsdoc comment.
`interface` `IJsDocArgumentExpression` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IJsDocArrayQualifiedTypeReference` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IJsDocArraySingleTypeReference` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IJsDocFieldReference` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IJsDocImplicitTypeReference` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IJsDocMessageSend` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IJsDocQualifiedTypeReference` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IJsDocReturnStatement` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IJsDocSingleNameReference` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IJsDocSingleTypeReference` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `ILabeledStatement` Representation of a labeled statement.
`interface` `IListExpression` Representation of list expression.
`interface` `ILiteral` Abstract base class for literals.
`interface` `ILocalDeclaration` Representation of a local var declaration.
`interface` `IMagicLiteral` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `INameReference` Abstract base class for references.
`interface` `INullLiteral` Representation of the null literal.
`interface` `INumberLiteral` Representation of a numeric literal.
`interface` `IObjectLiteral` Representation of an Object literal.
`interface` `IObjectLiteralField` Representation of an object literal field.
`interface` `IOperatorExpression` Representation of an Operator expression.
`interface` `IOR_OR_Expression` Representation of an or or (||) expression.
`interface` `IPostfixExpression` Representation of a postfix expression.
`interface` `IPrefixExpression` Representation of a prefix expression.
`interface` `IProgramElement` Abstract base class for most AST nodes.
`interface` `IQualifiedNameReference` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IQualifiedThisReference` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IQualifiedTypeReference` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`interface` `IReference` Abstract base class for references.
`interface` `IRegExLiteral` Representation of a regular expression literal.
`interface` `IReturnStatement` Representation of a return statement.
`interface` `IScriptFileDeclaration` Representation of javascript file.
`interface` `ISingleNameReference` Representation of name reference.
`interface` `ISingleTypeReference` This interface is not intended to be implemented by clients.
`interface` `IStatement` Abstract base for statements.
`interface` `IStringLiteral` Representation of a string literal.
`interface` `IStringLiteralConcatenation` Representation of a string literal.
`interface` `ISubRoutineStatement` This interface is not intended to be implemented by clients.
`interface` `ISuperReference` This interface is not intended to be implemented by clients.
`interface` `ISwitchStatement` Representation of a switch statement.
`interface` `IThisReference` Representation of a 'this' reference .
`interface` `IThrowStatement` Representation of a throw statement.
`interface` `ITrueLiteral` Representation of the 'true' literal.
`interface` `ITryStatement` Representation of a try statement.
`interface` `ITypeDeclaration` This interface is not intended to be implemented by clients.
`interface` `ITypeReference` This interface is not intended to be implemented by clients.
`interface` `IUnaryExpression` Representation of a unary expression.
`interface` `IUndefinedLiteral` Representation of a the 'undefined' literal.
`interface` `IWhileStatement` Representation of a while statement.
`interface` `IWithStatement` Representation of the with statement.

### Uses of IASTNode in org.eclipse.wst.jsdt.core.infer

Classes in org.eclipse.wst.jsdt.core.infer that implement IASTNode
`class` `InferredAttribute` This represents an inferred attribute.
`class` `InferredMember` Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `InferredMethod` This represents an inferred method Provisional API: This class/interface is part of an interim API that is still under development and expected to change significantly before reaching stability.
`class` `InferredType` The representation of an inferred type.

Methods in org.eclipse.wst.jsdt.core.infer with parameters of type IASTNode
`InferredAttribute` InferredType.`addAttribute(char[] name, IASTNode definer, int nameStart)` Add a new inferred attribute to the inferred type
`protected InferredType` InferEngine.`createAnonymousType(IASTNode forNode, InferredType parrentType)` Creates an anonymous type for a given node with an optional parent type.
`protected static char[]` InferEngine.`createAnonymousTypeName(IASTNode node)` Creates an anonymous type name for the given `IASTNode`
`InferredAttribute` InferredType.`replaceAttribute(char[] name, IASTNode definer, int nameStart)` Adds a new inferred attribute to the inferred type if it doesn't already exist otherwise it replaces the existing one with the new one.

Constructors in org.eclipse.wst.jsdt.core.infer with parameters of type IASTNode
Constructor and Description
`InferredAttribute(char[] name, InferredType inferredType, IASTNode definer)`

### Uses of IASTNode in org.eclipse.wst.jsdt.internal.compiler.ast

Classes in org.eclipse.wst.jsdt.internal.compiler.ast with annotations of type with type parameters of type that implement declared as with annotations of type with type parameters of type with annotations of type with annotations of type with type parameters of type that return that return types with arguments of type with parameters of type with type arguments of type that throw with annotations of type with annotations of type with parameters of type with type arguments of type that throw IASTNode
`class` `org.eclipse.wst.jsdt.internal.compiler.ast.ASTNode` Deprecated.