diff --git a/trial/pkg/application/ts/ts_ident_app.go b/trial/pkg/application/ts/ts_ident_app.go index 117f3dcc29e35329c8fda2e72d527ac29fa4f4d1..d2e459345532d2cf3234a0ff1d6589681c3a7dfe 100644 --- a/trial/pkg/application/ts/ts_ident_app.go +++ b/trial/pkg/application/ts/ts_ident_app.go @@ -22,11 +22,11 @@ func ProcessTsString(code string) *parser.TypeScriptParser { type TypeScriptApiApp struct { } -func (j *TypeScriptApiApp) Analysis(code string) []domain.JClassNode { +func (j *TypeScriptApiApp) Analysis(code string, fileName string) []domain.JClassNode { scriptParser := ProcessTsString(code) context := scriptParser.Program() - listener := ast.NewTypeScriptIdentListener() + listener := ast.NewTypeScriptIdentListener(fileName) antlr.NewParseTreeWalker().Walk(listener, context) return listener.GetNodeInfo() diff --git a/trial/pkg/application/ts/ts_ident_app_test.go b/trial/pkg/application/ts/ts_ident_app_test.go index 0c52203ac3d8424ccf45597f323fa656ad4c3ef5..f0bffe6516bfd4082dba1b2eee1d7f3267c670a4 100644 --- a/trial/pkg/application/ts/ts_ident_app_test.go +++ b/trial/pkg/application/ts/ts_ident_app_test.go @@ -10,7 +10,7 @@ func Test_TypeScriptConsoleLog(t *testing.T) { g := NewGomegaWithT(t) app := new(TypeScriptApiApp) - results := app.Analysis("console.log('hello, world')") + results := app.Analysis("console.log('hello, world')", "") g.Expect(len(results[0].MethodCalls)).To(Equal(1)) g.Expect(results[0].MethodCalls[0].Class).To(Equal("console")) @@ -36,7 +36,7 @@ class Person implements IPerson { this.name = name; } } -`) +`, "") g.Expect(results[0].Class).To(Equal("IPerson")) g.Expect(results[1].Class).To(Equal("Person")) @@ -50,7 +50,7 @@ func Test_TypeScriptMultipleClass(t *testing.T) { app := new(TypeScriptApiApp) code, _ := ioutil.ReadFile("../../../../_fixtures/ts/grammar/Class.ts") - results := app.Analysis(string(code)) + results := app.Analysis(string(code), "") g.Expect(len(results)).To(Equal(4)) g.Expect(results[1].Implements[0]).To(Equal("IPerson")) @@ -63,7 +63,7 @@ func Test_TypeScriptAbstractClass(t *testing.T) { app := new(TypeScriptApiApp) code, _ := ioutil.ReadFile("../../../../_fixtures/ts/grammar/AbstractClass.ts") - results := app.Analysis(string(code)) + results := app.Analysis(string(code), "") g.Expect(len(results)).To(Equal(3)) g.Expect(results[0].Type).To(Equal("Class")) @@ -77,7 +77,7 @@ func Test_ShouldGetClassFromModule(t *testing.T) { app := new(TypeScriptApiApp) code, _ := ioutil.ReadFile("../../../../_fixtures/ts/grammar/Module.ts") - results := app.Analysis(string(code)) + results := app.Analysis(string(code), "") g.Expect(len(results)).To(Equal(2)) g.Expect(results[0].Class).To(Equal("Employee")) @@ -94,7 +94,7 @@ class Employee { console.log("hello, world"); } } -`) +`, "") g.Expect(len(results[0].Methods)).To(Equal(1)) } @@ -117,7 +117,7 @@ interface IEmployee extends IPerson{ getSalary: (number) => number; // arrow function getManagerName(number): string; } -`) +`, "") g.Expect(results[1].Extend).To(Equal("IPerson")) } @@ -133,7 +133,7 @@ export interface IPerson { getSalary: (number) => number; getManagerName(number): string; } -`) +`, "") firstMethod := results[0].Methods[0] secondMethod := results[0].Methods[1] @@ -155,7 +155,7 @@ function Sum(x: number, y: number) : void { console.log('processNumKeyPairs: key = ' + key + ', value = ' + value) return x + y; } -`) +`, "") firstMethod := results[0].Methods[0] parameters := firstMethod.Parameters @@ -174,7 +174,7 @@ func Test_ShouldHandleRestParameters(t *testing.T) { function buildName(firstName: string, ...restOfName: string[]) { return firstName + " " + restOfName.join(" "); } -`) +`, "") firstMethod := results[0].Methods[0] parameters := firstMethod.Parameters @@ -189,7 +189,7 @@ func Test_ShouldGetClassFields(t *testing.T) { app := new(TypeScriptApiApp) code, _ := ioutil.ReadFile("../../../../_fixtures/ts/grammar/Class.ts") - results := app.Analysis(string(code)) + results := app.Analysis(string(code), "") fields := results[1].Fields g.Expect(len(fields)).To(Equal(5)) diff --git a/trial/pkg/ast/typescript_ident_listener.go b/trial/pkg/ast/typescript_ident_listener.go index 36d648af18b64210cf330d62e44984ef1c072258..e5e57f1e17ce5ab2372149ce3c579f6b61e17e76 100644 --- a/trial/pkg/ast/typescript_ident_listener.go +++ b/trial/pkg/ast/typescript_ident_listener.go @@ -17,7 +17,7 @@ type TypeScriptIdentListener struct { parser.BaseTypeScriptParserListener } -func NewTypeScriptIdentListener() *TypeScriptIdentListener { +func NewTypeScriptIdentListener(fileName string) *TypeScriptIdentListener { classNodes = nil currentNode = domain.NewClassNode() return &TypeScriptIdentListener{}