Table of Contents

Class SimpleCompilation

Namespace
ICSharpCode.Decompiler.TypeSystem.Implementation
Assembly
ICSharpCode.Decompiler.dll

Simple compilation implementation.

public class SimpleCompilation : ICompilation
Inheritance
SimpleCompilation
Implements
Derived
Inherited Members
Extension Methods

Constructors

SimpleCompilation()

protected SimpleCompilation()

SimpleCompilation(IModuleReference, params IModuleReference[])

public SimpleCompilation(IModuleReference mainAssembly, params IModuleReference[] assemblyReferences)

Parameters

mainAssembly IModuleReference
assemblyReferences IModuleReference[]

SimpleCompilation(IModuleReference, IEnumerable<IModuleReference>)

public SimpleCompilation(IModuleReference mainAssembly, IEnumerable<IModuleReference> assemblyReferences)

Parameters

mainAssembly IModuleReference
assemblyReferences IEnumerable<IModuleReference>

Properties

CacheManager

public CacheManager CacheManager { get; }

Property Value

CacheManager

MainModule

Gets the primary module. This is the module being (de)compiled; all other modules in the compilation are the other assemblies/modules referenced by the main module.

public IModule MainModule { get; }

Property Value

IModule

Modules

public IReadOnlyList<IModule> Modules { get; }

Property Value

IReadOnlyList<IModule>

NameComparer

Gets the name comparer for the language being compiled. This is the string comparer used for the INamespace.GetTypeDefinition method.

public StringComparer NameComparer { get; }

Property Value

StringComparer

ReferencedModules

Gets the referenced modules. This list does not include the main module.

public IReadOnlyList<IModule> ReferencedModules { get; }

Property Value

IReadOnlyList<IModule>

RootNamespace

public INamespace RootNamespace { get; }

Property Value

INamespace

Methods

CreateRootNamespace()

protected virtual INamespace CreateRootNamespace()

Returns

INamespace

FindType(KnownTypeCode)

public IType FindType(KnownTypeCode typeCode)

Parameters

typeCode KnownTypeCode

Returns

IType

GetNamespaceForExternAlias(string)

public virtual INamespace GetNamespaceForExternAlias(string alias)

Parameters

alias string

Returns

INamespace

Init(IModuleReference, IEnumerable<IModuleReference>)

protected void Init(IModuleReference mainAssembly, IEnumerable<IModuleReference> assemblyReferences)

Parameters

mainAssembly IModuleReference
assemblyReferences IEnumerable<IModuleReference>

ToString()

public override string ToString()

Returns

string