Properly resolve top level enums to i32s, see #116

This commit is contained in:
dcodeIO
2018-05-22 12:06:03 +02:00
parent ea0eb7f1a5
commit 33b10e347b
12 changed files with 91 additions and 129 deletions

View File

@ -1738,10 +1738,12 @@ export class Program extends DiagnosticEmitter {
var localName = typeNode.range.source.internalPath + PATH_DELIMITER + simpleName;
var element: Element | null;
// check file-global / program-global element
if ((element = this.elementsLookup.get(localName)) || (element = this.elementsLookup.get(globalName))) {
if (
(element = this.elementsLookup.get(localName)) || // file-global
(element = this.elementsLookup.get(globalName)) // program-global
) {
switch (element.kind) {
case ElementKind.ENUM: return Type.i32;
case ElementKind.CLASS_PROTOTYPE: {
let instance = (<ClassPrototype>element).resolveUsingTypeArguments(
typeNode.typeArguments,