public class JifCallDel extends JifDel_c implements polyglot.ast.CallOps
Call
node.Call_c
,
Serialized FormModifier and Type | Field and Description |
---|---|
protected java.util.List<VarLabel> |
argVarLabels |
protected java.util.List<VarLabel> |
paramVarLabels |
protected VarLabel |
receiverVarLabel |
fatalExceptions
Constructor and Description |
---|
JifCallDel() |
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) |
void |
printArgs(polyglot.util.CodeWriter w,
polyglot.visit.PrettyPrinter tr) |
void |
setFatalExceptions(polyglot.types.TypeSystem ts,
polyglot.util.SubtypeSet fatalExceptions)
Set the exceptions thrown by this node that are treated as fatal.
|
void |
setTargetIsNeverNull(boolean neverNull) |
boolean |
targetIsNeverNull() |
java.util.List<polyglot.types.Type> |
throwTypes(polyglot.types.TypeSystem ts)
List of Types of exceptions that might get thrown.
|
polyglot.ast.Node |
typeCheck(polyglot.visit.TypeChecker tc) |
polyglot.visit.NodeVisitor |
typeCheckEnter(polyglot.visit.TypeChecker tc) |
polyglot.ast.Node |
typeCheckNullTarget(polyglot.visit.TypeChecker tc,
java.util.List<polyglot.types.Type> argTypes) |
buildTypes, fatalExceptions, translate
addDecls, buildTypesEnter, checkConstants, childExpectedType, copy, copy, copy, disambiguate, disambiguateEnter, disambiguateOverride, dump, dump, dump, dump, enterChildScope, enterScope, exceptionCheck, exceptionCheckEnter, extRewrite, extRewriteEnter, extRewriteOverride, init, jl, lang, node, prettyPrint, prettyPrint, prettyPrint, prettyPrint, prettyPrint, typeCheckOverride, visitChild, visitChildren, visitList
protected VarLabel receiverVarLabel
protected java.util.List<VarLabel> argVarLabels
protected java.util.List<VarLabel> paramVarLabels
public void setTargetIsNeverNull(boolean neverNull)
public boolean targetIsNeverNull()
public java.util.List<polyglot.types.Type> throwTypes(polyglot.types.TypeSystem ts)
throwTypes
in interface polyglot.ast.NodeOps
throwTypes
in class JifDel_c
public void setFatalExceptions(polyglot.types.TypeSystem ts, polyglot.util.SubtypeSet fatalExceptions)
JifDel_c
setFatalExceptions
in interface JifDel
setFatalExceptions
in class JifDel_c
public polyglot.visit.NodeVisitor typeCheckEnter(polyglot.visit.TypeChecker tc) throws polyglot.types.SemanticException
typeCheckEnter
in interface polyglot.ast.NodeOps
typeCheckEnter
in class polyglot.ast.JLDel_c
polyglot.types.SemanticException
public polyglot.ast.Node typeCheck(polyglot.visit.TypeChecker tc) throws polyglot.types.SemanticException
typeCheck
in interface polyglot.ast.NodeOps
typeCheck
in class polyglot.ast.JLDel_c
polyglot.types.SemanticException
public polyglot.types.Type findContainer(polyglot.types.TypeSystem ts, polyglot.types.MethodInstance mi)
findContainer
in interface polyglot.ast.CallOps
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
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