C# Class Pchp.CodeAnalysis.Emit.PEModuleBuilder

Inheritance: CommonPEModuleBuilder, Microsoft.Cci.IModule, ITokenDeferral
Afficher le fichier Open project: iolevel/peachpie Class Usage Examples

Protected Properties

Свойство Type Description
AssemblyOrModuleSymbolToModuleRefMap Cci.IModuleReference>.ConcurrentDictionary

Private Properties

Свойство Type Description
AddTopLevelType void
Cci Microsoft.Cci.IAssemblyReference
CompilationFinished void
CreateConstant Microsoft.CodeAnalysis.CodeGen.MetadataConstant
CreateEntryPoint void
CreateEnumerateConstantsSymbol void
CreateEnumerateReferencedFunctions void
CreateEnumerateScriptsSymbol void
CreateMainMethodWrapper void
EncTranslateType Microsoft.Cci.ITypeReference
GetAnonymousTypes ImmutableArray
GetCorLibraryReferencesToEmit IEnumerable
GetMethodBody Microsoft.Cci.IMethodBody
GetOrAddDebugDocument Microsoft.Cci.DebugSourceDocument
GetPrivateImplClass Microsoft.CodeAnalysis.CodeGen.PrivateImplementationDetails
GetSpecialType Microsoft.Cci.INamedTypeReference
GetSynthesizedMembers ImmutableArray>.ImmutableDictionary
GetTopLevelTypesCore IEnumerable
IsSourceDefinition bool
NormalizeDebugDocumentPath string
SetDebugEntryPoint void
SetPEEntryPoint void
Translate Microsoft.Cci.IArrayTypeReference
Translate Microsoft.Cci.IAssemblyReference
Translate Microsoft.Cci.IGenericParameterReference
Translate Microsoft.Cci.IMethodReference
Translate Microsoft.Cci.IMethodReference
Translate Microsoft.Cci.ITypeReference
Translate Microsoft.Cci.ITypeReference
Translate ImmutableArray
TranslateOverriddenMethodReference Microsoft.Cci.IMethodReference
ValidateReferencedAssembly void
VisitTopLevelType void

Méthodes publiques

Méthode Description
AsDefinition ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : Microsoft.Cci.IDefinition
Dispatch ( Microsoft.Cci visitor ) : void
GetAssemblyReferenceAliases ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : ImmutableArray
GetAssemblyReferences ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
GetAttributes ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
GetContainingAssembly ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : Microsoft.Cci.IAssembly
GetCorLibrary ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : Microsoft.Cci.IAssemblyReference
GetExportedTypes ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
GetFakeStringTokenForIL ( string value ) : uint
GetFakeSymbolTokenForIL ( Microsoft.Cci symbol, Microsoft.CodeAnalysis.SyntaxNode syntaxNode, DiagnosticBag diagnostics ) : uint
GetFieldForData ( ImmutableArray data, Microsoft.CodeAnalysis.SyntaxNode syntaxNode, DiagnosticBag diagnostics ) : Microsoft.Cci.IFieldReference
GetImports ( ) : ImmutableArray
GetInitArrayHelper ( ) : Microsoft.Cci.IMethodReference
GetPlatformType ( Microsoft.Cci t, Microsoft.CodeAnalysis.Emit.EmitContext context ) : Microsoft.Cci.ITypeReference
GetReferenceFromToken ( uint token ) : Microsoft.Cci.IReference
GetResources ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
GetStaticCtorBuilder ( NamedTypeSymbol container ) : ILBuilder

Gets IL builder for lazy static constructor.

GetStringFromToken ( uint token ) : string
GetStrings ( ) : IEnumerable
GetSymbolToLocationMap ( ) : Cci.DefinitionWithLocation>.MultiDictionary
GetSynthesizedFields ( TypeSymbol container ) : IEnumerable

Gets enumeration of synthesized fields for container.

GetSynthesizedMethods ( TypeSymbol container ) : IEnumerable

Gets enumeration of synthesized methods for container.

GetSynthesizedTypes ( TypeSymbol container ) : IEnumerable

Gets enumeration of synthesized nested types for container.

GetTopLevelTypes ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
IsGenericType ( INamedTypeSymbol toCheck ) : bool
IsPlatformType ( Microsoft.Cci typeRef, Microsoft.Cci platformType ) : bool
MemberVisibility ( Symbol symbol ) : Microsoft.Cci.TypeMemberVisibility
RealizeStaticCtors ( ) : void

Any lazily emitted static constructor will be realized and its body saved to method map.

ReferencesInIL ( int &count ) : IEnumerable
SetMethodBody ( IMethodSymbol methodSymbol, Microsoft.Cci body ) : void

Méthodes protégées

Méthode Description
AddEmbeddedResourcesFromAddedModules ( ArrayBuilder builder, DiagnosticBag diagnostics ) : void
GetAssemblyReferencesFromAddedModules ( DiagnosticBag diagnostics ) : IEnumerable
PEModuleBuilder ( PhpCompilation compilation, SourceModuleSymbol sourceModule, Microsoft.Cci serializationProperties, IEnumerable manifestResources, OutputKind outputKind, EmitOptions emitOptions ) : System

Private Methods

Méthode Description
AddTopLevelType ( HashSet names, Microsoft.Cci type ) : void
Cci ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : Microsoft.Cci.IAssemblyReference
CompilationFinished ( ) : void
CreateConstant ( ITypeSymbol type, object value, Microsoft.CodeAnalysis.SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics ) : Microsoft.CodeAnalysis.CodeGen.MetadataConstant
CreateEntryPoint ( MethodSymbol method, DiagnosticBag diagnostic ) : void

Create real CIL entry point, where it calls given method.

CreateEnumerateConstantsSymbol ( DiagnosticBag diagnostic ) : void

Emit body of enumeration of app-wide global constants.

CreateEnumerateReferencedFunctions ( DiagnosticBag diagnostic ) : void

Emit body of enumeration of referenced functions.

CreateEnumerateScriptsSymbol ( DiagnosticBag diagnostic ) : void

Emit body of enumeration of scripts Main function.

CreateMainMethodWrapper ( MethodSymbol wrapper, MethodSymbol main, DiagnosticBag diagnostic ) : void

Emits body of scripts main wrapper converting main result to PhpValue.

EncTranslateType ( ITypeSymbol type, DiagnosticBag diagnostics ) : Microsoft.Cci.ITypeReference
GetAnonymousTypes ( ) : ImmutableArray
GetCorLibraryReferencesToEmit ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
GetMethodBody ( IMethodSymbol methodSymbol ) : Microsoft.Cci.IMethodBody
GetOrAddDebugDocument ( string path, string basePath, Cci.DebugSourceDocument>.Func factory ) : Microsoft.Cci.DebugSourceDocument
GetPrivateImplClass ( Microsoft.CodeAnalysis.SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics ) : Microsoft.CodeAnalysis.CodeGen.PrivateImplementationDetails
GetSpecialType ( SpecialType specialType, Microsoft.CodeAnalysis.SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics ) : Microsoft.Cci.INamedTypeReference
GetSynthesizedMembers ( ) : ImmutableArray>.ImmutableDictionary
GetTopLevelTypesCore ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
IsSourceDefinition ( IMethodSymbol method ) : bool
NormalizeDebugDocumentPath ( string path, string basePath ) : string
SetDebugEntryPoint ( IMethodSymbol method, DiagnosticBag diagnostics ) : void
SetPEEntryPoint ( IMethodSymbol method, DiagnosticBag diagnostics ) : void
Translate ( ArrayTypeSymbol symbol ) : Microsoft.Cci.IArrayTypeReference
Translate ( IAssemblySymbol iassembly, DiagnosticBag diagnostics ) : Microsoft.Cci.IAssemblyReference
Translate ( TypeParameterSymbol param ) : Microsoft.Cci.IGenericParameterReference
Translate ( IMethodSymbol symbol, DiagnosticBag diagnostics, bool needDeclaration ) : Microsoft.Cci.IMethodReference
Translate ( MethodSymbol methodSymbol, Microsoft.CodeAnalysis.SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics, bool needDeclaration ) : Microsoft.Cci.IMethodReference
Translate ( ITypeSymbol typeSymbol, Microsoft.CodeAnalysis.SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics ) : Microsoft.Cci.ITypeReference
Translate ( NamedTypeSymbol namedTypeSymbol, Microsoft.CodeAnalysis.SyntaxNode syntaxOpt, DiagnosticBag diagnostics, bool fromImplements = false, bool needDeclaration = false ) : Microsoft.Cci.ITypeReference
Translate ( ImmutableArray @params ) : ImmutableArray
TranslateOverriddenMethodReference ( MethodSymbol methodSymbol, Microsoft.CodeAnalysis.SyntaxNode syntaxNodeOpt, DiagnosticBag diagnostics ) : Microsoft.Cci.IMethodReference
ValidateReferencedAssembly ( AssemblySymbol assembly, AssemblyReference asmRef, DiagnosticBag diagnostics ) : void
VisitTopLevelType ( Microsoft.Cci noPiaIndexer, Microsoft.Cci type ) : void

Method Details

AddEmbeddedResourcesFromAddedModules() protected méthode

protected AddEmbeddedResourcesFromAddedModules ( ArrayBuilder builder, DiagnosticBag diagnostics ) : void
builder ArrayBuilder
diagnostics DiagnosticBag
Résultat void

AsDefinition() public méthode

public AsDefinition ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : Microsoft.Cci.IDefinition
context Microsoft.CodeAnalysis.Emit.EmitContext
Résultat Microsoft.Cci.IDefinition

Dispatch() public méthode

public Dispatch ( Microsoft.Cci visitor ) : void
visitor Microsoft.Cci
Résultat void

GetAssemblyReferenceAliases() public méthode

public GetAssemblyReferenceAliases ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : ImmutableArray
context Microsoft.CodeAnalysis.Emit.EmitContext
Résultat ImmutableArray

GetAssemblyReferences() public méthode

public GetAssemblyReferences ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
context Microsoft.CodeAnalysis.Emit.EmitContext
Résultat IEnumerable

GetAssemblyReferencesFromAddedModules() protected méthode

protected GetAssemblyReferencesFromAddedModules ( DiagnosticBag diagnostics ) : IEnumerable
diagnostics DiagnosticBag
Résultat IEnumerable

GetAttributes() public méthode

public GetAttributes ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
context Microsoft.CodeAnalysis.Emit.EmitContext
Résultat IEnumerable

GetContainingAssembly() public méthode

public GetContainingAssembly ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : Microsoft.Cci.IAssembly
context Microsoft.CodeAnalysis.Emit.EmitContext
Résultat Microsoft.Cci.IAssembly

GetCorLibrary() public méthode

public GetCorLibrary ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : Microsoft.Cci.IAssemblyReference
context Microsoft.CodeAnalysis.Emit.EmitContext
Résultat Microsoft.Cci.IAssemblyReference

GetExportedTypes() public méthode

public GetExportedTypes ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
context Microsoft.CodeAnalysis.Emit.EmitContext
Résultat IEnumerable

GetFakeStringTokenForIL() public méthode

public GetFakeStringTokenForIL ( string value ) : uint
value string
Résultat uint

GetFakeSymbolTokenForIL() public méthode

public GetFakeSymbolTokenForIL ( Microsoft.Cci symbol, Microsoft.CodeAnalysis.SyntaxNode syntaxNode, DiagnosticBag diagnostics ) : uint
symbol Microsoft.Cci
syntaxNode Microsoft.CodeAnalysis.SyntaxNode
diagnostics DiagnosticBag
Résultat uint

GetFieldForData() public méthode

public GetFieldForData ( ImmutableArray data, Microsoft.CodeAnalysis.SyntaxNode syntaxNode, DiagnosticBag diagnostics ) : Microsoft.Cci.IFieldReference
data ImmutableArray
syntaxNode Microsoft.CodeAnalysis.SyntaxNode
diagnostics DiagnosticBag
Résultat Microsoft.Cci.IFieldReference

GetImports() public méthode

public GetImports ( ) : ImmutableArray
Résultat ImmutableArray

GetInitArrayHelper() public méthode

public GetInitArrayHelper ( ) : Microsoft.Cci.IMethodReference
Résultat Microsoft.Cci.IMethodReference

GetPlatformType() public méthode

public GetPlatformType ( Microsoft.Cci t, Microsoft.CodeAnalysis.Emit.EmitContext context ) : Microsoft.Cci.ITypeReference
t Microsoft.Cci
context Microsoft.CodeAnalysis.Emit.EmitContext
Résultat Microsoft.Cci.ITypeReference

GetReferenceFromToken() public méthode

public GetReferenceFromToken ( uint token ) : Microsoft.Cci.IReference
token uint
Résultat Microsoft.Cci.IReference

GetResources() public méthode

public GetResources ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
context Microsoft.CodeAnalysis.Emit.EmitContext
Résultat IEnumerable

GetStaticCtorBuilder() public méthode

Gets IL builder for lazy static constructor.
public GetStaticCtorBuilder ( NamedTypeSymbol container ) : ILBuilder
container Pchp.CodeAnalysis.Symbols.NamedTypeSymbol
Résultat Microsoft.CodeAnalysis.CodeGen.ILBuilder

GetStringFromToken() public méthode

public GetStringFromToken ( uint token ) : string
token uint
Résultat string

GetStrings() public méthode

public GetStrings ( ) : IEnumerable
Résultat IEnumerable

GetSymbolToLocationMap() public méthode

public GetSymbolToLocationMap ( ) : Cci.DefinitionWithLocation>.MultiDictionary
Résultat Cci.DefinitionWithLocation>.MultiDictionary

GetSynthesizedFields() public méthode

Gets enumeration of synthesized fields for container.
public GetSynthesizedFields ( TypeSymbol container ) : IEnumerable
container TypeSymbol Containing type symbol.
Résultat IEnumerable

GetSynthesizedMethods() public méthode

Gets enumeration of synthesized methods for container.
public GetSynthesizedMethods ( TypeSymbol container ) : IEnumerable
container TypeSymbol Containing type symbol.
Résultat IEnumerable

GetSynthesizedTypes() public méthode

Gets enumeration of synthesized nested types for container.
public GetSynthesizedTypes ( TypeSymbol container ) : IEnumerable
container TypeSymbol Containing type symbol.
Résultat IEnumerable

GetTopLevelTypes() public méthode

public GetTopLevelTypes ( Microsoft.CodeAnalysis.Emit.EmitContext context ) : IEnumerable
context Microsoft.CodeAnalysis.Emit.EmitContext
Résultat IEnumerable

IsGenericType() public static méthode

public static IsGenericType ( INamedTypeSymbol toCheck ) : bool
toCheck INamedTypeSymbol
Résultat bool

IsPlatformType() public méthode

public IsPlatformType ( Microsoft.Cci typeRef, Microsoft.Cci platformType ) : bool
typeRef Microsoft.Cci
platformType Microsoft.Cci
Résultat bool

MemberVisibility() public static méthode

public static MemberVisibility ( Symbol symbol ) : Microsoft.Cci.TypeMemberVisibility
symbol Symbol
Résultat Microsoft.Cci.TypeMemberVisibility

PEModuleBuilder() protected méthode

protected PEModuleBuilder ( PhpCompilation compilation, SourceModuleSymbol sourceModule, Microsoft.Cci serializationProperties, IEnumerable manifestResources, OutputKind outputKind, EmitOptions emitOptions ) : System
compilation PhpCompilation
sourceModule Pchp.CodeAnalysis.Symbols.SourceModuleSymbol
serializationProperties Microsoft.Cci
manifestResources IEnumerable
outputKind OutputKind
emitOptions EmitOptions
Résultat System

RealizeStaticCtors() public méthode

Any lazily emitted static constructor will be realized and its body saved to method map.
public RealizeStaticCtors ( ) : void
Résultat void

ReferencesInIL() public méthode

public ReferencesInIL ( int &count ) : IEnumerable
count int
Résultat IEnumerable

SetMethodBody() public méthode

public SetMethodBody ( IMethodSymbol methodSymbol, Microsoft.Cci body ) : void
methodSymbol IMethodSymbol
body Microsoft.Cci
Résultat void

Property Details

AssemblyOrModuleSymbolToModuleRefMap protected_oe property

protected ConcurrentDictionary AssemblyOrModuleSymbolToModuleRefMap
Résultat Cci.IModuleReference>.ConcurrentDictionary