Package com.strobel.expressions
Class MethodCallExpression
- java.lang.Object
-
- com.strobel.expressions.Expression
-
- com.strobel.expressions.MethodCallExpression
-
- All Implemented Interfaces:
IArgumentProvider
- Direct Known Subclasses:
InstanceMethodCallExpressionN
,MethodCallExpressionN
public class MethodCallExpression extends Expression implements IArgumentProvider
-
-
Field Summary
Fields Modifier and Type Field Description private MethodInfo
_method
-
Constructor Summary
Constructors Constructor Description MethodCallExpression(MethodInfo method)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Expression
accept(ExpressionVisitor visitor)
Dispatches to the specific visit method for this node type.Expression
getArgument(int index)
int
getArgumentCount()
ExpressionList<? extends Expression>
getArguments()
MethodInfo
getMethod()
ExpressionType
getNodeType()
Returns the node type of thisExpression
.(package private) ExpressionList<? extends Expression>
getOrMakeArguments()
Expression
getTarget()
Type<?>
getType()
Gets the static type of the expression that thisExpression
represents.(package private) MethodCallExpression
rewrite(Expression target, ExpressionList<? extends Expression> arguments)
MethodCallExpression
update(Expression target, ExpressionList<? extends Expression> arguments)
-
Methods inherited from class com.strobel.expressions.Expression
add, add, addAssign, addAssign, addAssign, and, and, andAlso, andAlso, andAlso, andAssign, andAssign, andAssign, arrayIndex, arrayLength, arrayToList, arrayToList, arrayToReadOnlyList, assign, base, block, block, block, block, block, block, block, block, block, block, block, block, block, block, box, call, call, call, call, call, call, call, call, call, call, canReduce, classConstant, coalesce, coalesce, concat, concat, concat, condition, condition, constant, constant, convert, convert, decrement, decrement, defaultValue, divide, divide, divideAssign, divideAssign, divideAssign, empty, ensureUnmodifiable, equal, equal, exclusiveOr, exclusiveOr, exclusiveOrAssign, exclusiveOrAssign, exclusiveOrAssign, field, field, field, field, forEach, forEach, forEach, getDebugView, getInvokeMethod, getInvokeMethod, getMethodValidated, greaterThan, greaterThan, greaterThanOrEqual, greaterThanOrEqual, ifThen, ifThenElse, increment, increment, instanceOf, invoke, invoke, isFalse, isFalse, isNotNull, isNull, isTrue, isTrue, label, label, label, label, label, label, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, lambda, leftShift, leftShift, leftShiftAssign, leftShiftAssign, leftShiftAssign, lessThan, lessThan, lessThanOrEqual, lessThanOrEqual, loop, loop, loop, makeBinary, makeBinary, makeBinary, makeBinary, makeBinary, makeBreak, makeBreak, makeBreak, makeBreak, makeCatch, makeCatch, makeCatch, makeCatch, makeCatch, makeCatch, makeContinue, makeContinue, makeFor, makeFor, makeFor, makeGoto, makeGoto, makeGoto, makeGoto, makeGoto, makeMemberAccess, makeNew, makeNew, makeNew, makeNew, makeReturn, makeReturn, makeReturn, makeReturn, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeSwitch, makeThrow, makeThrow, makeTry, makeTry, makeTry, makeUnary, makeUnary, methodArgumentsMatch, modulo, modulo, moduloAssign, moduloAssign, moduloAssign, multiply, multiply, multiplyAssign, multiplyAssign, multiplyAssign, negate, negate, newArrayBounds, newArrayInit, newArrayInit, not, not, notEqual, notEqual, onesComplement, onesComplement, or, or, orAssign, orAssign, orAssign, orElse, orElse, orElse, parameter, parameter, parameterIsAssignable, parameters, performBinaryNumericPromotion, postDecrementAssign, postDecrementAssign, postIncrementAssign, postIncrementAssign, preDecrementAssign, preDecrementAssign, preIncrementAssign, preIncrementAssign, reduce, reduceAndCheck, reduceExtensions, referenceEqual, referenceNotEqual, returnObject, rightShift, rightShift, rightShiftAssign, rightShiftAssign, rightShiftAssign, runtimeVariables, runtimeVariables, self, subtract, subtract, subtractAssign, subtractAssign, subtractAssign, switchCase, switchCase, toString, tryCatch, tryCatchFinally, tryFinally, typeEqual, unaryPlus, unaryPlus, unbox, unbox, unsignedRightShift, unsignedRightShift, unsignedRightShiftAssign, unsignedRightShiftAssign, unsignedRightShiftAssign, validateVariables, variable, variable, variables, visitChildren
-
-
-
-
Field Detail
-
_method
private final MethodInfo _method
-
-
Constructor Detail
-
MethodCallExpression
MethodCallExpression(MethodInfo method)
-
-
Method Detail
-
getMethod
public final MethodInfo getMethod()
-
getTarget
public Expression getTarget()
-
getNodeType
public ExpressionType getNodeType()
Description copied from class:Expression
Returns the node type of thisExpression
.- Overrides:
getNodeType
in classExpression
- Returns:
- the
ExpressionType
that represents this expression.
-
getType
public Type<?> getType()
Description copied from class:Expression
Gets the static type of the expression that thisExpression
represents.- Overrides:
getType
in classExpression
- Returns:
- the
Type
that represents the static type of the expression.
-
getArguments
public final ExpressionList<? extends Expression> getArguments()
-
getOrMakeArguments
ExpressionList<? extends Expression> getOrMakeArguments()
-
getArgumentCount
public int getArgumentCount()
- Specified by:
getArgumentCount
in interfaceIArgumentProvider
-
getArgument
public Expression getArgument(int index)
- Specified by:
getArgument
in interfaceIArgumentProvider
-
rewrite
MethodCallExpression rewrite(Expression target, ExpressionList<? extends Expression> arguments)
-
update
public MethodCallExpression update(Expression target, ExpressionList<? extends Expression> arguments)
-
accept
protected Expression accept(ExpressionVisitor visitor)
Description copied from class:Expression
Dispatches to the specific visit method for this node type. For example,BinaryExpression
will call intoExpressionVisitor.visitBinary()
.- Overrides:
accept
in classExpression
- Parameters:
visitor
- the visitor to visit this node.- Returns:
- the result of visiting this node.
-
-