@@ -15,7 +15,7 @@ import {ResolvedStaticSymbol, StaticSymbolResolver} from './static_symbol_resolv
15
15
import { summaryForJitFileName , summaryForJitName } from './util' ;
16
16
17
17
export function serializeSummaries (
18
- forJitCtx : OutputContext , summaryResolver : SummaryResolver < StaticSymbol > ,
18
+ srcFileName : string , forJitCtx : OutputContext , summaryResolver : SummaryResolver < StaticSymbol > ,
19
19
symbolResolver : StaticSymbolResolver , symbols : ResolvedStaticSymbol [ ] , types : {
20
20
summary : CompileTypeSummary ,
21
21
metadata : CompileNgModuleMetadata | CompileDirectiveMetadata | CompilePipeMetadata |
@@ -76,15 +76,17 @@ export function serializeSummaries(
76
76
} ) ;
77
77
}
78
78
} ) ;
79
- const { json, exportAs} = toJsonSerializer . serialize ( ) ;
79
+ const { json, exportAs} = toJsonSerializer . serialize ( srcFileName ) ;
80
80
forJitSerializer . serialize ( exportAs ) ;
81
81
return { json, exportAs} ;
82
82
}
83
83
84
- export function deserializeSummaries ( symbolCache : StaticSymbolCache , json : string ) :
84
+ export function deserializeSummaries (
85
+ symbolCache : StaticSymbolCache , summaryResolver : SummaryResolver < StaticSymbol > ,
86
+ libraryFileName : string , json : string ) :
85
87
{ summaries : Summary < StaticSymbol > [ ] , importAs : { symbol : StaticSymbol , importAs : string } [ ] } {
86
- const deserializer = new FromJsonDeserializer ( symbolCache ) ;
87
- return deserializer . deserialize ( json ) ;
88
+ const deserializer = new FromJsonDeserializer ( symbolCache , summaryResolver ) ;
89
+ return deserializer . deserialize ( libraryFileName , json ) ;
88
90
}
89
91
90
92
export function createForJitStub ( outputCtx : OutputContext , reference : StaticSymbol ) {
@@ -151,7 +153,8 @@ class ToJsonSerializer extends ValueTransformer {
151
153
}
152
154
}
153
155
154
- serialize ( ) : { json : string , exportAs : { symbol : StaticSymbol , exportAs : string } [ ] } {
156
+ serialize ( srcFileName : string ) :
157
+ { json : string , exportAs : { symbol : StaticSymbol , exportAs : string } [ ] } {
155
158
const exportAs : { symbol : StaticSymbol , exportAs : string } [ ] = [ ] ;
156
159
const json = JSON . stringify ( {
157
160
summaries : this . processedSummaries ,
@@ -165,10 +168,7 @@ class ToJsonSerializer extends ValueTransformer {
165
168
return {
166
169
__symbol : index ,
167
170
name : symbol . name ,
168
- // We convert the source filenames tinto output filenames,
169
- // as the generated summary file will be used when the current
170
- // compilation unit is used as a library
171
- filePath : this . summaryResolver . getLibraryFileName ( symbol . filePath ) ,
171
+ filePath : this . summaryResolver . toSummaryFileName ( symbol . filePath , srcFileName ) ,
172
172
importAs : importAs
173
173
} ;
174
174
} )
@@ -317,15 +317,21 @@ class ForJitSerializer {
317
317
class FromJsonDeserializer extends ValueTransformer {
318
318
private symbols : StaticSymbol [ ] ;
319
319
320
- constructor ( private symbolCache : StaticSymbolCache ) { super ( ) ; }
320
+ constructor (
321
+ private symbolCache : StaticSymbolCache ,
322
+ private summaryResolver : SummaryResolver < StaticSymbol > ) {
323
+ super ( ) ;
324
+ }
321
325
322
- deserialize ( json : string ) :
326
+ deserialize ( libraryFileName : string , json : string ) :
323
327
{ summaries : Summary < StaticSymbol > [ ] , importAs : { symbol : StaticSymbol , importAs : string } [ ] } {
324
328
const data : { summaries : any [ ] , symbols : any [ ] } = JSON . parse ( json ) ;
325
329
const importAs : { symbol : StaticSymbol , importAs : string } [ ] = [ ] ;
326
330
this . symbols = [ ] ;
327
331
data . symbols . forEach ( ( serializedSymbol ) => {
328
- const symbol = this . symbolCache . get ( serializedSymbol . filePath , serializedSymbol . name ) ;
332
+ const symbol = this . symbolCache . get (
333
+ this . summaryResolver . fromSummaryFileName ( serializedSymbol . filePath , libraryFileName ) ,
334
+ serializedSymbol . name ) ;
329
335
this . symbols . push ( symbol ) ;
330
336
if ( serializedSymbol . importAs ) {
331
337
importAs . push ( { symbol : symbol , importAs : serializedSymbol . importAs } ) ;
0 commit comments