Class StaticFunctionInvokation
- java.lang.Object
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractFunctionInvokation
-
- org.benf.cfr.reader.bytecode.analysis.parse.expression.StaticFunctionInvokation
-
- All Implemented Interfaces:
HasByteCodeLoc,Expression,BoxingProcessor,FunctionProcessor,DeepCloneable<Expression>,ComparableUnderEC,Dumpable,DumpableWithPrecedence,TypeUsageCollectable
public class StaticFunctionInvokation extends AbstractFunctionInvokation implements FunctionProcessor, BoxingProcessor
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.List<Expression>argsprivate JavaTypeInstanceclazzprivate java.util.List<JavaTypeInstance>explicitGenericsprivate Expressionobject
-
Constructor Summary
Constructors Modifier Constructor Description StaticFunctionInvokation(BytecodeLoc loc, ConstantPoolEntryMethodRef function, java.util.List<Expression> args)privateStaticFunctionInvokation(BytecodeLoc loc, ConstantPoolEntryMethodRef function, java.util.List<Expression> args, Expression object)
-
Method Summary
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractFunctionInvokation
getFixedName, getFunction, getMethodPrototype, getName, isValidStatement
-
Methods inherited from class org.benf.cfr.reader.bytecode.analysis.parse.expression.AbstractExpression
addLoc, canPushDownInto, canThrow, dump, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, isSimple, outerDeepClone, pushDown, toString, visit
-
-
-
-
Field Detail
-
args
protected final java.util.List<Expression> args
-
clazz
private final JavaTypeInstance clazz
-
object
private Expression object
-
explicitGenerics
private java.util.List<JavaTypeInstance> explicitGenerics
-
-
Constructor Detail
-
StaticFunctionInvokation
private StaticFunctionInvokation(BytecodeLoc loc, ConstantPoolEntryMethodRef function, java.util.List<Expression> args, Expression object)
-
StaticFunctionInvokation
public StaticFunctionInvokation(BytecodeLoc loc, ConstantPoolEntryMethodRef function, java.util.List<Expression> args)
-
-
Method Detail
-
getTypeForFunction
private static InferredJavaType getTypeForFunction(ConstantPoolEntryMethodRef function, java.util.List<Expression> args)
-
deepClone
public Expression deepClone(CloneHelper cloneHelper)
- Specified by:
deepClonein interfaceDeepCloneable<Expression>
-
getCombinedLoc
public BytecodeLoc getCombinedLoc()
- Specified by:
getCombinedLocin interfaceHasByteCodeLoc
-
forceObject
public void forceObject(Expression object)
-
collectTypeUsages
public void collectTypeUsages(TypeUsageCollector collector)
- Specified by:
collectTypeUsagesin interfaceTypeUsageCollectable- Overrides:
collectTypeUsagesin classAbstractExpression
-
replaceSingleUsageLValues
public Expression replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer)
- Specified by:
replaceSingleUsageLValuesin interfaceExpression
-
applyExpressionRewriter
public Expression applyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
- Specified by:
applyExpressionRewriterin interfaceExpression
-
applyReverseExpressionRewriter
public Expression applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
- Specified by:
applyReverseExpressionRewriterin interfaceExpression
-
applyExpressionRewriterToArgs
public void applyExpressionRewriterToArgs(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
- Specified by:
applyExpressionRewriterToArgsin classAbstractFunctionInvokation
-
setExplicitGenerics
public void setExplicitGenerics(java.util.List<JavaTypeInstance> types)
- Specified by:
setExplicitGenericsin classAbstractFunctionInvokation
-
getExplicitGenerics
public java.util.List<JavaTypeInstance> getExplicitGenerics()
- Specified by:
getExplicitGenericsin classAbstractFunctionInvokation
-
getPrecedence
public Precedence getPrecedence()
- Specified by:
getPrecedencein interfaceDumpableWithPrecedence- Specified by:
getPrecedencein classAbstractExpression
-
dumpInner
public Dumper dumpInner(Dumper d)
- Specified by:
dumpInnerin classAbstractExpression
-
collectUsedLValues
public void collectUsedLValues(LValueUsageCollector lValueUsageCollector)
- Specified by:
collectUsedLValuesin interfaceExpression
-
getClazz
public JavaTypeInstance getClazz()
-
getArgs
public java.util.List<Expression> getArgs()
- Specified by:
getArgsin classAbstractFunctionInvokation
-
rewriteVarArgs
public void rewriteVarArgs(VarArgsRewriter varArgsRewriter)
- Specified by:
rewriteVarArgsin interfaceFunctionProcessor
-
rewriteBoxing
public boolean rewriteBoxing(PrimitiveBoxingRewriter boxingRewriter)
- Specified by:
rewriteBoxingin interfaceBoxingProcessor
-
applyNonArgExpressionRewriter
public void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags)
- Specified by:
applyNonArgExpressionRewriterin interfaceBoxingProcessor
-
equals
public boolean equals(java.lang.Object o)
- Specified by:
equalsin classAbstractExpression
-
equivalentUnder
public boolean equivalentUnder(java.lang.Object o, EquivalenceConstraint constraint)- Specified by:
equivalentUnderin interfaceComparableUnderEC- Specified by:
equivalentUnderin interfaceExpression
-
-