diff --git a/scripts/tsgen/bin/Parser.js b/scripts/tsgen/bin/Parser.js index 9442aaeeb..efd578867 100644 --- a/scripts/tsgen/bin/Parser.js +++ b/scripts/tsgen/bin/Parser.js @@ -36,7 +36,9 @@ class Parser { return result; } parseObjects(docs) { + console.log('------------------------------------------------------------------'); console.log('Parse Objects'); + console.log('------------------------------------------------------------------'); for (let i = 0; i < docs.length; i++) { let doclet = docs[i]; switch (doclet.longname) { @@ -81,7 +83,7 @@ class Parser { if ((doclet.longname.indexOf('Phaser.Physics.Arcade.Components.') == 0 || doclet.longname.indexOf('Phaser.Physics.Impact.Components.') == 0 || doclet.longname.indexOf('Phaser.Physics.Matter.Components.') == 0) && doclet.longname.indexOf('#') == -1) { doclet.kind = 'mixin'; } - console.log(`Name: ${doclet.longname} - Kind: ${doclet.kind}`); + // console.log(`Name: ${doclet.longname} - Kind: ${doclet.kind}`); let obj; let container = this.objects; switch (doclet.kind) { @@ -131,12 +133,15 @@ class Parser { } } resolveObjects(docs) { - console.log('Parse Objects'); + console.log('------------------------------------------------------------------'); + console.log('Resolve Objects'); + console.log('------------------------------------------------------------------'); let allTypes = new Set(); for (let doclet of docs) { - let obj = doclet.kind === 'namespace' ? this.namespaces[doclet.longname] : this.objects[doclet.longname]; + let obj = (doclet.kind === 'namespace') ? this.namespaces[doclet.longname] : this.objects[doclet.longname]; if (!obj) { - console.log(`Warning: Didn't find object for ${doclet.longname}`); + console.log(`${doclet.longname} - Kind: ${doclet.kind}`); + console.log(`Warning: Didn't find object`); continue; } if (!doclet.memberof) { @@ -145,49 +150,31 @@ class Parser { else { let isNamespaceMember = doclet.kind === 'class' || doclet.kind === 'typedef' || doclet.kind == 'namespace' || doclet.isEnum; let parent = isNamespaceMember ? this.namespaces[doclet.memberof] : (this.objects[doclet.memberof] || this.namespaces[doclet.memberof]); - //TODO: this whole section should be removed once stable if (!parent) { - console.log(`***-> ${doclet.longname} in ${doclet.meta.filename}@${doclet.meta.lineno} has parent '${doclet.memberof}' that is not defined.`); - let parts = doclet.memberof.split('.'); - let newParts = [parts.pop()]; - while (parts.length > 0 && this.objects[parts.join('.')] == null) - newParts.unshift(parts.pop()); - parent = this.objects[parts.join('.')]; - if (parent == null) { - parent = dom.create.namespace(doclet.memberof); - this.namespaces[doclet.memberof] = parent; - this.topLevel.push(parent); - } - else { - while (newParts.length > 0) { - let oldParent = parent; - parent = dom.create.namespace(newParts.shift()); - parts.push(parent.name); - this.namespaces[parts.join('.')] = parent; - oldParent.members.push(parent); - parent._parent = oldParent; - } - } + 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.members) { parent.members.push(obj); } else { - console.log('Cannot find members array for:'); + console.log(`${doclet.longname} - Kind: ${doclet.kind}`); + console.log('Could not find members array'); console.log(parent); } obj._parent = parent; - // class/interface members have methods, not functions - if ((parent.kind === 'class' || parent.kind === 'interface') - && obj.kind === 'function') + // class / interface members have methods, not functions + if ((parent.kind === 'class' || parent.kind === 'interface') && obj.kind === 'function') { obj.kind = 'method'; + } // namespace members are vars or consts, not properties if (parent.kind === 'namespace' && obj.kind === 'property') { - if (doclet.kind == 'constant') + if (doclet.kind == 'constant') { obj.kind = 'const'; - else + } + else { obj.kind = 'var'; + } } } } @@ -196,16 +183,17 @@ class Parser { for (let doclet of docs) { let obj = doclet.kind === 'namespace' ? this.namespaces[doclet.longname] : this.objects[doclet.longname]; if (!obj) { - // TODO console.log(`Didn't find type ${doclet.longname} ???`); continue; } if (!obj._parent) continue; - if (doclet.inherited) { // remove inherited members if they aren't from an interface + if (doclet.inherited) { + // remove inherited members if they aren't from an interface let from = this.objects[doclet.inherits]; - if (!from || !from._parent) + if (!from || !from._parent) { throw `'${doclet.longname}' should inherit from '${doclet.inherits}', which is not defined.`; + } if (from._parent.kind != 'interface') { obj._parent.members.splice(obj._parent.members.indexOf(obj), 1); obj._parent = null; @@ -348,7 +336,6 @@ class Parser { let optional = false; obj.jsDocComment = ''; for (let paramDoc of doclet.params) { - // TODO REMOVE TEMP FIX if (!paramDoc.name) { console.log(`Docs Error in '${doclet.longname}' in ${doclet.meta.filename}@${doclet.meta.lineno}`); console.info(paramDoc); @@ -362,7 +349,6 @@ class Parser { obj.jsDocComment += `\n@param ${paramDoc.name} ` + defaultVal; continue; } - /////////////////////// let param = dom.create.parameter(paramDoc.name, this.parseType(paramDoc)); parameters.push(param); if (optional && paramDoc.optional != true) { diff --git a/scripts/tsgen/bin/Parser.js.map b/scripts/tsgen/bin/Parser.js.map index 95afc5c73..90e091cc6 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 092c27543..6409760ab 100644 --- a/scripts/tsgen/src/Parser.ts +++ b/scripts/tsgen/src/Parser.ts @@ -58,7 +58,9 @@ export class Parser { private parseObjects(docs: any[]) { + console.log('------------------------------------------------------------------'); console.log('Parse Objects'); + console.log('------------------------------------------------------------------'); for (let i = 0; i < docs.length; i++) { @@ -111,7 +113,7 @@ export class Parser { doclet.kind = 'mixin'; } - console.log(`Name: ${doclet.longname} - Kind: ${doclet.kind}`); + // console.log(`Name: ${doclet.longname} - Kind: ${doclet.kind}`); let obj: dom.DeclarationBase; let container = this.objects; @@ -171,17 +173,20 @@ export class Parser { private resolveObjects(docs: any[]) { - console.log('Parse Objects'); + console.log('------------------------------------------------------------------'); + console.log('Resolve Objects'); + console.log('------------------------------------------------------------------'); let allTypes = new Set(); for (let doclet of docs) { - let obj = doclet.kind === 'namespace' ? this.namespaces[doclet.longname] : this.objects[doclet.longname]; + let obj = (doclet.kind === 'namespace') ? this.namespaces[doclet.longname] : this.objects[doclet.longname]; if (!obj) { - console.log(`Warning: Didn't find object for ${doclet.longname}`); + console.log(`${doclet.longname} - Kind: ${doclet.kind}`); + console.log(`Warning: Didn't find object`); continue; } @@ -196,70 +201,73 @@ export class Parser { let parent = isNamespaceMember ? this.namespaces[doclet.memberof] : (this.objects[doclet.memberof] || this.namespaces[doclet.memberof]); - //TODO: this whole section should be removed once stable - if (!parent) { - console.log(`***-> ${doclet.longname} in ${doclet.meta.filename}@${doclet.meta.lineno} has parent '${doclet.memberof}' that is not defined.`); - let parts: string[] = doclet.memberof.split('.'); - let newParts = [parts.pop()]; - while (parts.length > 0 && this.objects[parts.join('.')] == null) newParts.unshift(parts.pop()); - parent = this.objects[parts.join('.')] as dom.NamespaceDeclaration; - if (parent == null) { - parent = dom.create.namespace(doclet.memberof); - this.namespaces[doclet.memberof] = parent; - this.topLevel.push(parent); - } else { - while (newParts.length > 0) { - let oldParent = parent; - parent = dom.create.namespace(newParts.shift()); - parts.push((parent).name); - this.namespaces[parts.join('.')] = parent; - oldParent.members.push(parent); - (parent)._parent = oldParent; - } - } + if (!parent) + { + 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).members) { + if ((parent).members) + { (parent).members.push(obj); - } else { - console.log('Cannot find members array for:'); + } + else + { + console.log(`${doclet.longname} - Kind: ${doclet.kind}`); + console.log('Could not find members array'); console.log(parent); } (obj)._parent = parent; - // class/interface members have methods, not functions - if (((parent as any).kind === 'class' || (parent as any).kind === 'interface') - && (obj as any).kind === 'function') + // class / interface members have methods, not functions + if (((parent as any).kind === 'class' || (parent as any).kind === 'interface') && (obj as any).kind === 'function') + { (obj as any).kind = 'method'; + } + // namespace members are vars or consts, not properties - if ((parent as any).kind === 'namespace' && (obj as any).kind === 'property') { - if (doclet.kind == 'constant') (obj as any).kind = 'const'; - else (obj as any).kind = 'var'; + if ((parent as any).kind === 'namespace' && (obj as any).kind === 'property') + { + if (doclet.kind == 'constant') + { + (obj as any).kind = 'const'; + } + else + { + (obj as any).kind = 'var'; + } } } } } - private resolveInheritance(docs: any[]) { - for (let doclet of docs) { + private resolveInheritance(docs: any[]) + { + for (let doclet of docs) + { let obj = doclet.kind === 'namespace' ? this.namespaces[doclet.longname] : this.objects[doclet.longname]; - if (!obj) { - // TODO + if (!obj) + { console.log(`Didn't find type ${doclet.longname} ???`); - continue; } + if (!(obj)._parent) continue; - if (doclet.inherited) {// remove inherited members if they aren't from an interface + if (doclet.inherited) + { + // remove inherited members if they aren't from an interface let from = this.objects[doclet.inherits]; - if (!from || !(from)._parent) - throw `'${doclet.longname}' should inherit from '${doclet.inherits}', which is not defined.`; - if ((from)._parent.kind != 'interface') { + if (!from || !(from)._parent) + { + throw `'${doclet.longname}' should inherit from '${doclet.inherits}', which is not defined.`; + } + + if ((from)._parent.kind != 'interface') + { (obj)._parent.members.splice((obj)._parent.members.indexOf(obj), 1); (obj)._parent = null; } @@ -448,25 +456,25 @@ export class Parser { for (let paramDoc of doclet.params) { - // TODO REMOVE TEMP FIX - if (!paramDoc.name) { console.log(`Docs Error in '${doclet.longname}' in ${doclet.meta.filename}@${doclet.meta.lineno}`); + console.info(paramDoc); } if (paramDoc.name.indexOf('.') != -1) { + console.log(`Warning: ignoring param with '.' for '${doclet.longname}' in ${doclet.meta.filename}@${doclet.meta.lineno}`); let defaultVal = paramDoc.defaultvalue !== undefined ? ` Default ${String(paramDoc.defaultvalue)}.` : ''; + if (paramDoc.description) obj.jsDocComment += `\n@param ${paramDoc.name} ${paramDoc.description.replace(regexEndLine, '$1\n')}` + defaultVal; else if (defaultVal.length) obj.jsDocComment += `\n@param ${paramDoc.name} ` + defaultVal; continue; } - /////////////////////// let param = dom.create.parameter(paramDoc.name, this.parseType(paramDoc)); parameters.push(param);