src/analysis.jsx

class InstantiationContext

var errors : Array.<CompileError>

var typemap : Map.<Type>

var objectTypesUsed : Array.<ParsedObjectType>

new InstantiationContext(errors : Array.<CompileError>, typemap : Map.<Type>)

class TemplateInstantiationRequest

new TemplateInstantiationRequest(token : Token, className : string, typeArgs : Array.<Type>)

function getToken() : Token

function getClassName() : string

function getTypeArguments() : Array.<Type>

interface Block

new Block()

class BlockContext

var localVariableStatuses : LocalVariableStatuses

var block : Block

new BlockContext(localVariableStatuses : LocalVariableStatuses, block : Block)

class AnalysisContext

var errors : Array.<CompileError>

var parser : Parser

var postInstantiationCallback : function (:Parser, :ClassDefinition) : ClassDefinition

var funcDef : MemberFunctionDefinition

var blockStack : Array.<BlockContext>

var statement : Statement

new AnalysisContext(errors : Array.<CompileError>, parser : Parser, postInstantiationCallback : function (:Parser, :ClassDefinition) : ClassDefinition)

function clone() : AnalysisContext

function setFuncDef(funcDef : MemberFunctionDefinition) : AnalysisContext

function setBlockStack(stack : Array.<BlockContext>) : AnalysisContext

function getTopBlock() : BlockContext

abstract class Stash

new Stash()

abstract function clone() : Stash

mixin Stashable

new Stashable()

function setStash(id : string, stash : Stash) : Stash

function getStash(id : string) : Stash

class LocalVariable

var isInstantiated : boolean

new LocalVariable(name : Token, type : Type)

function serialize() : variant

function getName() : Token

function getType() : Type

function setType(type : Type) : void

function setTypeForced(type : Type) : void

function touchVariable(context : AnalysisContext, token : Token, isAssignment : boolean) : boolean

override function toString() : string

function popInstantiated() : void

function getInstantiated() : LocalVariable

function instantiateAndPush(instantiationContext : InstantiationContext) : LocalVariable

class CaughtVariable extends LocalVariable

new CaughtVariable(name : Token, type : Type)

function clone() : CaughtVariable

override function touchVariable(context : AnalysisContext, token : Token, isAssignment : boolean) : boolean

override function instantiateAndPush(instantiationContext : InstantiationContext) : CaughtVariable

class ArgumentDeclaration extends LocalVariable

new ArgumentDeclaration(name : Token, type : Type)

new ArgumentDeclaration(name : Token, type : Type, defaultValue : Expression)

function clone() : ArgumentDeclaration

function getDefaultValue() : Expression

override function instantiateAndPush(instantiationContext : InstantiationContext) : ArgumentDeclaration

class LocalVariableStatuses

static const var UNTYPED_RECURSIVE_FUNCTION : number

static const var UNSET : number

static const var ISSET : number

static const var MAYBESET : number

new LocalVariableStatuses(funcDef : MemberFunctionDefinition, base : LocalVariableStatuses)

new LocalVariableStatuses(srcStatus : LocalVariableStatuses)

function clone() : LocalVariableStatuses

function merge(that : LocalVariableStatuses) : LocalVariableStatuses

function mergeFinally(postFinallyStats : LocalVariableStatuses) : LocalVariableStatuses

function setStatus(local : LocalVariable) : void

function getStatus(local : LocalVariable) : number

function isReachable() : boolean

function setIsReachable(isReachable : boolean) : void

abstract class CompileIssue

new CompileIssue(token : Token, message : string)

new CompileIssue(filename : string, lineNumber : number, columnNumber : number, message : string)

function format(platform : Platform) : string

abstract function getPrefix() : string

class CompileError extends CompileIssue

new CompileError(token : Token, message : string)

new CompileError(filename : string, lineNumber : number, columnNumber : number, message : string)

function addCompileNote(note : CompileNote) : CompileError

function addCompileNotes(notes : Array.<CompileNote>) : void

function getCompileNotes() : Array.<CompileNote>

override function getPrefix() : string

class CompileWarning extends CompileError

new CompileWarning(token : Token, message : string)

new CompileWarning(filename : string, lineNumber : number, columnNumber : number, message : string)

override function getPrefix() : string

class DeprecatedWarning extends CompileWarning

new DeprecatedWarning(token : Token, message : string)

new DeprecatedWarning(filename : string, lineNumber : number, columnNumber : number, message : string)

class CompileNote extends CompileIssue

new CompileNote(token : Token, message : string)

new CompileNote(filename : string, lineNumber : number, columnNumber : number, message : string)

override function getPrefix() : string