Class PrimaryExpression

  • All Implemented Interfaces:
    java.io.Serializable

    public class PrimaryExpression
    extends Expression
    Expression for a primary object. This may be a field, or an explicit variable/parameter, or a field invoked on an expression.
    See Also:
    Serialized Form
    • Field Detail

      • tuples

        java.util.List<java.lang.String> tuples
        The components of the expression. e.g "a.b.c" will have "a", "b", "c".
    • Constructor Detail

      • PrimaryExpression

        public PrimaryExpression​(java.util.List<java.lang.String> tuples)
        PrimaryExpression made up of a series of field names. e.g "a.b.c"
        Parameters:
        tuples - The components of the expression
      • PrimaryExpression

        public PrimaryExpression​(Expression left,
                                 java.util.List<java.lang.String> tuples)
        PrimaryExpression on an expression. e.g "((B)a).c" so the left expression is a CastExpression, and the tuples are "c".
        Parameters:
        left - The left expression
        tuples - The tuples of the primary
    • Method Detail

      • getId

        public java.lang.String getId()
        Accessor for the expression "id". This will be something like "a.b.c".
        Returns:
        The id
      • getTuples

        public java.util.List<java.lang.String> getTuples()
      • bind

        public Symbol bind​(SymbolTable symtbl)
        Method to bind the expression to the symbol table as appropriate.
        Specified by:
        bind in class Expression
        Parameters:
        symtbl - Symbol Table
        Returns:
        The symbol for this expression
      • toString

        public java.lang.String toString()
        Accessor for string form of the expression. Returns something like "PrimaryExpression {a.b.c}" when left is null, or "PrimaryExpression {ParameterExpression {a}.b.c}" when left is the ParameterExpression
        Overrides:
        toString in class java.lang.Object