Table of Contents

Interface IPackage

Namespace
Dassie.Extensions
Assembly
dc.dll

Defines a Dassie compiler extension.

public interface IPackage
Extension Methods

Properties

Metadata

The metadata of the extension.

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.

Type ParentPackage { get; }

Property Value

Type

Methods

BuildActions()

An array of build actions.

IBuildAction[] BuildActions()

Returns

IBuildAction[]

BuildLogDevices()

An array of build log devices.

IBuildLogDevice[] BuildLogDevices()

Returns

IBuildLogDevice[]

BuildLogWriters()

An array of build log writers.

IBuildLogWriter[] BuildLogWriters()

Returns

IBuildLogWriter[]

CodeAnalyzers()

An array of code analyzers added by this extensions.

IAnalyzer<IParseTree>[] CodeAnalyzers()

Returns

IAnalyzer<IParseTree>[]

Commands()

An array of compiler commands added by this extension.

ICompilerCommand[] Commands()

Returns

ICompilerCommand[]

CompilerDirectives()

An array of compiler directives.

ICompilerDirective[] CompilerDirectives()

Returns

ICompilerDirective[]

ConfigurationProviders()

An array of configuration providers added by this extension.

IConfigurationProvider[] ConfigurationProviders()

Returns

IConfigurationProvider[]

DeploymentTargets()

An array of deployment targets.

IDeploymentTarget[] DeploymentTargets()

Returns

IDeploymentTarget[]

DocumentSources()

An array of document sources.

IDocumentSource[] DocumentSources()

Returns

IDocumentSource[]

GlobalProperties()

An array of global configuration properties.

GlobalConfigProperty[] GlobalProperties()

Returns

GlobalConfigProperty[]

Hidden()

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

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.

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.

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.

IResourceProvider<string>[] LocalizationResourceProviders()

Returns

IResourceProvider<string>[]

Macros()

An array of macros defined by this extension.

IMacro[] Macros()

Returns

IMacro[]

Modes()

Specifies the modes the extension can be loaded in.

ExtensionModes Modes()

Returns

ExtensionModes

ProjectTemplates()

An array of project templates added by this extension.

IProjectTemplate[] ProjectTemplates()

Returns

IProjectTemplate[]

Properties()

A list of build system property registrations.

Property[] Properties()

Returns

Property[]

Subsystems()

An array of subsystems.

ISubsystem[] Subsystems()

Returns

ISubsystem[]

Unload()

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

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.