@@ -20,25 +20,25 @@ import (
20
20
)
21
21
22
22
type ProgramOptions struct {
23
- ConfigFilePath string
24
- RootFiles []string
25
- Host CompilerHost
26
- Options * core.CompilerOptions
27
- SingleThreaded bool
28
- ProjectReference []core.ProjectReference
29
- OptionsDiagnostics []* ast.Diagnostic
23
+ ConfigFilePath string
24
+ RootFiles []string
25
+ Host CompilerHost
26
+ Options * core.CompilerOptions
27
+ SingleThreaded bool
28
+ ProjectReference []core.ProjectReference
29
+ ConfigFileParsingDiagnostics []* ast.Diagnostic
30
30
}
31
31
32
32
type Program struct {
33
- host CompilerHost
34
- programOptions ProgramOptions
35
- compilerOptions * core.CompilerOptions
36
- configFilePath string
37
- nodeModules map [string ]* ast.SourceFile
38
- checkers []* checker.Checker
39
- checkersByFile map [* ast.SourceFile ]* checker.Checker
40
- currentDirectory string
41
- optionsDiagnostics []* ast.Diagnostic
33
+ host CompilerHost
34
+ programOptions ProgramOptions
35
+ compilerOptions * core.CompilerOptions
36
+ configFilePath string
37
+ nodeModules map [string ]* ast.SourceFile
38
+ checkers []* checker.Checker
39
+ checkersByFile map [* ast.SourceFile ]* checker.Checker
40
+ currentDirectory string
41
+ configFileParsingDiagnostics []* ast.Diagnostic
42
42
43
43
resolver * module.Resolver
44
44
resolvedModules map [tspath.Path ]module.ModeAwareCache [* module.ResolvedModule ]
@@ -70,7 +70,7 @@ func NewProgram(options ProgramOptions) *Program {
70
70
p := & Program {}
71
71
p .programOptions = options
72
72
p .compilerOptions = options .Options
73
- p .optionsDiagnostics = options .OptionsDiagnostics
73
+ p .configFileParsingDiagnostics = slices . Clip ( options .ConfigFileParsingDiagnostics )
74
74
if p .compilerOptions == nil {
75
75
p .compilerOptions = & core.CompilerOptions {}
76
76
}
@@ -96,7 +96,7 @@ func NewProgram(options ProgramOptions) *Program {
96
96
}
97
97
parsedConfig := parser .ParseJSONText (p .configFilePath , jsonText )
98
98
if len (parsedConfig .Diagnostics ()) > 0 {
99
- p .optionsDiagnostics = append (p .optionsDiagnostics , parsedConfig .Diagnostics ()... )
99
+ p .configFileParsingDiagnostics = append (p .configFileParsingDiagnostics , parsedConfig .Diagnostics ()... )
100
100
return p
101
101
}
102
102
@@ -118,7 +118,7 @@ func NewProgram(options ProgramOptions) *Program {
118
118
p .compilerOptions = parseConfigFileContent .CompilerOptions ()
119
119
120
120
if len (parseConfigFileContent .Errors ) > 0 {
121
- p .optionsDiagnostics = append (p .optionsDiagnostics , parseConfigFileContent .Errors ... )
121
+ p .configFileParsingDiagnostics = append (p .configFileParsingDiagnostics , parseConfigFileContent .Errors ... )
122
122
return p
123
123
}
124
124
@@ -162,15 +162,17 @@ func NewProgramFromParsedCommandLine(config *tsoptions.ParsedCommandLine, host C
162
162
Options : config .CompilerOptions (),
163
163
Host : host ,
164
164
// todo: ProjectReferences
165
- OptionsDiagnostics : config .GetConfigFileParsingDiagnostics (),
165
+ ConfigFileParsingDiagnostics : config .GetConfigFileParsingDiagnostics (),
166
166
}
167
167
return NewProgram (programOptions )
168
168
}
169
169
170
- func (p * Program ) SourceFiles () []* ast.SourceFile { return p .files }
171
- func (p * Program ) Options () * core.CompilerOptions { return p .compilerOptions }
172
- func (p * Program ) Host () CompilerHost { return p .host }
173
- func (p * Program ) OptionsDiagnostics () []* ast.Diagnostic { return p .optionsDiagnostics }
170
+ func (p * Program ) SourceFiles () []* ast.SourceFile { return p .files }
171
+ func (p * Program ) Options () * core.CompilerOptions { return p .compilerOptions }
172
+ func (p * Program ) Host () CompilerHost { return p .host }
173
+ func (p * Program ) GetConfigFileParsingDiagnostics () []* ast.Diagnostic {
174
+ return slices .Clip (p .configFileParsingDiagnostics )
175
+ }
174
176
175
177
func (p * Program ) BindSourceFiles () {
176
178
wg := core .NewWorkGroup (p .programOptions .SingleThreaded )
@@ -283,7 +285,7 @@ func (p *Program) getOptionsDiagnosticsOfConfigFile() []*ast.Diagnostic {
283
285
if p .Options () == nil || p .Options ().ConfigFilePath == "" {
284
286
return nil
285
287
}
286
- return p .optionsDiagnostics
288
+ return p .configFileParsingDiagnostics // TODO: actually call getDiagnosticsHelper on config path
287
289
}
288
290
289
291
func (p * Program ) getSyntaticDiagnosticsForFile (sourceFile * ast.SourceFile ) []* ast.Diagnostic {
0 commit comments