Lines Matching full:compiler
34 import { Compiler } from "../compiler";
59 export function compileClassDeclaration(compiler: Compiler, stmt: ts.ClassLikeDeclaration): void {
60 compiler.pushScope(stmt);
62 let pandaGen = compiler.getPandaGen();
70 let baseVreg = compileHeritageClause(compiler, stmt);
83 compiler.compileExpression(<ts.Expression>prop.getValue());
99 … compiler.getCompilerDriver().getFuncInternalName(<ts.MethodDeclaration>prop.getValue(),
100 compiler.getRecorder()));
107 compiler.compileExpression(<ts.Expression | ts.Identifier>prop.getValue());
124 createClassLiteralBuf(compiler, classBuffer, stmt, [baseVreg, classReg]);
126 compileUnCompiledProperty(compiler, properties, classReg);
129 let classScope = <Scope>compiler.getRecorder().getScopeOfNode(stmt);
163 compiler.popScope();
202 export function compileDefaultConstructor(compiler: Compiler, ctrNode: ts.ConstructorDeclaration): …
209 compileSuperCall(compiler, callNode, [], true);
210 compileConstructor(compiler, ctrNode, false);
213 function compileUnCompiledProperty(compiler: Compiler, properties: Property[], classReg: VReg): voi…
214 let pandaGen = compiler.getPandaGen();
223 compiler.compileExpression(<ts.Expression>prop.getValue());
227 compileUnCompiledVariable(compiler, prop, classReg);
231 compiler.compileExpression((<ts.ComputedPropertyName>prop.getName()).expression);
233 compileComputedProperty(compiler, prop, classReg, keyReg);
236 setClassAccessor(pandaGen, compiler, classReg, prop);
244 function compileUnCompiledVariable(compiler: Compiler, prop: Property, classReg: VReg): void {
245 let pandaGen = compiler.getPandaGen();
251 …flag = createClassMethodOrAccessor(compiler, classReg, proptoReg, tmpReg, <ts.MethodDeclaration>pr…
253 compiler.compileExpression(<ts.Expression | ts.Identifier>prop.getValue());
254 … flag = setPrototypeAttributes(compiler, prop.getValue().parent, classReg, proptoReg, tmpReg);
263 function createClassLiteralBuf(compiler: Compiler, classBuffer: LiteralBuffer,
267 let ctorNode = compiler.getRecorder().getCtorOfClass(stmt);
268 …let internalName = compiler.getCompilerDriver().getInternalNameForCtor(stmt, <ts.ConstructorDeclar…
270 let pandaGen = compiler.getPandaGen();
276 export function compileDefaultInitClassMembers(compiler: Compiler, node: ts.ConstructorDeclaration)…
277 let pandaGen = compiler.getPandaGen();
288 compiler.getThis(node, thisReg);
290 compiler.compileExpression(decl.initializer);
306 compiler.compileExpression(decl.name.expression);
324 export function compileReturnThis4Ctor(compiler: Compiler, node: ts.ConstructorDeclaration, unreach…
325 let pandaGen = compiler.getPandaGen();
332 compiler.getThis(node, thisReg);
335 checkValidUseSuperBeforeSuper(compiler, node);
341 export function compileConstructor(compiler: Compiler, node: ts.ConstructorDeclaration, unreachable…
342 let pandaGen = compiler.getPandaGen();
348 let lref = LReference.generateLReference(compiler, decl.name, true);
350 compiler.compileExpression(decl.initializer);
362 compiler.getThis(node, thisReg);
364 checkValidUseSuperBeforeSuper(compiler, node);
370 export function compileSuperCall(compiler: Compiler, node: ts.CallExpression, args: VReg[], hasSpre…
371 let pandaGen = compiler.getPandaGen();
375 … createArrayFromElements(node, compiler, <ts.NodeArray<ts.Expression>>node.arguments, argArray);
376 loadCtorObj(node, compiler);
381 loadCtorObj(node, compiler);
388 checkValidUseSuperBeforeSuper(compiler, node);
393 compiler.setThis(node);
396 function loadCtorObj(node: ts.CallExpression, compiler: Compiler): void {
397 let recorder = compiler.getRecorder();
398 let pandaGen = compiler.getPandaGen();
481 function compileHeritageClause(compiler: Compiler, node: ts.ClassLikeDeclaration): VReg {
482 let pandaGen = compiler.getPandaGen();
488 compiler.compileExpression(exp.expression);
631 function compileComputedProperty(compiler: Compiler, prop: Property, classReg: VReg, keyReg: VReg):…
632 let pandaGen = compiler.getPandaGen();
637 compiler.compileExpression(initializer);
645 …let flag = createClassMethodOrAccessor(compiler, classReg, protoReg, tmpReg, <ts.MethodDeclaration…
654 … let getFlag = createClassMethodOrAccessor(compiler, classReg, getProtoReg, accessorReg, getter);
664 … let setFlag = createClassMethodOrAccessor(compiler, classReg, setProtoReg, accesReg, setter);
676 function setClassAccessor(pandaGen: PandaGen, compiler: Compiler, objReg: VReg, prop: Property): vo…
689 flag = createClassMethodOrAccessor(compiler, objReg, tmpVreg, getterReg, getter);
694 flag = createClassMethodOrAccessor(compiler, objReg, tmpVreg, setterReg, setter);
711 function createClassMethodOrAccessor(compiler: Compiler, classReg: VReg, propReg: VReg, storeReg: V…
713 let pandaGen = compiler.getPandaGen();
715 createMethodOrAccessor(pandaGen, compiler, classReg, node);
723 createMethodOrAccessor(pandaGen, compiler, propReg, node);
746 export function setPrototypeAttributes(compiler: Compiler, node: ts.Node, classReg: VReg, propReg: …
747 let pandaGen = compiler.getPandaGen();
799 export function compileSuperProperty(compiler: Compiler, expr: ts.Expression, thisReg: VReg, prop: …
800 checkValidUseSuperBeforeSuper(compiler, expr);
801 let pandaGen = compiler.getPandaGen();
802 compiler.getThis(expr, thisReg);
807 export function checkValidUseSuperBeforeSuper(compiler: Compiler, node: ts.Node): void {
808 let pandaGen = compiler.getPandaGen();
816 compiler.getThis(node, thisReg);