|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object polyglot.ext.jl.ast.Node_c polyglot.ext.jl.ast.Term_c polyglot.ext.jl.ast.Expr_c polyglot.ext.jl.ast.Special_c
public class Special_c
A Special
is an immutable representation of a
reference to this
or super
Foo.this.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface polyglot.ast.Special |
---|
Special.Kind |
Field Summary | |
---|---|
protected Special.Kind |
kind
|
protected TypeNode |
qualifier
|
Fields inherited from class polyglot.ext.jl.ast.Expr_c |
---|
type |
Fields inherited from class polyglot.ext.jl.ast.Term_c |
---|
exceptions, reachable |
Fields inherited from class polyglot.ext.jl.ast.Node_c |
---|
del, ext, position |
Fields inherited from interface polyglot.ast.Special |
---|
SUPER, THIS |
Constructor Summary | |
---|---|
Special_c(Position pos,
Special.Kind kind,
TypeNode qualifier)
|
Method Summary | |
---|---|
java.util.List |
acceptCFG(CFGBuilder v,
java.util.List succs)
Visit this term in evaluation order. |
void |
dump(CodeWriter w)
Dump the AST node for debugging purposes. |
Term |
entry()
Return the first (sub)term performed when evaluating this term. |
Special.Kind |
kind()
Get the kind of the special expression, either this or super. |
Special |
kind(Special.Kind kind)
Set the kind of the special expression, either this or super. |
Precedence |
precedence()
Get the precedence of the expression. |
void |
prettyPrint(CodeWriter w,
PrettyPrinter tr)
Write the expression to an output file. |
TypeNode |
qualifier()
Get the qualifier of the special expression. |
Special |
qualifier(TypeNode qualifier)
Set the qualifier of the special expression. |
protected Special_c |
reconstruct(TypeNode qualifier)
Reconstruct the expression. |
java.lang.String |
toString()
|
Node |
typeCheck(TypeChecker tc)
Type check the expression. |
Node |
visitChildren(NodeVisitor v)
Visit the children of the expression. |
Methods inherited from class polyglot.ext.jl.ast.Expr_c |
---|
booleanValue, buildTypes, byteValue, charValue, constantValue, doubleValue, floatValue, intValue, isConstant, longValue, printSubExpr, printSubExpr, shortValue, stringValue, type, type |
Methods inherited from class polyglot.ext.jl.ast.Term_c |
---|
exceptionCheck, exceptions, exceptions, listEntry, reachable, reachable |
Methods inherited from class polyglot.ext.jl.ast.Node_c |
---|
addDecls, addMembers, addMembersEnter, addMembersOverride, buildTypesEnter, buildTypesOverride, childExpectedType, copy, del, del, disambiguate, disambiguateEnter, disambiguateOverride, enterScope, enterScope, exceptionCheckEnter, exceptionCheckOverride, ext, ext, ext, ext, init, node, position, position, print, printBlock, printSubStmt, throwTypes, translate, typeCheckEnter, typeCheckOverride, visit, visitChild, visitEdge, visitList |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface polyglot.ast.Expr |
---|
constantValue, isConstant, printSubExpr, printSubExpr, type |
Methods inherited from interface polyglot.ast.Node |
---|
childExpectedType, del, del, ext, ext, ext, ext, position, position, visit, visitChild, visitEdge, visitList |
Methods inherited from interface polyglot.ast.JL |
---|
init, node |
Methods inherited from interface polyglot.ast.NodeOps |
---|
addDecls, addMembers, addMembersEnter, buildTypes, buildTypesEnter, disambiguate, disambiguateEnter, enterScope, enterScope, exceptionCheck, exceptionCheckEnter, throwTypes, translate, typeCheckEnter |
Methods inherited from interface polyglot.util.Copy |
---|
copy |
Methods inherited from interface polyglot.ast.Typed |
---|
type |
Methods inherited from interface polyglot.ast.Term |
---|
exceptions, exceptions, reachable, reachable |
Field Detail |
---|
protected Special.Kind kind
protected TypeNode qualifier
Constructor Detail |
---|
public Special_c(Position pos, Special.Kind kind, TypeNode qualifier)
Method Detail |
---|
public Precedence precedence()
precedence
in interface Expr
precedence
in class Expr_c
public Special.Kind kind()
kind
in interface Special
public Special kind(Special.Kind kind)
kind
in interface Special
public TypeNode qualifier()
qualifier
in interface Special
public Special qualifier(TypeNode qualifier)
qualifier
in interface Special
protected Special_c reconstruct(TypeNode qualifier)
public Node visitChildren(NodeVisitor v)
visitChildren
in interface NodeOps
visitChildren
in class Node_c
v
- The visitor that will traverse/rewrite the AST.
this
.public Node typeCheck(TypeChecker tc) throws SemanticException
typeCheck
in interface NodeOps
typeCheck
in class Node_c
tc
- The type checking visitor.
SemanticException
public Term entry()
entry
in interface Term
entry
in class Term_c
public java.util.List acceptCFG(CFGBuilder v, java.util.List succs)
acceptCFG
in interface Term
acceptCFG
in class Term_c
public java.lang.String toString()
toString
in class Node_c
public void prettyPrint(CodeWriter w, PrettyPrinter tr)
prettyPrint
in interface NodeOps
prettyPrint
in class Node_c
w
- The code writer to which to write.tr
- The pretty printer. This is not a visitor.public void dump(CodeWriter w)
Node
dump
in interface Node
dump
in class Expr_c
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |