diff --git a/src/typescript-ast-nodes.js b/src/typescript-ast-nodes.js index 0e141d7c..0a29974c 100644 --- a/src/typescript-ast-nodes.js +++ b/src/typescript-ast-nodes.js @@ -62,7 +62,9 @@ module.exports = function(fork) { // Types def("TSConstructorType").bases("TSType"); - def("TSFunctionType").bases("TSType"); + def("TSFunctionType") + .bases("TSSignature") + .build("typeParameters", "parameters", "typeAnnotation"); def("TSIntersectionType") .bases("TSType") @@ -169,10 +171,7 @@ module.exports = function(fork) { .field("expression", def("Identifier")) .bases("Node"); - def("TSTypeParameter") - .build("name") - .field("name", def("Identifier")) + def("TSTypeParameter").build("name").field("name", def("Identifier")); - def("TSParameterProperty") - .build("accessibility", "isReadonly", "parameters") + def("TSParameterProperty").build("accessibility", "isReadonly", "parameters"); }; diff --git a/tests/typescript/compiler/__snapshots__/jsfmt.spec.js.snap b/tests/typescript/compiler/__snapshots__/jsfmt.spec.js.snap index a0cc1024..94753d21 100644 --- a/tests/typescript/compiler/__snapshots__/jsfmt.spec.js.snap +++ b/tests/typescript/compiler/__snapshots__/jsfmt.spec.js.snap @@ -7,6 +7,17 @@ var results = number[]; `; +exports[`commentsInterface.ts 1`] = ` +interface i2 { + foo: (/**param help*/b: number) => string; +} +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +interface i2 { + foo: (/**param help*/ b: number) => string +} + +`; + exports[`functionOverloadsOnGenericArity1.ts 1`] = ` // overloading on arity not allowed interface C { diff --git a/tests/typescript/compiler/commentsInterface.ts b/tests/typescript/compiler/commentsInterface.ts new file mode 100644 index 00000000..35d8a7c0 --- /dev/null +++ b/tests/typescript/compiler/commentsInterface.ts @@ -0,0 +1,3 @@ +interface i2 { + foo: (/**param help*/b: number) => string; +}