Class AbstractFunctionInvokationExplicit
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractFunctionInvokationExplicit
-
- All Implemented Interfaces:
HasByteCodeLoc
,Expression
,DeepCloneable<Expression>
,ComparableUnderEC
,Dumpable
,DumpableWithPrecedence
,TypeUsageCollectable
- Direct Known Subclasses:
ConstructorInvokationExplicit
,MemberFunctionInvokationExplicit
,StaticFunctionInvokationExplicit
public abstract class AbstractFunctionInvokationExplicit extends AbstractExpression
A call that doesn't necessarily exist, for a type we don't necessarily have.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<Expression>
args
private JavaTypeInstance
clazz
private java.lang.String
method
-
Constructor Summary
Constructors Constructor Description AbstractFunctionInvokationExplicit(BytecodeLoc loc, InferredJavaType res, JavaTypeInstance clazz, java.lang.String method, java.util.List<Expression> args)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expression
applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
Expression
applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
void
collectUsedLValues(LValueUsageCollector lValueUsageCollector)
protected java.util.List<Expression>
getArgs()
protected JavaTypeInstance
getClazz()
protected java.lang.String
getMethod()
Precedence
getPrecedence()
Expression
replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
addLoc, canPushDownInto, canThrow, collectTypeUsages, dump, dumpInner, dumpWithOuterPrecedence, equals, getComputedLiteral, getInferredJavaType, getLoc, isSimple, isValidStatement, outerDeepClone, pushDown, toString, visit
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.rewriters.DeepCloneable
deepClone
-
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.parse.Expression
equivalentUnder
-
Methods inherited from interface org.benf.cfr.reader.bytecode.analysis.loc.HasByteCodeLoc
getCombinedLoc
-
-
-
-
Field Detail
-
clazz
private final JavaTypeInstance clazz
-
method
private final java.lang.String method
-
args
private final java.util.List<Expression> args
-
-
Constructor Detail
-
AbstractFunctionInvokationExplicit
AbstractFunctionInvokationExplicit(BytecodeLoc loc, InferredJavaType res, JavaTypeInstance clazz, java.lang.String method, java.util.List<Expression> args)
-
-
Method Detail
-
getClazz
protected JavaTypeInstance getClazz()
-
getMethod
protected java.lang.String getMethod()
-
getArgs
protected java.util.List<Expression> getArgs()
-
getPrecedence
public Precedence getPrecedence()
- Specified by:
getPrecedence
in interfaceDumpableWithPrecedence
- Specified by:
getPrecedence
in classAbstractExpression
-
replaceSingleUsageLValues
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
-
applyExpressionRewriter
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
applyReverseExpressionRewriter
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
-
collectUsedLValues
public void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
-
-