diff --git a/pkg/domain/trial/code_file.go b/pkg/domain/trial/code_file.go index dbc8bc9ec31fc56928ef3266ac5cf5c4c55a79b4..7471faf970c275331ce23441cd4d574585879941 100644 --- a/pkg/domain/trial/code_file.go +++ b/pkg/domain/trial/code_file.go @@ -5,7 +5,7 @@ import "github.com/phodal/coca/pkg/domain" type CodeFile struct { FullName string PackageName string - Imports []string // CodeImports + Imports []CodeImport Members []*CodeMember DataStructures []CodeDataStruct // Deprecated: support for migration only @@ -13,8 +13,9 @@ type CodeFile struct { } type CodeImport struct { - Source string - AsName string - UsageName []string - Scope string // function, method or class + Source string + AsName string + ImportName string + UsageName []string + Scope string // function, method or class } diff --git a/trial/pkg/application/ts/ts_ident_app_test.go b/trial/pkg/application/ts/ts_ident_app_test.go index f68259f71a066be002832f0683b76e596c4698bb..e31a7193465ada17b06b9cbfbc0a155a73e78fde 100644 --- a/trial/pkg/application/ts/ts_ident_app_test.go +++ b/trial/pkg/application/ts/ts_ident_app_test.go @@ -216,7 +216,7 @@ import { ZipCodeValidator } from "./ZipCodeValidator"; `, "") g.Expect(len(results.Imports)).To(Equal(1)) - g.Expect(results.Imports[0]).To(Equal("./ZipCodeValidator")) + g.Expect(results.Imports[0].Source).To(Equal("./ZipCodeValidator")) } func Test_ShouldReturnAsImports(t *testing.T) { @@ -230,7 +230,8 @@ import zip = require("./ZipCodeValidator"); `, "") g.Expect(len(results.Imports)).To(Equal(1)) - g.Expect(results.Imports[0]).To(Equal("./ZipCodeValidator")) + + g.Expect(results.Imports[0].Source).To(Equal("./ZipCodeValidator")) } // Todo: fix for $ and * diff --git a/trial/pkg/ast/ts/typescript_ident_listener.go b/trial/pkg/ast/ts/typescript_ident_listener.go index b9323bd1857ef2a0807197d6a57c1b05f2df1a95..cee8377a735971cbfb6610ac9cc209b8c5141295 100644 --- a/trial/pkg/ast/ts/typescript_ident_listener.go +++ b/trial/pkg/ast/ts/typescript_ident_listener.go @@ -49,7 +49,10 @@ func (s *TypeScriptIdentListener) EnterProgram(ctx *parser.ProgramContext) { func (s *TypeScriptIdentListener) EnterImportFromBlock(ctx *parser.ImportFromBlockContext) { replaceSingleQuote := UpdateImportStr(ctx.StringLiteral().GetText()) - codeFile.Imports = append(codeFile.Imports, replaceSingleQuote) + imp := &trial.CodeImport{Source: replaceSingleQuote} + importName := ctx.GetChild(0).(antlr.ParseTree).GetText() + imp.ImportName = importName + codeFile.Imports = append(codeFile.Imports, *imp) } func UpdateImportStr(importText string) string { @@ -60,12 +63,14 @@ func UpdateImportStr(importText string) string { func (s *TypeScriptIdentListener) EnterImportAliasDeclaration(ctx *parser.ImportAliasDeclarationContext) { replaceSingleQuote := UpdateImportStr(ctx.StringLiteral().GetText()) - codeFile.Imports = append(codeFile.Imports, replaceSingleQuote) + imp := &trial.CodeImport{Source: replaceSingleQuote} + codeFile.Imports = append(codeFile.Imports, *imp) } func (s *TypeScriptIdentListener) EnterImportAll(ctx *parser.ImportAllContext) { replaceSingleQuote := UpdateImportStr(ctx.StringLiteral().GetText()) - codeFile.Imports = append(codeFile.Imports, replaceSingleQuote) + imp := &trial.CodeImport{Source: replaceSingleQuote} + codeFile.Imports = append(codeFile.Imports, *imp) } func (s *TypeScriptIdentListener) EnterInterfaceDeclaration(ctx *parser.InterfaceDeclarationContext) {