orc.ast.extended.expression
Class Name

java.lang.Object
  extended by orc.ast.extended.expression.Expression
      extended by orc.ast.extended.expression.Name
All Implemented Interfaces:
ASTNode, Locatable, Located

public class Name
extends Expression


Nested Class Summary
 
Nested classes/interfaces inherited from class orc.ast.extended.expression.Expression
Expression.Arg
 
Field Summary
 java.lang.String name
           
 
Constructor Summary
Name(java.lang.String name)
           
 
Method Summary
<E> E
accept(Visitor<E> visitor)
           
 Expression.Arg argify()
          Simplify an expression which occurs in an argument (nested) position.
 Expression simplify()
          Simplify an expression which occurs in a call (non-nested) position.
 java.lang.String toString()
           
 
Methods inherited from class orc.ast.extended.expression.Expression
getSourceLocation, join, setSourceLocation, uncurry
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

name

public java.lang.String name
Constructor Detail

Name

public Name(java.lang.String name)
Method Detail

simplify

public Expression simplify()
Description copied from class: Expression
Simplify an expression which occurs in a call (non-nested) position.

Specified by:
simplify in class Expression
Returns:
The simplified expression

argify

public Expression.Arg argify()
Description copied from class: Expression
Simplify an expression which occurs in an argument (nested) position. Returns an Arg, which produces an Argument for the simplified call, and may also introduce a binder, in the case of a nested expression. The default behavior is to act as a nested expression and produce a complexArg. Expressions which can validly occur in arg position on their own without a binder will override this behavior.

Overrides:
argify in class Expression
Returns:
The argified form of the expression

toString

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

accept

public <E> E accept(Visitor<E> visitor)