src/statement.jsx

abstract class Statement

new Statement()

function analyze(context : AnalysisContext) : boolean

function forEachStatement(cb : function (:Statement) : boolean) : boolean

function handleStatements(cb : function (:Array.<Statement>) : boolean) : boolean

function forEachExpression(cb : function (:Expression) : boolean) : boolean

abstract function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

abstract function getToken() : Token

abstract function doAnalyze(context : AnalysisContext) : boolean

static function assertIsReachable(context : AnalysisContext, token : Token) : boolean

abstract function clone() : Statement

abstract function serialize() : variant

class ConstructorInvocationStatement extends Statement

new ConstructorInvocationStatement(token : Token, ctorClassType : Type, args : Array.<Expression>)

new ConstructorInvocationStatement(token : Token, ctorClassType : Type, args : Array.<Expression>, ctorFunctionType : FunctionType)

override function clone() : Statement

function instantiate(instantiationContext : InstantiationContext) : Statement

override function getToken() : Token

function getArguments() : Array.<Expression>

function getConstructingClassDef() : ClassDefinition

function getConstructorType() : FunctionType

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

abstract class UnaryExpressionStatement extends Statement

new UnaryExpressionStatement(expr : Expression)

override function getToken() : Token

function getExpr() : Expression

function setExpr(expr : Expression) : void

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class ExpressionStatement extends UnaryExpressionStatement

new ExpressionStatement(expr : Expression)

override function clone() : Statement

override function serialize() : variant

class FunctionStatement extends Statement

new FunctionStatement(token : Token, funcDef : MemberFunctionDefinition)

override function clone() : FunctionStatement

override function getToken() : Token

function getFuncDef() : MemberFunctionDefinition

function setFuncDef(funcDef : MemberFunctionDefinition) : void

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class ReturnStatement extends Statement

new ReturnStatement(token : Token, expr : Expression)

override function clone() : Statement

override function getToken() : Token

function getExpr() : Expression

function setExpr(expr : Expression) : void

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class YieldStatement extends Statement

new YieldStatement(token : Token, expr : Expression)

override function clone() : Statement

override function getToken() : Token

function getExpr() : Expression

function setExpr(expr : Expression) : void

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class DeleteStatement extends UnaryExpressionStatement

new DeleteStatement(token : Token, expr : Expression)

override function clone() : Statement

override function getToken() : Token

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

abstract class JumpStatement extends Statement

new JumpStatement(token : Token, label : Token)

override function getToken() : Token

function getLabel() : Token

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class BreakStatement extends JumpStatement

new BreakStatement(token : Token, label : Token)

override function clone() : Statement

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class ContinueStatement extends JumpStatement

new ContinueStatement(token : Token, label : Token)

override function clone() : Statement

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

abstract class LabellableStatement extends Statement implements Block

new LabellableStatement(token : Token, label : Token)

override function getToken() : Token

function getLabel() : Token

function registerVariableStatusesOnBreak(statuses : LocalVariableStatuses) : void

abstract class ContinuableStatement extends LabellableStatement

new ContinuableStatement(token : Token, label : Token, statements : Array.<Statement>)

function getStatements() : Array.<Statement>

override function forEachStatement(cb : function (:Statement) : boolean) : boolean

override function handleStatements(cb : function (:Array.<Statement>) : boolean) : boolean

function registerVariableStatusesOnContinue(statuses : LocalVariableStatuses) : void

class DoWhileStatement extends ContinuableStatement

new DoWhileStatement(token : Token, label : Token, expr : Expression, statements : Array.<Statement>)

override function clone() : Statement

function getExpr() : Expression

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class ForInStatement extends ContinuableStatement

new ForInStatement(token : Token, label : Token, lhsExpr : Expression, listExpr : Expression, statements : Array.<Statement>)

override function clone() : Statement

function getLHSExpr() : Expression

function getListExpr() : Expression

override function getStatements() : Array.<Statement>

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class ForStatement extends ContinuableStatement

new ForStatement(token : Token, label : Token, initExpr : Expression, condExpr : Expression, postExpr : Expression, statements : Array.<Statement>)

override function clone() : Statement

function getInitExpr() : Expression

function setInitExpr(expr : Expression) : void

function getCondExpr() : Expression

function getPostExpr() : Expression

override function getStatements() : Array.<Statement>

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class IfStatement extends Statement implements Block

new IfStatement(token : Token, expr : Expression, onTrueStatements : Array.<Statement>, onFalseStatements : Array.<Statement>)

override function clone() : Statement

override function getToken() : Token

function getExpr() : Expression

function setExpr(expr : Expression) : void

function getOnTrueStatements() : Array.<Statement>

function getOnFalseStatements() : Array.<Statement>

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachStatement(cb : function (:Statement) : boolean) : boolean

override function handleStatements(cb : function (:Array.<Statement>) : boolean) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class SwitchStatement extends LabellableStatement

new SwitchStatement(token : Token, label : Token, expr : Expression, statements : Array.<Statement>)

override function clone() : Statement

function getExpr() : Expression

function setExpr(expr : Expression) : void

function getStatements() : Array.<Statement>

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachStatement(cb : function (:Statement) : boolean) : boolean

override function handleStatements(cb : function (:Array.<Statement>) : boolean) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

static function resetLocalVariableStatuses(context : AnalysisContext) : void

class CaseStatement extends Statement

new CaseStatement(token : Token, expr : Expression)

override function clone() : Statement

override function getToken() : Token

function getExpr() : Expression

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class DefaultStatement extends Statement

new DefaultStatement(token : Token)

override function clone() : Statement

override function getToken() : Token

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class WhileStatement extends ContinuableStatement

new WhileStatement(token : Token, label : Token, expr : Expression, statements : Array.<Statement>)

override function clone() : Statement

function getExpr() : Expression

override function getStatements() : Array.<Statement>

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class TryStatement extends Statement implements Block

new TryStatement(token : Token, tryStatements : Array.<Statement>, catchStatements : Array.<CatchStatement>, finallyStatements : Array.<Statement>)

override function clone() : Statement

override function getToken() : Token

function getTryStatements() : Array.<Statement>

function getCatchStatements() : Array.<CatchStatement>

function getFinallyStatements() : Array.<Statement>

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachStatement(cb : function (:Statement) : boolean) : boolean

override function handleStatements(cb : function (:Array.<Statement>) : boolean) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class CatchStatement extends Statement implements Block

new CatchStatement(token : Token, local : CaughtVariable, statements : Array.<Statement>)

override function clone() : Statement

override function getToken() : Token

function getLocal() : CaughtVariable

function setLocal(local : CaughtVariable) : void

function getStatements() : Array.<Statement>

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachStatement(cb : function (:Statement) : boolean) : boolean

override function handleStatements(cb : function (:Array.<Statement>) : boolean) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class ThrowStatement extends Statement

new ThrowStatement(token : Token, expr : Expression)

override function clone() : Statement

override function getToken() : Token

function getExpr() : Expression

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

abstract class InformationStatement extends Statement

new InformationStatement(token : Token)

override function getToken() : Token

class AssertStatement extends InformationStatement

new AssertStatement(token : Token, expr : Expression, msgExpr : Expression)

override function clone() : Statement

function getExpr() : Expression

function getMessageExpr() : Expression

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class LogStatement extends InformationStatement

new LogStatement(token : Token, exprs : Array.<Expression>)

override function clone() : Statement

function getExprs() : Array.<Expression>

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class DebuggerStatement extends InformationStatement

new DebuggerStatement(token : Token)

override function clone() : Statement

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class GotoStatement extends Statement

var label : string

new GotoStatement(label : string)

function getLabel() : string

override function getToken() : Token

override function clone() : Statement

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean

class LabelStatement extends Statement

new LabelStatement(name : string)

function getName() : string

override function getToken() : Token

override function clone() : Statement

override function serialize() : variant

override function doAnalyze(context : AnalysisContext) : boolean

override function forEachExpression(cb : function (:Expression, :function (:Expression) : void) : boolean) : boolean