mirror of
https://github.com/fluencelabs/assemblyscript
synced 2025-07-06 01:52:04 +00:00
Speedup some compiler routines (#441)
This commit is contained in:
@ -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
|
||||
|
Reference in New Issue
Block a user