Speedup some compiler routines (#441)

This commit is contained in:
Max Graey
2019-02-22 15:03:33 +02:00
committed by Daniel Wirtz
parent cc5522d6cc
commit 65c799c925
6 changed files with 139 additions and 130 deletions

View File

@ -1614,33 +1614,34 @@ export class Program extends DiagnosticEmitter {
element = assert(parent.lookupInSelf(name)); // possibly merged
var members = declaration.members;
for (let i = 0, k = members.length; i < k; ++i) {
switch (members[i].kind) {
let member = members[i];
switch (member.kind) {
case NodeKind.CLASSDECLARATION: {
this.initializeClass(<ClassDeclaration>members[i], element, queuedExtends, queuedImplements);
this.initializeClass(<ClassDeclaration>member, element, queuedExtends, queuedImplements);
break;
}
case NodeKind.ENUMDECLARATION: {
this.initializeEnum(<EnumDeclaration>members[i], element);
this.initializeEnum(<EnumDeclaration>member, element);
break;
}
case NodeKind.FUNCTIONDECLARATION: {
this.initializeFunction(<FunctionDeclaration>members[i], element);
this.initializeFunction(<FunctionDeclaration>member, element);
break;
}
case NodeKind.INTERFACEDECLARATION: {
this.initializeInterface(<InterfaceDeclaration>members[i], element);
this.initializeInterface(<InterfaceDeclaration>member, element);
break;
}
case NodeKind.NAMESPACEDECLARATION: {
this.initializeNamespace(<NamespaceDeclaration>members[i], element, queuedExtends, queuedImplements);
this.initializeNamespace(<NamespaceDeclaration>member, element, queuedExtends, queuedImplements);
break;
}
case NodeKind.TYPEDECLARATION: {
this.initializeTypeDefinition(<TypeDeclaration>members[i], element);
this.initializeTypeDefinition(<TypeDeclaration>member, element);
break;
}
case NodeKind.VARIABLE: {
this.initializeVariables(<VariableStatement>members[i], element);
this.initializeVariables(<VariableStatement>member, element);
break;
}
default: assert(false); // namespace member expected