org.extendj.ast
node type UnknownType

General Info

Production
UnknownType : ClassDecl;
Type Hierarchy:
java.lang.Object
  extended by beaver.Symbol
      extended by org.extendj.ast.ASTNode<ASTNode>
          extended by org.extendj.ast.TypeDecl
              extended by org.extendj.ast.ReferenceType
                  extended by org.extendj.ast.ClassDecl
                      extended by org.extendj.ast.UnknownType
All Implemented Interfaces:
java.lang.Cloneable, java.lang.Iterable<ASTNode>, java.util.Iterator, org.jastadd.util.PrettyPrintable
static class SimpleSet.SimpleSetImpl
           

Description

Source
Declared in /home/jesper/git/extendj/java4/grammar/Java.ast at line 47

Member Filters

API level:

Aspect:

Constructors

public UnknownType()
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 1
public UnknownType(Modifiers p0,
                   java.lang.String p1,
                   Opt<Access> p2,
                   List<Access> p3,
                   List<BodyDecl> p4)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 17
public UnknownType(Modifiers p0,
                   beaver.Symbol p1,
                   Opt<Access> p2,
                   List<Access> p3,
                   List<BodyDecl> p4)
 
Source
Declared in /home/jesper/git/extendj/ASTNode at line 24

Attributes

@ASTNodeAnnotation.Attribute
syn boolean accessibleFromPackage(java.lang.String packageName)
Overrides:accessibleFromPackage in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/AccessControl.jrag at line 36
Aspect
AccessControl
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.SimpleSet asSet()
Overrides:asSet in class TypeDecl
Returns:
a set containing this type, unless this is the unknown type in which case an empty set is returned
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupType.jrag at line 300
Aspect
TypeScopePropagation
@ASTNodeAnnotation.Attribute
syn org.extendj.ast.SimpleSet memberTypes(java.lang.String name)
Overrides:memberTypes in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/LookupType.jrag at line 619
Aspect
TypeScopePropagation
Overrides:isReferenceType in class ReferenceType
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 187
Aspect
TypeAnalysis
Overrides:isPrimitiveType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 190
Aspect
TypeAnalysis
Overrides:isNumericType in class ReferenceType
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 195
Aspect
TypeAnalysis
Overrides:isIntegralType in class ReferenceType
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 199
Aspect
TypeAnalysis
Overrides:isBoolean in class ReferenceType
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 203
Aspect
TypeAnalysis
Overrides:isInt in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 213
Aspect
TypeAnalysis
Overrides:isUnknown in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 254
Aspect
TypeAnalysis
Overrides:instanceOf in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 442
Aspect
TypeWideningAndIdentity
Overrides:isSupertypeOfClassDecl in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 458
Aspect
TypeWideningAndIdentity
Overrides:isSupertypeOfInterfaceDecl in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 478
Aspect
TypeWideningAndIdentity
Overrides:isSupertypeOfArrayDecl in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 493
Aspect
TypeWideningAndIdentity
Overrides:isSupertypeOfPrimitiveType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 519
Aspect
TypeWideningAndIdentity
Overrides:isSupertypeOfNullType in class ReferenceType
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 527
Aspect
TypeWideningAndIdentity
Overrides:typeDescriptor in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java4/backend/ConstantPoolNames.jrag at line 77
Aspect
ConstantPoolNames
Overrides:unaryNumericPromotion in class ReferenceType
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 167
Aspect
NumericPromotion
Overrides:binaryNumericPromotion in class ReferenceType
Source
Declared in /home/jesper/git/extendj/java4/frontend/TypeAnalysis.jrag at line 175
Aspect
NumericPromotion
@ASTNodeAnnotation.Attribute
syn boolean withinBounds(TypeDecl bound,
                                                 org.extendj.ast.Parameterization par)
Overrides:withinBounds in class TypeDecl
Parameters:
bound - the bounded type variable
par - a parameterization of the type for which the type variable occurs in the type parameter list
Returns:
true if this type is within the bounds of the parameter type
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericBoundCheck.jrag at line 42
Aspect
GenericBoundCheck
Overrides:supertypeClassDecl in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 448
Aspect
GenericsSubtype
Overrides:supertypeInterfaceDecl in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 465
Aspect
GenericsSubtype
Overrides:supertypeArrayDecl in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 480
Aspect
GenericsSubtype
Overrides:supertypePrimitiveType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 506
Aspect
GenericsSubtype
Overrides:supertypeNullType in class ReferenceType
Source
Declared in /home/jesper/git/extendj/java5/frontend/GenericsSubtype.jrag at line 514
Aspect
GenericsSubtype
Overrides:strictSupertypeClassDecl in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 370
Aspect
StrictSubtype
Overrides:strictSupertypeInterfaceDecl in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 390
Aspect
StrictSubtype
Overrides:strictSupertypeArrayDecl in class ClassDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 407
Aspect
StrictSubtype
Overrides:strictSupertypePrimitiveType in class TypeDecl
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 437
Aspect
StrictSubtype
Overrides:strictSupertypeNullType in class ReferenceType
Source
Declared in /home/jesper/git/extendj/java8/frontend/GenericsSubtype.jrag at line 446
Aspect
StrictSubtype

Methods

public void init$Children()
Initializes the child array to the correct size. Initializes List and Opt nta children.
Overrides:init$Children in class ClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 10
protected int numChildren()
Overrides:numChildren in class ClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 34
public boolean mayHaveRewrite()
Overrides:mayHaveRewrite in class ClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 40
public void flushAttrCache()
Overrides:flushAttrCache in class ClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 46
public void flushCollectionCache()
Overrides:flushCollectionCache in class ClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 58
public void flushRewriteCache()
Overrides:flushRewriteCache in class ClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 64
public UnknownType clone()
                  throws java.lang.CloneNotSupportedException
Overrides:clone in class ClassDecl
Throws:
java.lang.CloneNotSupportedException
Source
Declared in /home/jesper/git/extendj/ASTNode at line 70
public UnknownType copy()
Overrides:copy in class ClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 77
@Deprecated
public UnknownType fullCopy()
Deprecated. Please use treeCopy or treeCopyNoTransform instead

Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.

Overrides:fullCopy in class ClassDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 96
public UnknownType treeCopyNoTransform()
Create a deep copy of the AST subtree at this node. The copy is dangling, i.e. has no parent.
Overrides:treeCopyNoTransform in class ClassDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 106
public UnknownType treeCopy()
Create a deep copy of the AST subtree at this node. The subtree of this node is traversed to trigger rewrites before copy. The copy is dangling, i.e. has no parent.
Overrides:treeCopy in class ClassDecl
Returns:
dangling copy of the subtree at this node
Source
Declared in /home/jesper/git/extendj/ASTNode at line 131
protected boolean is$Equal(ASTNode node)
Overrides:is$Equal in class ClassDecl
Source
Declared in /home/jesper/git/extendj/ASTNode at line 138
public void setModifiers(Modifiers node)
Replaces the Modifiers child.
Overrides:setModifiers in class ClassDecl
Parameters:
node - The new node to replace the Modifiers child.
Retrieves the Modifiers child.
Overrides:getModifiers in class ClassDecl
Returns:
The current node used as the Modifiers child.
Retrieves the Modifiers child.

This method does not invoke AST transformations.

Overrides:getModifiersNoTransform in class ClassDecl
Returns:
The current node used as the Modifiers child.
public void setID(java.lang.String value)
Replaces the lexeme ID.
Overrides:setID in class ClassDecl
Parameters:
value - The new value for the lexeme ID.
public void setID(beaver.Symbol symbol)
JastAdd-internal setter for lexeme ID using the Beaver parser.
Overrides:setID in class ClassDecl
Parameters:
symbol - Symbol containing the new value for the lexeme ID
@ASTNodeAnnotation.Token(name="ID")
public java.lang.String getID()
Retrieves the value for the lexeme ID.
Overrides:getID in class ClassDecl
Returns:
The value for the lexeme ID.
public void setSuperClassOpt(Opt<Access> opt)
Replaces the optional node for the SuperClass child. This is the Opt node containing the child SuperClass, not the actual child!
Overrides:setSuperClassOpt in class ClassDecl
Parameters:
opt - The new node to be used as the optional node for the SuperClass child.
public void setSuperClass(Access node)
Replaces the (optional) SuperClass child.
Overrides:setSuperClass in class ClassDecl
Parameters:
node - The new node to be used as the SuperClass child.
public boolean hasSuperClass()
Check whether the optional SuperClass child exists.
Overrides:hasSuperClass in class ClassDecl
Returns:
true if the optional SuperClass child exists, false if it does not.
Retrieves the (optional) SuperClass child.
Overrides:getSuperClass in class ClassDecl
Returns:
The SuperClass child, if it exists. Returns null otherwise.
Retrieves the optional node for the SuperClass child. This is the Opt node containing the child SuperClass, not the actual child!
Overrides:getSuperClassOpt in class ClassDecl
Returns:
The optional node for child the SuperClass child.
Retrieves the optional node for child SuperClass. This is the Opt node containing the child SuperClass, not the actual child!

This method does not invoke AST transformations.

Overrides:getSuperClassOptNoTransform in class ClassDecl
Returns:
The optional node for child SuperClass.
public void setImplementsList(List<Access> list)
Replaces the Implements list.
Overrides:setImplementsList in class ClassDecl
Parameters:
list - The new list node to be used as the Implements list.
public int getNumImplements()
Retrieves the number of children in the Implements list.
Overrides:getNumImplements in class ClassDecl
Returns:
Number of children in the Implements list.
Retrieves the number of children in the Implements list. Calling this method will not trigger rewrites.
Overrides:getNumImplementsNoTransform in class ClassDecl
Returns:
Number of children in the Implements list.
public Access getImplements(int i)
Retrieves the element at index i in the Implements list.
Overrides:getImplements in class ClassDecl
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the Implements list.
public boolean hasImplements()
Check whether the Implements list has any children.
Overrides:hasImplements in class ClassDecl
Returns:
true if it has at least one child, false otherwise.
public void addImplements(Access node)
Append an element to the Implements list.
Overrides:addImplements in class ClassDecl
Parameters:
node - The element to append to the Implements list.
public void addImplementsNoTransform(Access node)
Overrides:addImplementsNoTransform in class ClassDecl
public void setImplements(Access node,
                          int i)
Replaces the Implements list element at index i with the new node node.
Overrides:setImplements in class ClassDecl
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the Implements list.
Overrides:getImplementsList in class ClassDecl
Returns:
The node representing the Implements list.
Retrieves the Implements list.

This method does not invoke AST transformations.

Overrides:getImplementsListNoTransform in class ClassDecl
Returns:
The node representing the Implements list.
Retrieves the Implements list.
Overrides:getImplementss in class ClassDecl
Returns:
The node representing the Implements list.
Retrieves the Implements list.

This method does not invoke AST transformations.

Overrides:getImplementssNoTransform in class ClassDecl
Returns:
The node representing the Implements list.
public void setBodyDeclList(List<BodyDecl> list)
Replaces the BodyDecl list.
Overrides:setBodyDeclList in class ClassDecl
Parameters:
list - The new list node to be used as the BodyDecl list.
public int getNumBodyDecl()
Retrieves the number of children in the BodyDecl list.
Overrides:getNumBodyDecl in class ClassDecl
Returns:
Number of children in the BodyDecl list.
Retrieves the number of children in the BodyDecl list. Calling this method will not trigger rewrites.
Overrides:getNumBodyDeclNoTransform in class ClassDecl
Returns:
Number of children in the BodyDecl list.
public BodyDecl getBodyDecl(int i)
Retrieves the element at index i in the BodyDecl list.
Overrides:getBodyDecl in class ClassDecl
Parameters:
i - Index of the element to return.
Returns:
The element at position i in the BodyDecl list.
public boolean hasBodyDecl()
Check whether the BodyDecl list has any children.
Overrides:hasBodyDecl in class ClassDecl
Returns:
true if it has at least one child, false otherwise.
public void addBodyDecl(BodyDecl node)
Append an element to the BodyDecl list.
Overrides:addBodyDecl in class ClassDecl
Parameters:
node - The element to append to the BodyDecl list.
public void addBodyDeclNoTransform(BodyDecl node)
Overrides:addBodyDeclNoTransform in class ClassDecl
public void setBodyDecl(BodyDecl node,
                        int i)
Replaces the BodyDecl list element at index i with the new node node.
Overrides:setBodyDecl in class ClassDecl
Parameters:
node - The new node to replace the old list element.
i - The list index of the node to be replaced.
Retrieves the BodyDecl list.
Overrides:getBodyDeclList in class ClassDecl
Returns:
The node representing the BodyDecl list.
Retrieves the BodyDecl list.

This method does not invoke AST transformations.

Overrides:getBodyDeclListNoTransform in class ClassDecl
Returns:
The node representing the BodyDecl list.
Retrieves the BodyDecl list.
Overrides:getBodyDecls in class ClassDecl
Returns:
The node representing the BodyDecl list.
Retrieves the BodyDecl list.

This method does not invoke AST transformations.

Overrides:getBodyDeclsNoTransform in class ClassDecl
Returns:
The node representing the BodyDecl list.
Replaces the (optional) ImplicitConstructor child.
Overrides:setImplicitConstructor in class ClassDecl
Parameters:
node - The new node to be used as the ImplicitConstructor child.
public boolean hasImplicitConstructor()
Check whether the optional ImplicitConstructor child exists.
Overrides:hasImplicitConstructor in class ClassDecl
Returns:
true if the optional ImplicitConstructor child exists, false if it does not.
Retrieves the (optional) ImplicitConstructor child.
Overrides:getImplicitConstructor in class ClassDecl
Returns:
The ImplicitConstructor child, if it exists. Returns null otherwise.
Retrieves the optional node for child ImplicitConstructor. This is the Opt node containing the child ImplicitConstructor, not the actual child!

This method does not invoke AST transformations.

Overrides:getImplicitConstructorOptNoTransform in class ClassDecl
Returns:
The optional node for child ImplicitConstructor.
Retrieves the child position of the optional child ImplicitConstructor.
Overrides:getImplicitConstructorOptChildPosition in class ClassDecl
Returns:
The the child position of the optional child ImplicitConstructor.
Overrides:rewriteTo in class ClassDecl
public int size()
public boolean isEmpty()
public boolean contains(java.lang.Object o)
public org.extendj.ast.SimpleSet lookupVariable(java.lang.String name)

Fields

protected java.util.Map accessibleFromPackage_String_values
protected java.util.Map memberTypes_String_values
protected java.util.Map instanceOf_TypeDecl_values
protected boolean typeDescriptor_computed
protected java.lang.String typeDescriptor_value
protected java.util.Map subtype_TypeDecl_values
protected java.util.Map strictSubtype_TypeDecl_values
public static final org.extendj.ast.SimpleSet emptySet
public static final org.extendj.ast.SimpleSet fullSet

Inherited Members

Attributes inherited from org.extendj.ast.ClassDecl

Attributes inherited from org.extendj.ast.ReferenceType

Attributes inherited from org.extendj.ast.TypeDecl

Attributes inherited from org.extendj.ast.ASTNode

Methods inherited from class org.extendj.ast.ClassDecl

Methods inherited from class org.extendj.ast.ReferenceType

Methods inherited from class org.extendj.ast.TypeDecl

Methods inherited from class org.extendj.ast.ASTNode

Methods inherited from class beaver.Symbol

getColumn
getEnd
getId
getLine
getStart
makePosition

Methods inherited from class java.lang.Object

equals
finalize
getClass
hashCode
notify
notifyAll
wait
wait
wait

Fields inherited from org.extendj.ast.ClassDecl

Fields inherited from org.extendj.ast.ReferenceType

Fields inherited from org.extendj.ast.TypeDecl

Fields inherited from org.extendj.ast.ASTNode

Fields inherited from beaver.Symbol

end
id
start
value