jltools.ext.jl.ast
Class Cast_c

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

public class Cast_c
extends Expr_c
implements Cast

A Cast is an immutable representation of a casting operation. It consists of an Expr being cast and a TypeNode being cast to.

See Also:
Serialized Form

Inner classes inherited from class jltools.ext.jl.ast.Node_c
Node_c.StringCodeWriter
 
Field Summary
protected  TypeNode castType
           
protected  Expr expr
           
 
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
Cast_c(Ext ext, Position pos, TypeNode castType, Expr expr)
           
 
Method Summary
 TypeNode castType()
          Get the cast type of the expression.
 Cast castType(TypeNode castType)
          Set the cast type of the expression.
 Node exceptionCheck_(ExceptionChecker ec)
          Check exceptions thrown by the expression.
 Expr expr()
          Get the expression being cast.
 Cast expr(Expr expr)
          Set the expression being cast.
 Precedence precedence()
          Get the precedence of the expression.
protected  Cast_c reconstruct(TypeNode castType, Expr expr)
          Reconstruct 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.
 Node visitChildren(NodeVisitor v)
          Visit the children of the expression.
 
Methods inherited from class jltools.ext.jl.ast.Expr_c
buildTypes_, dump, reconstructTypes_, translateSubexpr, type, type
 
Methods inherited from class jltools.ext.jl.ast.Node_c
buildTypes, buildTypesOverride_, buildTypesOverride, copy, disambiguate_, disambiguate, disambiguateOverride_, 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, 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
type
 
Methods inherited from interface jltools.ast.Node
buildTypes_, buildTypesOverride_, copy, disambiguate_, disambiguateOverride_, disambiguateTypes_, disambiguateTypesOverride_, dump, enterScope, exceptionCheckOverride_, ext, ext, foldConstants_, foldConstantsOverride_, leaveScope, position, position, reconstructTypes_, typeCheckOverride_, visit
 
Methods inherited from interface jltools.ast.Typed
type
 

Field Detail

castType

protected TypeNode castType

expr

protected Expr expr
Constructor Detail

Cast_c

public Cast_c(Ext ext,
              Position pos,
              TypeNode castType,
              Expr expr)
Method Detail

precedence

public Precedence precedence()
Get the precedence of the expression.
Specified by:
precedence in interface Expr
Overrides:
precedence in class Expr_c

castType

public TypeNode castType()
Get the cast type of the expression.
Specified by:
castType in interface Cast

castType

public Cast castType(TypeNode castType)
Set the cast type of the expression.
Specified by:
castType in interface Cast

expr

public Expr expr()
Get the expression being cast.
Specified by:
expr in interface Cast

expr

public Cast expr(Expr expr)
Set the expression being cast.
Specified by:
expr in interface Cast

reconstruct

protected Cast_c reconstruct(TypeNode castType,
                             Expr expr)
Reconstruct the expression.

visitChildren

public Node visitChildren(NodeVisitor v)
Visit the children of the expression.
Specified by:
visitChildren in interface Node
Overrides:
visitChildren in class Node_c

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

toString

public java.lang.String toString()
Overrides:
toString 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.