public class JifCallExt extends JifExprExt implements polyglot.ast.CallOps
Call node.Call_c,
Serialized Form| Constructor 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, setNumericBoundscheckAndRemoveThrowType, checkThrowTypes, copy, dump, getPathMap, init, integerBoundsCalculated, toJava, toJava, updatePathMap, X, XaddDecls, 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, visitListclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddDecls, 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, visitListpublic JifCallExt(ToJavaExt toJava)
public polyglot.types.Type findContainer(polyglot.types.TypeSystem ts,
polyglot.types.MethodInstance mi)
findContainer in interface polyglot.ast.CallOpspublic polyglot.ast.Node labelCheck(LabelChecker lc) throws polyglot.types.SemanticException
JifExtlabelCheck in interface JifExtlabelCheck in class JifExt_cpolyglot.types.SemanticExceptionprotected 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.Extnode in class polyglot.ast.Ext_cpublic void printArgs(polyglot.util.CodeWriter w,
polyglot.visit.PrettyPrinter tr)
printArgs in interface polyglot.ast.ProcedureCallOpspublic boolean constantValueSet(polyglot.ast.Lang lang)
constantValueSet in interface polyglot.ast.ExprOpspublic boolean isConstant(polyglot.ast.Lang lang)
isConstant in interface polyglot.ast.ExprOpspublic java.lang.Object constantValue(polyglot.ast.Lang lang)
constantValue in interface polyglot.ast.ExprOpspublic polyglot.types.ReferenceType findTargetType()
throws polyglot.types.SemanticException
findTargetType in interface polyglot.ast.CallOpspolyglot.types.SemanticExceptionpublic polyglot.ast.Node typeCheckNullTarget(polyglot.visit.TypeChecker tc,
java.util.List<polyglot.types.Type> argTypes)
throws polyglot.types.SemanticException
typeCheckNullTarget in interface polyglot.ast.CallOpspolyglot.types.SemanticException