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, isValidStatementaddLoc, canPushDownInto, dump, dumpInner, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, getPrecedence, isSimple, outerDeepClone, pushDown, toString, visitclone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitdeepCloneprivate 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 HasByteCodeLocpublic void collectTypeUsages(TypeUsageCollector collector)
collectTypeUsages in interface TypeUsageCollectablecollectTypeUsages in class AbstractExpressionpublic Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
replaceSingleUsageLValues in interface Expressionpublic Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyExpressionRewriter in interface Expressionpublic Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyReverseExpressionRewriter in interface Expressionpublic void applyExpressionRewriterToArgs(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyExpressionRewriterToArgs in class AbstractFunctionInvokationpublic void setExplicitGenerics(java.util.List<JavaTypeInstance> types)
setExplicitGenerics in class AbstractFunctionInvokationpublic java.util.List<JavaTypeInstance> getExplicitGenerics()
getExplicitGenerics in class AbstractFunctionInvokationpublic Expression getObject()
public JavaTypeInstance getClassTypeInstance()
public java.util.List<Expression> getArgs()
getArgs in class AbstractFunctionInvokationpublic java.util.List<java.lang.Boolean> getNulls()
public Expression getAppropriatelyCastArgument(int idx)
public ConstantPool getCp()
public void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
collectUsedLValues in interface Expressionprivate OverloadMethodSet getOverloadMethodSet()
protected OverloadMethodSet getOverloadMethodSetInner(JavaTypeInstance objectType)
public void rewriteVarArgs(VarArgsRewriter varArgsRewriter)
rewriteVarArgs in interface FunctionProcessorprivate Expression insertCastOrIgnore(Expression arg, OverloadMethodSet overloadMethodSet, int x)
public boolean rewriteBoxing(PrimitiveBoxingRewriter boxingRewriter)
rewriteBoxing in interface BoxingProcessorprivate static boolean isResolveNull(Expression arg)
public void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
applyNonArgExpressionRewriter in interface BoxingProcessorpublic boolean canThrow(ExceptionCheck caught)
canThrow in interface ExpressioncanThrow in class AbstractExpressionpublic boolean equals(java.lang.Object o)
equals in class AbstractExpressionpublic boolean equivalentUnder(java.lang.Object o,
EquivalenceConstraint constraint)
equivalentUnder in interface ExpressionequivalentUnder in interface ComparableUnderEC