Class Expression

  • All Implemented Interfaces:
    UserDataStore, java.lang.Cloneable

    public final class Expression
    extends Node
    implements java.lang.Cloneable, UserDataStore
    • Field Detail

      • ANY_OPERAND

        public static final java.lang.Object ANY_OPERAND
      • MYSTERY_OFFSET

        public static final int MYSTERY_OFFSET
        a constant to indicate that no bytecode offset is known for an expression
        See Also:
        Constant Field Values
      • _operand

        private java.lang.Object _operand
      • _offset

        private int _offset
        the offset of 'this' Expression, as computed for its bytecode by the Java compiler
    • Constructor Detail

      • Expression

        public Expression​(AstCode code,
                          java.lang.Object operand,
                          int offset,
                          java.util.List<Expression> arguments)
      • Expression

        public Expression​(AstCode code,
                          java.lang.Object operand,
                          int offset,
                          Expression... arguments)
    • Method Detail

      • getArguments

        public final java.util.List<Expression> getArguments()
      • getCode

        public final AstCode getCode()
      • setCode

        public final void setCode​(AstCode code)
      • getOperand

        public final java.lang.Object getOperand()
      • setOperand

        public final void setOperand​(java.lang.Object operand)
      • getOffset

        public final int getOffset()
        Returns the bytecode offset for 'this' expression, as computed by the Java compiler.
      • setExpectedType

        public final void setExpectedType​(TypeReference expectedType)
      • setInferredType

        public final void setInferredType​(TypeReference inferredType)
      • isBranch

        public final boolean isBranch()
      • getBranchTargets

        public final java.util.List<Label> getBranchTargets()
      • getRanges

        public final java.util.List<Range> getRanges()
      • getChildren

        public final java.util.List<Node> getChildren()
        Overrides:
        getChildren in class Node
      • containsReferenceTo

        public final boolean containsReferenceTo​(Variable variable)
      • clone

        public final Expression clone()
        Overrides:
        clone in class java.lang.Object
      • isEquivalentTo

        public boolean isEquivalentTo​(Expression e)