Module: IV::Phonic::AST

Defined in:
lib/iv/phonic/ast.rb

Defined Under Namespace

Classes: ArrayHole, ArrayLiteral, Assignment, BinaryOperation, Block, BreakStatement, CaseClause, ConditionalExpression, ConstructorCall, ContinueStatement, DataProperty, DebuggerStatement, Declaration, DoWhileStatement, EmptyStatement, Expression, ExpressionStatement, FalseLiteral, ForInStatement, ForStatement, FunctionCall, FunctionDeclaration, FunctionLiteral, FunctionStatement, GetterProperty, Identifier, IdentifierAccess, IfStatement, IndexAccess, LabelledStatement, Literal, Node, NullLiteral, NumberLiteral, ObjectLiteral, PostfixExpression, Program, Property, RegExpLiteral, ReturnStatement, SetterProperty, Statement, StringLiteral, SwitchStatement, ThisLiteral, ThrowStatement, TrueLiteral, TryStatement, UnaryOperation, VariableStatement, WhileStatement, WithStatement

Constant Summary collapse

PropertyType2Class =
{
  :Data => DataProperty,
  :Getter => GetterProperty,
  :Setter => SetterProperty
}
StatementType2Class =
{
  :Block => Block,
  :FunctionStatement => FunctionStatement,
  :FunctionDeclaration => FunctionDeclaration,
  :VariableStatement => VariableStatement,
  :EmptyStatement => EmptyStatement,
  :IfStatement => IfStatement,
  :DoWhileStatement => DoWhileStatement,
  :WhileStatement => WhileStatement,
  :ForStatement => ForStatement,
  :ForInStatement => ForInStatement,
  :ContinueStatement => ContinueStatement,
  :BreakStatement => BreakStatement,
  :ReturnStatement => ReturnStatement,
  :WithStatement => WithStatement,
  :LabelledStatement => LabelledStatement,
  :SwitchStatement => SwitchStatement,
  :ThrowStatement => ThrowStatement,
  :TryStatement => TryStatement,
  :DebuggerStatement => DebuggerStatement,
  :ExpressionStatement => ExpressionStatement
}
ExpressionType2Class =
{
    :Assignment => Assignment,
    :BinaryOperation => BinaryOperation,
    :ConditionalExpression => ConditionalExpression,
    :UnaryOperation => UnaryOperation,
    :PostfixExpression => PostfixExpression,
    :StringLiteral => StringLiteral,
    :NumberLiteral => NumberLiteral,
    :Identifier => Identifier,
    :ThisLiteral => ThisLiteral,
    :NullLiteral => NullLiteral,
    :TrueLiteral => TrueLiteral,
    :FalseLiteral => FalseLiteral,
    :RegExpLiteral => RegExpLiteral,
    :ObjectLiteral => ObjectLiteral,
    :ArrayLiteral => ArrayLiteral,
    :ArrayHole => ArrayHole,
    :FunctionLiteral => FunctionLiteral,
    :IndexAccess => IndexAccess,
    :IdentifierAccess => IdentifierAccess,
    :FunctionCall => FunctionCall,
    :ConstructorCall => ConstructorCall
}