Package hydra.haskell.syntax
Class Expression
- java.lang.Object
-
- hydra.haskell.syntax.Expression
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Comparable<Expression>
- Direct Known Subclasses:
Expression.Application,Expression.Case,Expression.ConstructRecord,Expression.Do,Expression.If,Expression.InfixApplication,Expression.Lambda,Expression.LeftSection,Expression.Let,Expression.List,Expression.Literal,Expression.RightSection,Expression.Tuple,Expression.TypeSignature,Expression.UpdateRecord,Expression.Variable
public abstract class Expression extends java.lang.Object implements java.io.Serializable, java.lang.Comparable<Expression>
A data expression- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classExpression.ApplicationA function applicationstatic classExpression.CaseA case expressionstatic classExpression.ConstructRecordA record constructor expressionstatic classExpression.DoA 'do' expressionstatic classExpression.IfAn 'if' expressionstatic classExpression.InfixApplicationAn infix applicationstatic classExpression.LambdaA lambda expressionstatic classExpression.LeftSectionA left section expressionstatic classExpression.LetA 'let' expressionstatic classExpression.ListA list expressionstatic classExpression.LiteralA literal valuestatic interfaceExpression.PartialVisitor<R>Partial visitor overExpressionwith a defaultExpression.PartialVisitor.otherwise(hydra.haskell.syntax.Expression)branch.static classExpression.RightSectionA right section expressionstatic classExpression.TupleA tuple expressionstatic classExpression.TypeSignatureA type signature expressionstatic classExpression.UpdateRecordA record update expressionstatic classExpression.VariableA variable referencestatic interfaceExpression.Visitor<R>Visitor overExpression.
-
Field Summary
Fields Modifier and Type Field Description static NameAPPLICATIONName of thehydra.haskell.syntax.Expression.applicationfield.static NameCASEName of thehydra.haskell.syntax.Expression.casefield.static NameCONSTRUCT_RECORDName of thehydra.haskell.syntax.Expression.constructRecordfield.static NameDOName of thehydra.haskell.syntax.Expression.dofield.static NameIFName of thehydra.haskell.syntax.Expression.iffield.static NameINFIX_APPLICATIONName of thehydra.haskell.syntax.Expression.infixApplicationfield.static NameLAMBDAName of thehydra.haskell.syntax.Expression.lambdafield.static NameLEFT_SECTIONName of thehydra.haskell.syntax.Expression.leftSectionfield.static NameLETName of thehydra.haskell.syntax.Expression.letfield.static NameLISTName of thehydra.haskell.syntax.Expression.listfield.static NameLITERALName of thehydra.haskell.syntax.Expression.literalfield.static NameRIGHT_SECTIONName of thehydra.haskell.syntax.Expression.rightSectionfield.static NameTUPLEName of thehydra.haskell.syntax.Expression.tuplefield.static NameTYPE_Name of thehydra.haskell.syntax.Expressiontype.static NameTYPE_SIGNATUREName of thehydra.haskell.syntax.Expression.typeSignaturefield.static NameUPDATE_RECORDName of thehydra.haskell.syntax.Expression.updateRecordfield.static NameVARIABLEName of thehydra.haskell.syntax.Expression.variablefield.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract <R> Raccept(Expression.Visitor<R> visitor)Dispatch tovisitor.abstract inthydraOrdinal()
-
-
-
Field Detail
-
TYPE_
public static final Name TYPE_
Name of thehydra.haskell.syntax.Expressiontype.
-
APPLICATION
public static final Name APPLICATION
Name of thehydra.haskell.syntax.Expression.applicationfield.
-
CASE
public static final Name CASE
Name of thehydra.haskell.syntax.Expression.casefield.
-
CONSTRUCT_RECORD
public static final Name CONSTRUCT_RECORD
Name of thehydra.haskell.syntax.Expression.constructRecordfield.
-
DO
public static final Name DO
Name of thehydra.haskell.syntax.Expression.dofield.
-
IF
public static final Name IF
Name of thehydra.haskell.syntax.Expression.iffield.
-
INFIX_APPLICATION
public static final Name INFIX_APPLICATION
Name of thehydra.haskell.syntax.Expression.infixApplicationfield.
-
LITERAL
public static final Name LITERAL
Name of thehydra.haskell.syntax.Expression.literalfield.
-
LAMBDA
public static final Name LAMBDA
Name of thehydra.haskell.syntax.Expression.lambdafield.
-
LEFT_SECTION
public static final Name LEFT_SECTION
Name of thehydra.haskell.syntax.Expression.leftSectionfield.
-
LET
public static final Name LET
Name of thehydra.haskell.syntax.Expression.letfield.
-
LIST
public static final Name LIST
Name of thehydra.haskell.syntax.Expression.listfield.
-
RIGHT_SECTION
public static final Name RIGHT_SECTION
Name of thehydra.haskell.syntax.Expression.rightSectionfield.
-
TUPLE
public static final Name TUPLE
Name of thehydra.haskell.syntax.Expression.tuplefield.
-
TYPE_SIGNATURE
public static final Name TYPE_SIGNATURE
Name of thehydra.haskell.syntax.Expression.typeSignaturefield.
-
UPDATE_RECORD
public static final Name UPDATE_RECORD
Name of thehydra.haskell.syntax.Expression.updateRecordfield.
-
VARIABLE
public static final Name VARIABLE
Name of thehydra.haskell.syntax.Expression.variablefield.
-
-
Method Detail
-
accept
public abstract <R> R accept(Expression.Visitor<R> visitor)
Dispatch tovisitor.
-
hydraOrdinal
public abstract int hydraOrdinal()
-
-