src/classdef.jsx

mixin TemplateDefinition

new TemplateDefinition()

function buildInstantiationContext(errors : Array.<CompileError>, token : Token, formalTypeArgs : Array.<Token>, actualTypeArgs : Array.<Type>) : InstantiationContext

class ClassDefinition

static const var IS_CONST : number

static const var IS_ABSTRACT : number

static const var IS_FINAL : number

static const var IS_STATIC : number

static const var IS_NATIVE : number

static const var IS_OVERRIDE : number

static const var IS_INTERFACE : number

static const var IS_MIXIN : number

static const var IS_FAKE : number

static const var IS_READONLY : number

static const var IS_INLINE : number

static const var IS_PURE : number

static const var IS_DELETE : number

static const var IS_GENERATOR : number

static const var IS_EXPORT : number

static const var GET_MEMBER_MODE_ALL : number

static const var GET_MEMBER_MODE_CLASS_ONLY : number

static const var GET_MEMBER_MODE_SUPER : number

static const var GET_MEMBER_MODE_FUNCTION_WITH_BODY : number

new ClassDefinition(token : Token, className : string, flags : number, extendType : ParsedObjectType, implementTypes : Array.<ParsedObjectType>, members : Array.<MemberDefinition>, inners : Array.<ClassDefinition>, templateInners : Array.<TemplateClassDefinition>, objectTypesUsed : Array.<ParsedObjectType>, docComment : DocComment)

function serialize() : variant

static function serialize(classDefs : Array.<ClassDefinition>) : variant

function getParser() : Parser

function setParser(parser : Parser) : void

function getNativeSource() : Token

function setNativeSource(nativeSource : Token) : void

function getToken() : Token

function className() : string

function classFullName() : string

function flags() : number

function setFlags(flags : number) : void

function extendType() : ParsedObjectType

function implementTypes() : Array.<ParsedObjectType>

function members() : Array.<MemberDefinition>

function setOuterClassDef(outer : ClassDefinition) : void

function getOuterClassDef() : ClassDefinition

function getInnerClasses() : Array.<ClassDefinition>

function getTemplateInnerClasses() : Array.<TemplateClassDefinition>

function getDocComment() : DocComment

function setDocComment(docComment : DocComment) : void

function forEachClassToBase(cb : function (:ClassDefinition) : boolean) : boolean

function forEachClassFromBase(cb : function (:ClassDefinition) : boolean) : boolean

function forEachMember(cb : function (:MemberDefinition) : boolean) : boolean

function forEachMemberVariable(cb : function (:MemberVariableDefinition) : boolean) : boolean

function forEachMemberFunction(cb : function (:MemberFunctionDefinition) : boolean) : boolean

function forEachInnerClass(cb : function (:ClassDefinition) : boolean) : boolean

function getMemberTypeByName(errors : Array.<CompileError>, token : Token, name : string, isStatic : boolean, typeArgs : Array.<Type>, mode : number) : Type

function lookupInnerClass(className : string) : ClassDefinition

function lookupTemplateInnerClass(errors : Array.<CompileError>, request : TemplateInstantiationRequest, postInstantiationCallback : function (:Parser, :ClassDefinition) : ClassDefinition) : ClassDefinition

function createGetTemplateClassCallback(errors : Array.<CompileError>, request : TemplateInstantiationRequest, postInstantiationCallback : function (:Parser, :ClassDefinition) : ClassDefinition) : function (:Array.<CompileError>, :TemplateInstantiationRequest, :function (:Parser, :ClassDefinition) : ClassDefinition) : ClassDefinition

function instantiate(instantiationContext : InstantiationContext) : ClassDefinition

function normalizeClassDefs(errors : Array.<CompileError>) : void

function resolveTypes(context : AnalysisContext) : void

function setAnalysisContextOfVariables(context : AnalysisContext) : void

function analyze(context : AnalysisContext) : void

function analyzeUnusedVariables() : void

function isConvertibleTo(classDef : ClassDefinition) : boolean

function hasDefaultConstructor() : boolean

static function membersAreEqual(x : MemberDefinition, y : MemberDefinition) : boolean

abstract class MemberDefinition

new MemberDefinition(token : Token, nameToken : Token, flags : number, closures : Array.<MemberFunctionDefinition>, docComment : DocComment)

abstract function serialize() : variant

abstract function instantiate(instantiationContext : InstantiationContext) : MemberDefinition

abstract function getType() : Type

function getToken() : Token

function getNameToken() : Token

function name() : string

function flags() : number

function setFlags(flags : number) : void

function getClosures() : Array.<MemberFunctionDefinition>

function forEachClosure(cb : function (:MemberFunctionDefinition) : boolean) : boolean

function getDocComment() : DocComment

function setDocComment(docComment : DocComment) : void

function getClassDef() : ClassDefinition

function setClassDef(classDef : ClassDefinition) : void

abstract function getNotation() : string

class MemberVariableDefinition extends MemberDefinition

static const var NOT_ANALYZED : number

static const var IS_ANALYZING : number

static const var ANALYZE_SUCEEDED : number

static const var ANALYZE_FAILED : number

new MemberVariableDefinition(token : Token, name : Token, flags : number, type : Type, initialValue : Expression, closures : Array.<MemberFunctionDefinition>, docComment : DocComment)

override function instantiate(instantiationContext : InstantiationContext) : MemberDefinition

override function toString() : string

override function serialize() : variant

function setAnalysisContext(context : AnalysisContext) : void

override function getType() : Type

function getInitialValue() : Expression

function setInitialValue(initialValue : Expression) : void

override function getNotation() : string

class MemberFunctionDefinition extends MemberDefinition implements Block

new MemberFunctionDefinition(token : Token, name : Token, flags : number, returnType : Type, args : Array.<ArgumentDeclaration>, locals : Array.<LocalVariable>, statements : Array.<Statement>, closures : Array.<MemberFunctionDefinition>, lastTokenOfBody : Token, docComment : DocComment)

function isAnonymous() : boolean

function isGenerator() : boolean

override function getNotation() : string

Returns a simple notation of the function like "Class.classMethod(:string):void" or "Class.instanceMethod(:string):void".

override function toString() : string

function clone() : MemberFunctionDefinition

override function instantiate(instantiationContext : InstantiationContext) : MemberFunctionDefinition

override function serialize() : variant

function analyze(outerContext : AnalysisContext) : void

function generateWrappersForDefaultParameters(errors : Array.<CompileError>) : void

function getReturnType() : Type

function setReturnType(type : Type) : void

function getArguments() : Array.<ArgumentDeclaration>

function getArgumentTypes() : Array.<Type>

function getFuncLocal() : LocalVariable

function setFuncLocal(funcLocal : LocalVariable) : void

function getParent() : MemberFunctionDefinition

function setParent(parent : MemberFunctionDefinition) : void

function getLocals() : Array.<LocalVariable>

function getStatements() : Array.<Statement>

function getLocal(context : AnalysisContext, name : string) : LocalVariable

override function getType() : FunctionType

function deductTypeIfUnknown(context : AnalysisContext, type : ResolvedFunctionType) : boolean

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

class InstantiatedMemberFunctionDefinition extends MemberFunctionDefinition

new InstantiatedMemberFunctionDefinition(token : Token, name : Token, flags : number, returnType : Type, args : Array.<ArgumentDeclaration>, locals : Array.<LocalVariable>, statements : Array.<Statement>, closures : Array.<MemberFunctionDefinition>, lastTokenOfBody : Token, docComment : DocComment)

class TemplateFunctionDefinition extends MemberFunctionDefinition implements TemplateDefinition

new TemplateFunctionDefinition(token : Token, name : Token, flags : number, typeArgs : Array.<Token>, returnType : Type, args : Array.<ArgumentDeclaration>, locals : Array.<LocalVariable>, statements : Array.<Statement>, closures : Array.<MemberFunctionDefinition>, lastTokenOfBody : Token, docComment : DocComment)

function getTypeArguments() : Array.<Token>

override function instantiate(instantiationContext : InstantiationContext) : MemberFunctionDefinition

function instantiateTemplateFunction(errors : Array.<CompileError>, token : Token, typeArgs : Array.<Type>) : MemberFunctionDefinition

class TemplateClassDefinition extends ClassDefinition implements TemplateDefinition

new TemplateClassDefinition(token : Token, className : string, flags : number, typeArgs : Array.<Token>, extendType : ParsedObjectType, implementTypes : Array.<ParsedObjectType>, members : Array.<MemberDefinition>, inners : Array.<ClassDefinition>, templateInners : Array.<TemplateClassDefinition>, objectTypesUsed : Array.<ParsedObjectType>, docComment : DocComment)

override function getToken() : Token

override function className() : string

override function flags() : number

function getTypeArguments() : Array.<Token>

override function instantiate(instantiationContext : InstantiationContext) : TemplateClassDefinition

function instantiateTemplateClass(errors : Array.<CompileError>, request : TemplateInstantiationRequest) : InstantiatedClassDefinition

class InstantiatedClassDefinition extends ClassDefinition

new InstantiatedClassDefinition(templateClassDef : TemplateClassDefinition, typeArguments : Array.<Type>, extendType : ParsedObjectType, implementTypes : Array.<ParsedObjectType>, members : Array.<MemberDefinition>, inners : Array.<ClassDefinition>, templateInners : Array.<TemplateClassDefinition>, objectTypesUsed : Array.<ParsedObjectType>)

function getTemplateClass() : TemplateClassDefinition

function getTemplateClassName() : string

function getTypeArguments() : Array.<Type>

function typeArgumentsAreEqual(typeArgs : Array.<Type>) : boolean

override function instantiate(instantiationContext : InstantiationContext) : InstantiatedClassDefinition