public abstract class AbstractMemberFunctionInvokation extends AbstractFunctionInvokation implements FunctionProcessor, BoxingProcessor
Modifier and Type | Field and Description |
---|---|
private java.util.List<Expression> |
args |
private ConstantPool |
cp |
private java.util.List<java.lang.Boolean> |
nulls |
private Expression |
object |
Constructor and Description |
---|
AbstractMemberFunctionInvokation(BytecodeLoc loc,
ConstantPool cp,
ConstantPoolEntryMethodRef function,
Expression object,
JavaTypeInstance bestType,
java.util.List<Expression> args,
java.util.List<java.lang.Boolean> nulls) |
AbstractMemberFunctionInvokation(BytecodeLoc loc,
ConstantPool cp,
ConstantPoolEntryMethodRef function,
Expression object,
java.util.List<Expression> args,
java.util.List<java.lang.Boolean> nulls) |
getFixedName, getFunction, getMethodPrototype, getName, isValidStatement
addLoc, canPushDownInto, dump, dumpInner, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, getPrecedence, isSimple, outerDeepClone, pushDown, toString, visit
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
deepClone
private final ConstantPool cp
private final java.util.List<Expression> args
private Expression object
private final java.util.List<java.lang.Boolean> nulls
AbstractMemberFunctionInvokation(BytecodeLoc loc, ConstantPool cp, ConstantPoolEntryMethodRef function, Expression object, JavaTypeInstance bestType, java.util.List<Expression> args, java.util.List<java.lang.Boolean> nulls)
AbstractMemberFunctionInvokation(BytecodeLoc loc, ConstantPool cp, ConstantPoolEntryMethodRef function, Expression object, java.util.List<Expression> args, java.util.List<java.lang.Boolean> nulls)
public BytecodeLoc getCombinedLoc()
getCombinedLoc
in interface HasByteCodeLoc
public void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages
in interface TypeUsageCollectable
collectTypeUsages
in class AbstractExpression
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
replaceSingleUsageLValues
in interface Expression
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyExpressionRewriter
in interface Expression
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyReverseExpressionRewriter
in interface Expression
public void applyExpressionRewriterToArgs(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyExpressionRewriterToArgs
in class AbstractFunctionInvokation
public void setExplicitGenerics(java.util.List<JavaTypeInstance> types)
setExplicitGenerics
in class AbstractFunctionInvokation
public java.util.List<JavaTypeInstance> getExplicitGenerics()
getExplicitGenerics
in class AbstractFunctionInvokation
public Expression getObject()
public JavaTypeInstance getClassTypeInstance()
public java.util.List<Expression> getArgs()
getArgs
in class AbstractFunctionInvokation
public java.util.List<java.lang.Boolean> getNulls()
public Expression getAppropriatelyCastArgument(int idx)
public ConstantPool getCp()
public void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
collectUsedLValues
in interface Expression
private OverloadMethodSet getOverloadMethodSet()
protected OverloadMethodSet getOverloadMethodSetInner(JavaTypeInstance objectType)
public void rewriteVarArgs(VarArgsRewriter varArgsRewriter)
rewriteVarArgs
in interface FunctionProcessor
private Expression insertCastOrIgnore(Expression arg, OverloadMethodSet overloadMethodSet, int x)
public boolean rewriteBoxing(PrimitiveBoxingRewriter boxingRewriter)
rewriteBoxing
in interface BoxingProcessor
private static boolean isResolveNull(Expression arg)
public void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyNonArgExpressionRewriter
in interface BoxingProcessor
public boolean canThrow(ExceptionCheck caught)
canThrow
in interface Expression
canThrow
in class AbstractExpression
public boolean equals(java.lang.Object o)
equals
in class AbstractExpression
public boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)
equivalentUnder
in interface Expression
equivalentUnder
in interface ComparableUnderEC