public class JifCallExt extends JifExprExt implements polyglot.ast.CallOps
Call
node.Call_c
,
Serialized FormConstructor and Description |
---|
JifCallExt(ToJavaExt toJava) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
constantValue(polyglot.ast.Lang lang) |
boolean |
constantValueSet(polyglot.ast.Lang lang) |
polyglot.types.Type |
findContainer(polyglot.types.TypeSystem ts,
polyglot.types.MethodInstance mi) |
polyglot.types.ReferenceType |
findTargetType() |
boolean |
isConstant(polyglot.ast.Lang lang) |
polyglot.ast.Node |
labelCheck(LabelChecker lc)
Label check the node to which this extension is attached.
|
polyglot.ast.Call |
node() |
void |
printArgs(polyglot.util.CodeWriter w,
polyglot.visit.PrettyPrinter tr) |
polyglot.ast.Node |
typeCheckNullTarget(polyglot.visit.TypeChecker tc,
java.util.List<polyglot.types.Type> argTypes) |
protected void |
updateContextPostTarget(LabelChecker lc,
JifContext A,
PathMap Xtarg)
Utility method for updating the context after checking the target.
|
protected void |
updateContextPostTargetExpr(LabelChecker lc,
JifContext A,
PathMap Xtarg)
Utility method for updating the context after checking the target and it
is an expression (not a Special node).
|
getNumericBounds, setNumericBounds
checkAndRemoveThrowType, checkThrowTypes, copy, dump, getPathMap, init, integerBoundsCalculated, toJava, toJava, updatePathMap, X, X
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, ext, ext, extRewrite, extRewriteEnter, extRewriteOverride, initPred, lang, pred, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, print, printBlock, printSubStmt, superLang, throwTypes, toString, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addDecls, buildTypes, buildTypesEnter, checkConstants, childExpectedType, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, extRewrite, extRewriteEnter, extRewriteOverride, lang, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, throwTypes, translate, typeCheck, typeCheckEnter, typeCheckOverride, visitChild, visitChildren, visitList
public JifCallExt(ToJavaExt toJava)
public polyglot.types.Type findContainer(polyglot.types.TypeSystem ts, polyglot.types.MethodInstance mi)
findContainer
in interface polyglot.ast.CallOps
public polyglot.ast.Node labelCheck(LabelChecker lc) throws polyglot.types.SemanticException
JifExt
labelCheck
in interface JifExt
labelCheck
in class JifExt_c
polyglot.types.SemanticException
protected void updateContextPostTarget(LabelChecker lc, JifContext A, PathMap Xtarg)
protected void updateContextPostTargetExpr(LabelChecker lc, JifContext A, PathMap Xtarg)
public polyglot.ast.Call node()
node
in interface polyglot.ast.Ext
node
in class polyglot.ast.Ext_c
public void printArgs(polyglot.util.CodeWriter w, polyglot.visit.PrettyPrinter tr)
printArgs
in interface polyglot.ast.ProcedureCallOps
public boolean constantValueSet(polyglot.ast.Lang lang)
constantValueSet
in interface polyglot.ast.ExprOps
public boolean isConstant(polyglot.ast.Lang lang)
isConstant
in interface polyglot.ast.ExprOps
public java.lang.Object constantValue(polyglot.ast.Lang lang)
constantValue
in interface polyglot.ast.ExprOps
public polyglot.types.ReferenceType findTargetType() throws polyglot.types.SemanticException
findTargetType
in interface polyglot.ast.CallOps
polyglot.types.SemanticException
public polyglot.ast.Node typeCheckNullTarget(polyglot.visit.TypeChecker tc, java.util.List<polyglot.types.Type> argTypes) throws polyglot.types.SemanticException
typeCheckNullTarget
in interface polyglot.ast.CallOps
polyglot.types.SemanticException