Table of Contents

Class Extension

Namespace
Dassie.Extensions
Assembly
dc.dll

Provides an abstract implementation of the IPackage interface.

public abstract class Extension : IPackage
Inheritance
Extension
Implements
Derived
Inherited Members
Extension Methods

Properties

Metadata

The metadata of the extension.

public virtual PackageMetadata Metadata { get; }

Property Value

PackageMetadata

ParentPackage

If set to a non-abstract type implementing IPackage, causes this extension to act as a child of the specified extension.

public virtual Type ParentPackage { get; }

Property Value

Type

Methods

BuildActions()

An array of build actions.

public virtual IBuildAction[] BuildActions()

Returns

IBuildAction[]

BuildLogDevices()

An array of build log devices.

public virtual IBuildLogDevice[] BuildLogDevices()

Returns

IBuildLogDevice[]

BuildLogWriters()

An array of build log writers.

public virtual IBuildLogWriter[] BuildLogWriters()

Returns

IBuildLogWriter[]

CodeAnalyzers()

An array of code analyzers added by this extensions.

public virtual IAnalyzer<IParseTree>[] CodeAnalyzers()

Returns

IAnalyzer<IParseTree>[]

Commands()

An array of compiler commands added by this extension.

public virtual ICompilerCommand[] Commands()

Returns

ICompilerCommand[]

CompilerDirectives()

An array of compiler directives.

public virtual ICompilerDirective[] CompilerDirectives()

Returns

ICompilerDirective[]

ConfigurationProviders()

An array of configuration providers added by this extension.

public virtual IConfigurationProvider[] ConfigurationProviders()

Returns

IConfigurationProvider[]

DeploymentTargets()

An array of deployment targets.

public virtual IDeploymentTarget[] DeploymentTargets()

Returns

IDeploymentTarget[]

DocumentSources()

An array of document sources.

public virtual IDocumentSource[] DocumentSources()

Returns

IDocumentSource[]

GlobalProperties()

An array of global configuration properties.

public virtual GlobalConfigProperty[] GlobalProperties()

Returns

GlobalConfigProperty[]

Hidden()

If true, the extension is hidden and does not appear in the list of installed extensions.

public virtual bool Hidden()

Returns

bool

Wheter or not the package is hidden.

InitializeGlobal(IEnvironmentInfo)

The method that is called immediately after the extension was loaded in global mode. This method is only called if the extension is configured to allow initialization in global mode.

public virtual int InitializeGlobal(IEnvironmentInfo environment)

Parameters

environment IEnvironmentInfo

The environment the extension was loaded in.

Returns

int

A status code representing the result of the initialization. If non-zero, the compiler will emit an error.

InitializeTransient(IEnvironmentInfo, List<XmlAttribute>, List<XmlElement>)

The method that is called immediately after the extension was loaded in transient mode. This method is only called if the extension is configured to allow initialization in transient mode.

public virtual int InitializeTransient(IEnvironmentInfo environment, List<XmlAttribute> attributes, List<XmlElement> elements)

Parameters

environment IEnvironmentInfo

The environment the extension was loaded in.

attributes List<XmlAttribute>

The XML attributes the extension is initialized with.

elements List<XmlElement>

The XML elements the extension is initialized with.

Returns

int

A status code representing the result of the initialization. If non-zero, the compiler will emit an error.

LocalizationResourceProviders()

A list of localization resource providers defined by this extension.

public virtual IResourceProvider<string>[] LocalizationResourceProviders()

Returns

IResourceProvider<string>[]

Macros()

An array of macros defined by this extension.

public virtual IMacro[] Macros()

Returns

IMacro[]

Modes()

Specifies the modes the extension can be loaded in.

public virtual ExtensionModes Modes()

Returns

ExtensionModes

ProjectTemplates()

An array of project templates added by this extension.

public virtual IProjectTemplate[] ProjectTemplates()

Returns

IProjectTemplate[]

Properties()

A list of build system property registrations.

public virtual Property[] Properties()

Returns

Property[]

Subsystems()

An array of subsystems.

public virtual ISubsystem[] Subsystems()

Returns

ISubsystem[]

Unload()

The method that is called immediately before the extension is unloaded.

public virtual void Unload()

Remarks

Under normal operation, the unloading of an extension coincides with the termination of the compiler process. The Unload() method is only called if the compiler process is ending gracefully.