internal override Microsoft.CodeAnalysis.Emit.Generation CreateGeneration( Microsoft.CodeAnalysis.Common.CommonCompilation commonCompilation, Microsoft.CodeAnalysis.Emit.LocalVariableSyntaxProvider localDeclarations, Microsoft.CodeAnalysis.Emit.LocalVariableMapProvider localMap) { var compilation = (Compilation)commonCompilation; var previousToNext = new SymbolMatcher( this.compilation.SourceAssembly, compilation.SourceAssembly, caseSensitive: true); var delta = new Microsoft.CodeAnalysis.Emit.GenerationDelta( previousToNext.Match(this.delta.TypesAdded), previousToNext.Match(this.delta.EventsAdded), previousToNext.Match(this.delta.FieldsAdded), previousToNext.Match(this.delta.MethodsAdded), previousToNext.Match(this.delta.PropertiesAdded), tableEntriesAdded: this.delta.TableEntriesAdded, blobStreamLengthAdded: this.delta.BlobStreamLengthAdded, stringStreamLengthAdded: this.delta.StringStreamLengthAdded, userStringStreamLengthAdded: this.delta.UserStringStreamLengthAdded, guidStreamLengthAdded: this.delta.GuidStreamLengthAdded, localNamesAddedOrChanged: this.delta.LocalNamesAddedOrChanged, localNames: this.delta.LocalNames, localDeclarationsAddedOrChanged: this.delta.LocalDeclarationsAddedOrChanged); return(Generation.CreateNextGeneration( compilation, this.OriginalMetadata, this.Ordinal, encId, delta, localDeclarations, localMap)); }