orc.ast.oil.expression.argument
Class Field

java.lang.Object
  extended by orc.ast.oil.expression.Expression
      extended by orc.ast.oil.expression.argument.Argument
          extended by orc.ast.oil.expression.argument.Field
All Implemented Interfaces:
java.lang.Comparable<Field>

public class Field
extends Argument
implements java.lang.Comparable<Field>

Field access argument. Embeds a String key.

Author:
dkitchin

Field Summary
 java.lang.String key
           
 
Constructor Summary
Field(java.lang.String key)
           
 
Method Summary
<E> E
accept(Visitor<E> visitor)
           
 int compareTo(Field that)
           
 boolean equals(java.lang.Object that)
           
 int hashCode()
           
 Argument marshal()
           
 java.lang.Object resolve(Env<java.lang.Object> env)
           
 java.lang.String toString()
           
 Type typesynth(TypingContext ctx)
           
 
Methods inherited from class orc.ast.oil.expression.argument.Argument
addIndices, asField, enter, populateContinuations
 
Methods inherited from class orc.ast.oil.expression.Expression
freeVars, getPublishContinuation, leave, marshalAll, setPublishContinuation, typecheck
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

key

public java.lang.String key
Constructor Detail

Field

public Field(java.lang.String key)
Method Detail

compareTo

public int compareTo(Field that)
Specified by:
compareTo in interface java.lang.Comparable<Field>

equals

public boolean equals(java.lang.Object that)
Specified by:
equals in class Argument

hashCode

public int hashCode()
Specified by:
hashCode in class Argument

resolve

public java.lang.Object resolve(Env<java.lang.Object> env)
Specified by:
resolve in class Argument

toString

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

accept

public <E> E accept(Visitor<E> visitor)
Specified by:
accept in class Expression

typesynth

public Type typesynth(TypingContext ctx)
               throws TypeException
Specified by:
typesynth in class Expression
Throws:
TypeException

marshal

public Argument marshal()
                 throws CompilationException
Specified by:
marshal in class Argument
Throws:
CompilationException