jltools.ext.jl.ast
Class AmbExpr_c

java.lang.Object
  |
  +--jltools.ext.jl.ast.Node_c
        |
        +--jltools.ext.jl.ast.Expr_c
              |
              +--jltools.ext.jl.ast.AmbExpr_c
All Implemented Interfaces:
AmbExpr, Ambiguous, java.lang.Cloneable, Copy, Expr, Node, Prefix, Receiver, java.io.Serializable, Typed

public class AmbExpr_c
extends Expr_c
implements AmbExpr

An AmbExpr is an ambiguous AST node composed of a single identifier that must resolve to an expression.

See Also:
Serialized Form

Inner classes inherited from class jltools.ext.jl.ast.Node_c
Node_c.StringCodeWriter
 
Field Summary
protected  java.lang.String name
           
 
Fields inherited from class jltools.ext.jl.ast.Expr_c
type
 
Fields inherited from class jltools.ext.jl.ast.Node_c
ext, position
 
Constructor Summary
AmbExpr_c(Ext ext, Position pos, java.lang.String name)
           
 
Method Summary
 Node disambiguateOverride_(AmbiguityRemover ar)
          Disambiguate the expression.
 Node exceptionCheck_(ExceptionChecker ec)
          Check exceptions thrown by the expression.
 java.lang.String name()
          Get the name of the expression.
 AmbExpr name(java.lang.String name)
          Set the name of the expression.
 java.lang.String toString()
           
 void translate_(CodeWriter w, Translator tr)
          Write the expression to an output file.
 Node typeCheck_(TypeChecker tc)
          Type check the expression.
 
Methods inherited from class jltools.ext.jl.ast.Expr_c
buildTypes_, dump, precedence, reconstructTypes_, translateSubexpr, type, type
 
Methods inherited from class jltools.ext.jl.ast.Node_c
buildTypes, buildTypesOverride_, buildTypesOverride, copy, disambiguate_, disambiguate, disambiguateOverride, disambiguateTypes_, disambiguateTypes, disambiguateTypesOverride_, disambiguateTypesOverride, enterScope, exceptionCheck, exceptionCheckOverride_, exceptionCheckOverride, ext, ext, foldConstants_, foldConstants, foldConstantsOverride_, foldConstantsOverride, leaveScope, position, position, reconstructTypes, translate, translateBlock, translateSubstmt, typeCheck, typeCheckOverride_, typeCheckOverride, visit, visitChildren, visitList
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface jltools.ast.Expr
precedence, type
 
Methods inherited from interface jltools.ast.Node
buildTypes_, buildTypesOverride_, copy, disambiguate_, disambiguateTypes_, disambiguateTypesOverride_, dump, enterScope, exceptionCheckOverride_, ext, ext, foldConstants_, foldConstantsOverride_, leaveScope, position, position, reconstructTypes_, typeCheckOverride_, visit, visitChildren
 
Methods inherited from interface jltools.ast.Typed
type
 

Field Detail

name

protected java.lang.String name
Constructor Detail

AmbExpr_c

public AmbExpr_c(Ext ext,
                 Position pos,
                 java.lang.String name)
Method Detail

name

public java.lang.String name()
Get the name of the expression.
Specified by:
name in interface AmbExpr

name

public AmbExpr name(java.lang.String name)
Set the name of the expression.

disambiguateOverride_

public Node disambiguateOverride_(AmbiguityRemover ar)
                           throws SemanticException
Disambiguate the expression.
Specified by:
disambiguateOverride_ in interface Node
Overrides:
disambiguateOverride_ in class Node_c
Following copied from interface: jltools.ast.Node
Parameters:
ar - The visitor which disambiguates.

typeCheck_

public Node typeCheck_(TypeChecker tc)
                throws SemanticException
Type check the expression.
Specified by:
typeCheck_ in interface Node
Overrides:
typeCheck_ in class Node_c

exceptionCheck_

public Node exceptionCheck_(ExceptionChecker ec)
                     throws SemanticException
Check exceptions thrown by the expression.
Specified by:
exceptionCheck_ in interface Node
Overrides:
exceptionCheck_ in class Node_c

translate_

public void translate_(CodeWriter w,
                       Translator tr)
Write the expression to an output file.
Specified by:
translate_ in interface Node
Overrides:
translate_ in class Node_c
Following copied from interface: jltools.ast.Node
Parameters:
w - The code writer to which to write.
tr - The translation pass. This is not a visitor.

toString

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