feat(ivy): track file dependencies due to partial evaluation (#30238)
As part of incremental compilation performance improvements, we need to track the dependencies of files due to expressions being evaluated by the `PartialEvaluator`. The `PartialEvaluator` now accepts a `DependencyTracker` object, which is used to track which files are visited when evaluating an expression. The interpreter computes this `originatingFile` and stores it in the evaluation `Context` so it can pass this to the `DependencyTracker. The `IncrementalState` object implements this interface, which allows it to be passed to the `PartialEvaluator` and so capture the file dependencies. PR Close #30238
This commit is contained in:

committed by
Alex Rickabaugh

parent
5887ddfa3c
commit
0a0b4c1d8f
@ -457,7 +457,7 @@ export class NgtscProgram implements api.Program {
|
||||
aliasGenerator = new AliasGenerator(this.fileToModuleHost);
|
||||
}
|
||||
|
||||
const evaluator = new PartialEvaluator(this.reflector, checker);
|
||||
const evaluator = new PartialEvaluator(this.reflector, checker, this.incrementalState);
|
||||
const dtsReader = new DtsMetadataReader(checker, this.reflector);
|
||||
const localMetaRegistry = new LocalMetadataRegistry();
|
||||
const depScopeReader = new MetadataDtsModuleScopeResolver(dtsReader, aliasGenerator);
|
||||
|
Reference in New Issue
Block a user