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
FieldsModifier and TypeFieldDescriptionprotected final List<Expression> private final JavaTypeInstanceprivate List<JavaTypeInstance> private Expression -
Constructor Summary
ConstructorsModifierConstructorDescriptionStaticFunctionInvokation(BytecodeLoc loc, ConstantPoolEntryMethodRef function, List<Expression> args) privateStaticFunctionInvokation(BytecodeLoc loc, ConstantPoolEntryMethodRef function, List<Expression> args, Expression object) -
Method Summary
Modifier and TypeMethodDescriptionapplyExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) voidapplyExpressionRewriterToArgs(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) voidapplyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) applyReverseExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) voidcollectTypeUsages(TypeUsageCollector collector) voidcollectUsedLValues(LValueUsageCollector lValueUsageCollector) deepClone(CloneHelper cloneHelper) booleanbooleanequivalentUnder(Object o, EquivalenceConstraint constraint) voidforceObject(Expression object) getArgs()getClazz()private static InferredJavaTypegetTypeForFunction(ConstantPoolEntryMethodRef function, List<Expression> args) replaceSingleUsageLValues(LValueRewriter lValueRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer) booleanrewriteBoxing(PrimitiveBoxingRewriter boxingRewriter) voidrewriteVarArgs(VarArgsRewriter varArgsRewriter) voidsetExplicitGenerics(List<JavaTypeInstance> types) Methods inherited from class AbstractFunctionInvokation
getFixedName, getFunction, getMethodPrototype, getName, isValidStatementMethods inherited from class AbstractExpression
addLoc, canPushDownInto, canThrow, dump, dumpWithOuterPrecedence, getComputedLiteral, getInferredJavaType, getLoc, isSimple, outerDeepClone, pushDown, toString, visit
-
Field Details
-
args
-
clazz
-
object
-
explicitGenerics
-
-
Constructor Details
-
StaticFunctionInvokation
private StaticFunctionInvokation(BytecodeLoc loc, ConstantPoolEntryMethodRef function, List<Expression> args, Expression object) -
StaticFunctionInvokation
public StaticFunctionInvokation(BytecodeLoc loc, ConstantPoolEntryMethodRef function, List<Expression> args)
-
-
Method Details
-
getTypeForFunction
private static InferredJavaType getTypeForFunction(ConstantPoolEntryMethodRef function, List<Expression> args) -
deepClone
- Specified by:
deepClonein interfaceDeepCloneable<Expression>
-
getCombinedLoc
- Specified by:
getCombinedLocin interfaceHasByteCodeLoc
-
forceObject
-
collectTypeUsages
- 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
- Specified by:
setExplicitGenericsin classAbstractFunctionInvokation
-
getExplicitGenerics
- Specified by:
getExplicitGenericsin classAbstractFunctionInvokation
-
getPrecedence
- Specified by:
getPrecedencein interfaceDumpableWithPrecedence- Specified by:
getPrecedencein classAbstractExpression
-
dumpInner
- Specified by:
dumpInnerin classAbstractExpression
-
collectUsedLValues
- Specified by:
collectUsedLValuesin interfaceExpression
-
getClazz
-
getArgs
- Specified by:
getArgsin classAbstractFunctionInvokation
-
rewriteVarArgs
- Specified by:
rewriteVarArgsin interfaceFunctionProcessor
-
rewriteBoxing
- Specified by:
rewriteBoxingin interfaceBoxingProcessor
-
applyNonArgExpressionRewriter
public void applyNonArgExpressionRewriter(ExpressionRewriter expressionRewriter, SSAIdentifiers ssaIdentifiers, StatementContainer statementContainer, ExpressionRewriterFlags flags) - Specified by:
applyNonArgExpressionRewriterin interfaceBoxingProcessor
-
equals
- Specified by:
equalsin classAbstractExpression
-
equivalentUnder
- Specified by:
equivalentUnderin interfaceComparableUnderEC- Specified by:
equivalentUnderin interfaceExpression
-