@@ -33,27 +33,29 @@ internal override DkmCompilerId CompilerId
3333 internal delegate MetadataContext < CSharpMetadataContext > GetMetadataContextDelegate < TAppDomain > ( TAppDomain appDomain ) ;
3434 internal delegate void SetMetadataContextDelegate < TAppDomain > ( TAppDomain appDomain , MetadataContext < CSharpMetadataContext > metadataContext , bool report ) ;
3535
36+ /// <exception cref="BadMetadataModuleException">Module wasn't included in the compilation due to bad metadata.</exception>
3637 internal override EvaluationContextBase CreateTypeContext (
3738 DkmClrAppDomain appDomain ,
3839 ImmutableArray < MetadataBlock > metadataBlocks ,
39- Guid moduleVersionId ,
40+ ModuleId moduleId ,
4041 int typeToken ,
4142 bool useReferencedModulesOnly )
4243 {
4344 return CreateTypeContext (
4445 appDomain ,
4546 ad => ad . GetMetadataContext < CSharpMetadataContext > ( ) ,
4647 metadataBlocks ,
47- moduleVersionId ,
48+ moduleId ,
4849 typeToken ,
4950 GetMakeAssemblyReferencesKind ( useReferencedModulesOnly ) ) ;
5051 }
5152
53+ /// <exception cref="BadMetadataModuleException">Module wasn't included in the compilation due to bad metadata.</exception>
5254 internal static EvaluationContext CreateTypeContext < TAppDomain > (
5355 TAppDomain appDomain ,
5456 GetMetadataContextDelegate < TAppDomain > getMetadataContext ,
5557 ImmutableArray < MetadataBlock > metadataBlocks ,
56- Guid moduleVersionId ,
58+ ModuleId moduleId ,
5759 int typeToken ,
5860 MakeAssemblyReferencesKind kind )
5961 {
@@ -63,14 +65,14 @@ internal static EvaluationContext CreateTypeContext<TAppDomain>(
6365 {
6466 // Avoid using the cache for referenced assemblies only
6567 // since this should be the exceptional case.
66- compilation = metadataBlocks . ToCompilationReferencedModulesOnly ( moduleVersionId ) ;
68+ compilation = metadataBlocks . ToCompilationReferencedModulesOnly ( moduleId ) ;
6769 return EvaluationContext . CreateTypeContext (
6870 compilation ,
69- moduleVersionId ,
71+ moduleId ,
7072 typeToken ) ;
7173 }
7274
73- var contextId = MetadataContextId . GetContextId ( moduleVersionId , kind ) ;
75+ var contextId = MetadataContextId . GetContextId ( moduleId , kind ) ;
7476 var previous = getMetadataContext ( appDomain ) ;
7577 CSharpMetadataContext previousMetadataContext = default ;
7678 if ( previous . Matches ( metadataBlocks ) )
@@ -80,11 +82,11 @@ internal static EvaluationContext CreateTypeContext<TAppDomain>(
8082
8183 // Re-use the previous compilation if possible.
8284 compilation = previousMetadataContext . Compilation ;
83- compilation ??= metadataBlocks . ToCompilation ( moduleVersionId , kind ) ;
85+ compilation ??= metadataBlocks . ToCompilation ( moduleId , kind ) ;
8486
8587 var context = EvaluationContext . CreateTypeContext (
8688 compilation ,
87- moduleVersionId ,
89+ moduleId ,
8890 typeToken ) ;
8991
9092 // New type context is not attached to the AppDomain since it is less
@@ -101,7 +103,7 @@ internal override EvaluationContextBase CreateMethodContext(
101103 ImmutableArray < MetadataBlock > metadataBlocks ,
102104 Lazy < ImmutableArray < AssemblyReaders > > unusedLazyAssemblyReaders ,
103105 object ? symReader ,
104- Guid moduleVersionId ,
106+ ModuleId moduleId ,
105107 int methodToken ,
106108 int methodVersion ,
107109 uint ilOffset ,
@@ -114,7 +116,7 @@ internal override EvaluationContextBase CreateMethodContext(
114116 ( ad , mc , report ) => ad . SetMetadataContext < CSharpMetadataContext > ( mc , report ) ,
115117 metadataBlocks ,
116118 symReader ,
117- moduleVersionId ,
119+ moduleId ,
118120 methodToken ,
119121 methodVersion ,
120122 ilOffset ,
@@ -128,7 +130,7 @@ internal static EvaluationContext CreateMethodContext<TAppDomain>(
128130 SetMetadataContextDelegate < TAppDomain > setMetadataContext ,
129131 ImmutableArray < MetadataBlock > metadataBlocks ,
130132 object ? symReader ,
131- Guid moduleVersionId ,
133+ ModuleId moduleId ,
132134 int methodToken ,
133135 int methodVersion ,
134136 uint ilOffset ,
@@ -142,18 +144,18 @@ internal static EvaluationContext CreateMethodContext<TAppDomain>(
142144 {
143145 // Avoid using the cache for referenced assemblies only
144146 // since this should be the exceptional case.
145- compilation = metadataBlocks . ToCompilationReferencedModulesOnly ( moduleVersionId ) ;
147+ compilation = metadataBlocks . ToCompilationReferencedModulesOnly ( moduleId ) ;
146148 return EvaluationContext . CreateMethodContext (
147149 compilation ,
148150 symReader ,
149- moduleVersionId ,
151+ moduleId ,
150152 methodToken ,
151153 methodVersion ,
152154 offset ,
153155 localSignatureToken ) ;
154156 }
155157
156- var contextId = MetadataContextId . GetContextId ( moduleVersionId , kind ) ;
158+ var contextId = MetadataContextId . GetContextId ( moduleId , kind ) ;
157159 var previous = getMetadataContext ( appDomain ) ;
158160 var assemblyContexts = previous . Matches ( metadataBlocks ) ? previous . AssemblyContexts : ImmutableDictionary < MetadataContextId , CSharpMetadataContext > . Empty ;
159161 CSharpMetadataContext previousMetadataContext ;
@@ -167,20 +169,20 @@ internal static EvaluationContext CreateMethodContext<TAppDomain>(
167169 var previousContext = previousMetadataContext . EvaluationContext ;
168170 if ( previousContext != null &&
169171 previousContext . MethodContextReuseConstraints . HasValue &&
170- previousContext . MethodContextReuseConstraints . GetValueOrDefault ( ) . AreSatisfied ( moduleVersionId , methodToken , methodVersion , offset ) )
172+ previousContext . MethodContextReuseConstraints . GetValueOrDefault ( ) . AreSatisfied ( moduleId , methodToken , methodVersion , offset ) )
171173 {
172174 return previousContext ;
173175 }
174176 }
175177 else
176178 {
177- compilation = metadataBlocks . ToCompilation ( moduleVersionId , kind ) ;
179+ compilation = metadataBlocks . ToCompilation ( moduleId , kind ) ;
178180 }
179181
180182 var context = EvaluationContext . CreateMethodContext (
181183 compilation ,
182184 symReader ,
183- moduleVersionId ,
185+ moduleId ,
184186 methodToken ,
185187 methodVersion ,
186188 offset ,
0 commit comments