Class MethodCall


  • public class MethodCall
    extends JavaExpression
    A call to a @Deterministic method.
    • Field Detail

      • method

        protected final javax.lang.model.element.ExecutableElement method
        The method being called.
      • receiver

        protected final JavaExpression receiver
        The receiver argument.
      • arguments

        protected final java.util.List<JavaExpression> arguments
        The arguments.
    • Constructor Detail

      • MethodCall

        public MethodCall​(javax.lang.model.type.TypeMirror type,
                          javax.lang.model.element.ExecutableElement method,
                          JavaExpression receiver,
                          java.util.List<JavaExpression> arguments)
        Creates a new MethodCall.
        Parameters:
        type - the type of the method call
        method - the method being called
        receiver - the receiver argument
        arguments - the arguments
    • Method Detail

      • getElement

        public javax.lang.model.element.ExecutableElement getElement()
        Returns the ExecutableElement for the method call.
        Returns:
        the ExecutableElement for the method call
      • getReceiver

        public JavaExpression getReceiver()
        Returns the method call receiver (for inspection only - do not modify).
        Returns:
        the method call receiver (for inspection only - do not modify)
      • getArguments

        public java.util.List<JavaExpression> getArguments()
        Returns the method call arguments (for inspection only - do not modify any of the arguments).
        Returns:
        the method call arguments (for inspection only - do not modify any of the arguments)
      • isDeterministic

        public boolean isDeterministic​(AnnotationProvider provider)
        Description copied from class: JavaExpression
        Returns true if the expression is deterministic.
        Specified by:
        isDeterministic in class JavaExpression
        Parameters:
        provider - an annotation provider (a type factory)
        Returns:
        true if this expression is deterministic
      • containsSyntacticEqualJavaExpression

        public boolean containsSyntacticEqualJavaExpression​(JavaExpression other)
        Description copied from class: JavaExpression
        Returns true if and only if this contains a JavaExpression that is syntactically equal to other.
        Specified by:
        containsSyntacticEqualJavaExpression in class JavaExpression
        Parameters:
        other - the JavaExpression to search for
        Returns:
        true if and only if this contains a JavaExpression that is syntactically equal to other
      • containsModifiableAliasOf

        public boolean containsModifiableAliasOf​(Store<?> store,
                                                 JavaExpression other)
        Description copied from class: JavaExpression
        Returns true if and only if other appears anywhere in this or an expression appears in this such that other might alias this expression, and that expression is modifiable.

        This is always true, except for cases where the Java type information prevents aliasing and none of the subexpressions can alias 'other'.

        Overrides:
        containsModifiableAliasOf in class JavaExpression
      • equals

        public boolean equals​(@Nullable java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • accept

        public <R,​P> R accept​(JavaExpressionVisitor<R,​P> visitor,
                                    P p)
        Description copied from class: JavaExpression
        Accept method of the visitor pattern.
        Specified by:
        accept in class JavaExpression
        Type Parameters:
        R - result type of the operation
        P - parameter type
        Parameters:
        visitor - the visitor to be applied to this JavaExpression
        p - the parameter for this operation
        Returns:
        the result of visiting this