public EmitBaseline MapBaselineToCompilation( EmitBaseline baseline, Compilation targetCompilation, CommonPEModuleBuilder targetModuleBuilder, ImmutableDictionary <ISymbolInternal, ImmutableArray <ISymbolInternal> > mappedSynthesizedMembers, ImmutableDictionary <ISymbolInternal, ImmutableArray <ISymbolInternal> > mappedDeletedMembers) { // Map all definitions to this compilation. var typesAdded = MapDefinitions(baseline.TypesAdded); var eventsAdded = MapDefinitions(baseline.EventsAdded); var fieldsAdded = MapDefinitions(baseline.FieldsAdded); var methodsAdded = MapDefinitions(baseline.MethodsAdded); var propertiesAdded = MapDefinitions(baseline.PropertiesAdded); var generationOrdinals = MapDefinitions(baseline.GenerationOrdinals); return(baseline.With( targetCompilation, targetModuleBuilder, baseline.Ordinal, baseline.EncId, generationOrdinals, typesAdded, eventsAdded, fieldsAdded, methodsAdded, firstParamRowMap: baseline.FirstParamRowMap, propertiesAdded, eventMapAdded: baseline.EventMapAdded, propertyMapAdded: baseline.PropertyMapAdded, methodImplsAdded: baseline.MethodImplsAdded, customAttributesAdded: baseline.CustomAttributesAdded, tableEntriesAdded: baseline.TableEntriesAdded, blobStreamLengthAdded: baseline.BlobStreamLengthAdded, stringStreamLengthAdded: baseline.StringStreamLengthAdded, userStringStreamLengthAdded: baseline.UserStringStreamLengthAdded, guidStreamLengthAdded: baseline.GuidStreamLengthAdded, anonymousTypeMap: MapAnonymousTypes(baseline.AnonymousTypeMap), anonymousDelegates: MapAnonymousDelegates(baseline.AnonymousDelegates), anonymousDelegatesWithFixedTypes: MapAnonymousDelegatesWithFixedTypes(baseline.AnonymousDelegatesWithFixedTypes), synthesizedMembers: mappedSynthesizedMembers, deletedMembers: mappedDeletedMembers, addedOrChangedMethods: MapAddedOrChangedMethods(baseline.AddedOrChangedMethods), debugInformationProvider: baseline.DebugInformationProvider, localSignatureProvider: baseline.LocalSignatureProvider)); }
public EmitBaseline MapBaselineToCompilation( EmitBaseline baseline, Compilation targetCompilation, CommonPEModuleBuilder targetModuleBuilder, ImmutableDictionary <Cci.ITypeDefinition, ImmutableArray <Cci.ITypeDefinitionMember> > mappedSynthesizedMembers) { // Map all definitions to this compilation. var typesAdded = MapDefinitions(baseline.TypesAdded); var eventsAdded = MapDefinitions(baseline.EventsAdded); var fieldsAdded = MapDefinitions(baseline.FieldsAdded); var methodsAdded = MapDefinitions(baseline.MethodsAdded); var propertiesAdded = MapDefinitions(baseline.PropertiesAdded); return(baseline.With( targetCompilation, targetModuleBuilder, baseline.Ordinal, baseline.EncId, typesAdded, eventsAdded, fieldsAdded, methodsAdded, propertiesAdded, eventMapAdded: baseline.EventMapAdded, propertyMapAdded: baseline.PropertyMapAdded, methodImplsAdded: baseline.MethodImplsAdded, tableEntriesAdded: baseline.TableEntriesAdded, blobStreamLengthAdded: baseline.BlobStreamLengthAdded, stringStreamLengthAdded: baseline.StringStreamLengthAdded, userStringStreamLengthAdded: baseline.UserStringStreamLengthAdded, guidStreamLengthAdded: baseline.GuidStreamLengthAdded, anonymousTypeMap: MapAnonymousTypes(baseline.AnonymousTypeMap), synthesizedMembers: mappedSynthesizedMembers, addedOrChangedMethods: MapAddedOrChangedMethods(baseline.AddedOrChangedMethods), debugInformationProvider: baseline.DebugInformationProvider, localSignatureProvider: baseline.LocalSignatureProvider)); }
private static EmitBaseline EnsureInitialized( EmitBaseline previousGeneration, Microsoft.CodeAnalysis.CSharp.Symbols.Metadata.PE.MetadataDecoder metadataDecoder) { if (previousGeneration.AnonymousTypeMap != null) { return previousGeneration; } var anonymousTypeMap = GetAnonymousTypeMap(previousGeneration.MetadataReader, metadataDecoder); return previousGeneration.With( previousGeneration.Compilation, previousGeneration.PEModuleBuilder, previousGeneration.Ordinal, previousGeneration.EncId, previousGeneration.TypesAdded, previousGeneration.EventsAdded, previousGeneration.FieldsAdded, previousGeneration.MethodsAdded, previousGeneration.PropertiesAdded, previousGeneration.EventMapAdded, previousGeneration.PropertyMapAdded, previousGeneration.TableEntriesAdded, blobStreamLengthAdded: previousGeneration.BlobStreamLengthAdded, stringStreamLengthAdded: previousGeneration.StringStreamLengthAdded, userStringStreamLengthAdded: previousGeneration.UserStringStreamLengthAdded, guidStreamLengthAdded: previousGeneration.GuidStreamLengthAdded, anonymousTypeMap: anonymousTypeMap, localsForMethodsAddedOrChanged: previousGeneration.LocalsForMethodsAddedOrChanged, localNames: previousGeneration.LocalNames); }