From 003dbe0d47c81fda9d0b5b6213fcadab4a155050 Mon Sep 17 00:00:00 2001 From: Richard Davey Date: Fri, 2 Feb 2024 13:58:08 +0000 Subject: [PATCH] tsgen updates --- scripts/tsgen/bin/Parser.js | 16 +++++++++++ scripts/tsgen/bin/Parser.js.map | 2 +- scripts/tsgen/src/Parser.ts | 50 +++++++++++++++++++++++++++------ 3 files changed, 59 insertions(+), 9 deletions(-) diff --git a/scripts/tsgen/bin/Parser.js b/scripts/tsgen/bin/Parser.js index 4ae94ce11..a03b9e569 100644 --- a/scripts/tsgen/bin/Parser.js +++ b/scripts/tsgen/bin/Parser.js @@ -20,6 +20,9 @@ class Parser { // overridden) members globally from the parsed DB this.resolveInheritance(docs); this.resolveParents(docs); + console.log('------------------------------------------------------------------'); + console.log('Add Integer Alias and Declare Module'); + console.log('------------------------------------------------------------------'); // add integer alias this.topLevel.push(dom.create.alias('integer', dom.type.number)); // add declare module @@ -28,6 +31,9 @@ class Parser { this.topLevel.push(phaserPkgModuleDOM); } emit() { + console.log('------------------------------------------------------------------'); + console.log('Parser Emit'); + console.log('------------------------------------------------------------------'); let ignored = []; let result = '// DO NOT EDIT THIS FILE! It was generated by running `npm run tsgen`\n/// \n\n'; result = result.concat(this.topLevel.reduce((out, obj) => { @@ -150,6 +156,7 @@ class Parser { let allTypes = new Set(); for (let doclet of docs) { let obj = (doclet.kind === 'namespace') ? this.namespaces[doclet.longname] : this.objects[doclet.longname]; + // console.log(`${doclet.longname} - Kind: ${doclet.kind}`); if (!obj) { console.log(`${doclet.longname} - Kind: ${doclet.kind}`); console.log(`Warning: Didn't find object`); @@ -165,6 +172,9 @@ class Parser { console.log(`${doclet.longname} - Kind: ${doclet.kind}`); console.log(`PARENT WARNING: ${doclet.longname} in ${doclet.meta.filename}@${doclet.meta.lineno} has parent '${doclet.memberof}' that is not defined.`); } + if (!parent.kind) { + console.log(`PARENT KIND WARNING: ${doclet.longname} in ${doclet.meta.filename}@${doclet.meta.lineno} has parent '${doclet.memberof}' that is not defined.`); + } if (parent.members) { parent.members.push(obj); } @@ -191,6 +201,9 @@ class Parser { } } resolveInheritance(docs) { + console.log('------------------------------------------------------------------'); + console.log('Resolve Inheritance'); + console.log('------------------------------------------------------------------'); for (let doclet of docs) { let obj = doclet.kind === 'namespace' ? this.namespaces[doclet.longname] : this.objects[doclet.longname]; if (!obj) { @@ -213,6 +226,9 @@ class Parser { } } resolveParents(docs) { + console.log('------------------------------------------------------------------'); + console.log('Resolve Parents'); + console.log('------------------------------------------------------------------'); for (let doclet of docs) { let obj = this.objects[doclet.longname]; if (!obj || doclet.kind !== 'class') diff --git a/scripts/tsgen/bin/Parser.js.map b/scripts/tsgen/bin/Parser.js.map index b48ee1669..5a946b451 100644 --- a/scripts/tsgen/bin/Parser.js.map +++ b/scripts/tsgen/bin/Parser.js.map @@ -1 +1 @@ -{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../src/Parser.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Parser.js","sourceRoot":"","sources":["../src/Parser.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/scripts/tsgen/src/Parser.ts b/scripts/tsgen/src/Parser.ts index 2ba8b241c..25035a4a5 100644 --- a/scripts/tsgen/src/Parser.ts +++ b/scripts/tsgen/src/Parser.ts @@ -31,6 +31,10 @@ export class Parser { this.resolveParents(docs); + console.log('------------------------------------------------------------------'); + console.log('Add Integer Alias and Declare Module'); + console.log('------------------------------------------------------------------'); + // add integer alias this.topLevel.push(dom.create.alias('integer', dom.type.number)); @@ -44,6 +48,10 @@ export class Parser { emit(): string { + console.log('------------------------------------------------------------------'); + console.log('Parser Emit'); + console.log('------------------------------------------------------------------'); + let ignored = []; let result = '// DO NOT EDIT THIS FILE! It was generated by running `npm run tsgen`\n/// \n\n'; @@ -197,6 +205,8 @@ export class Parser { { let obj = (doclet.kind === 'namespace') ? this.namespaces[doclet.longname] : this.objects[doclet.longname]; + // console.log(`${doclet.longname} - Kind: ${doclet.kind}`); + if (!obj) { console.log(`${doclet.longname} - Kind: ${doclet.kind}`); @@ -221,6 +231,11 @@ export class Parser { console.log(`PARENT WARNING: ${doclet.longname} in ${doclet.meta.filename}@${doclet.meta.lineno} has parent '${doclet.memberof}' that is not defined.`); } + if (!(parent as any).kind) + { + console.log(`PARENT KIND WARNING: ${doclet.longname} in ${doclet.meta.filename}@${doclet.meta.lineno} has parent '${doclet.memberof}' that is not defined.`); + } + if ((parent).members) { (parent).members.push(obj); @@ -258,6 +273,10 @@ export class Parser { private resolveInheritance(docs: any[]) { + console.log('------------------------------------------------------------------'); + console.log('Resolve Inheritance'); + console.log('------------------------------------------------------------------'); + for (let doclet of docs) { let obj = doclet.kind === 'namespace' ? this.namespaces[doclet.longname] : this.objects[doclet.longname]; @@ -289,28 +308,43 @@ export class Parser { } } - private resolveParents(docs: any[]) { - for (let doclet of docs) { + private resolveParents(docs: any[]) + { + console.log('------------------------------------------------------------------'); + console.log('Resolve Parents'); + console.log('------------------------------------------------------------------'); + + for (let doclet of docs) + { let obj = this.objects[doclet.longname]; + if (!obj || doclet.kind !== 'class') continue; let o = obj as dom.ClassDeclaration; // resolve augments - if (doclet.augments && doclet.augments.length) { - for (let augment of doclet.augments) { + if (doclet.augments && doclet.augments.length) + { + for (let augment of doclet.augments) + { let name: string = this.prepareTypeName(augment); let wrappingName = name.match(/[^<]+/s)[0];//gets everything up to a first < (to handle augments with type parameters) let baseType = this.objects[wrappingName] as dom.ClassDeclaration | dom.InterfaceDeclaration; - if (!baseType) { + if (!baseType) + { console.log(`ERROR: Did not find base type: ${augment} for ${doclet.longname}`); - } else { - if (baseType.kind == 'class') { + } + else + { + if (baseType.kind == 'class') + { o.baseType = dom.create.class(name); - } else { + } + else + { o.implements.push(dom.create.interface(name)); } }