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
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
Methods
BuildActions()
An array of build actions.
public virtual IBuildAction[] BuildActions()
Returns
BuildLogDevices()
An array of build log devices.
public virtual IBuildLogDevice[] BuildLogDevices()
Returns
BuildLogWriters()
An array of build log writers.
public virtual IBuildLogWriter[] BuildLogWriters()
Returns
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
CompilerDirectives()
An array of compiler directives.
public virtual ICompilerDirective[] CompilerDirectives()
Returns
ConfigurationProviders()
An array of configuration providers added by this extension.
public virtual IConfigurationProvider[] ConfigurationProviders()
Returns
DeploymentTargets()
An array of deployment targets.
public virtual IDeploymentTarget[] DeploymentTargets()
Returns
DocumentSources()
An array of document sources.
public virtual IDocumentSource[] DocumentSources()
Returns
GlobalProperties()
An array of global configuration properties.
public virtual GlobalConfigProperty[] GlobalProperties()
Returns
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
environmentIEnvironmentInfoThe 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
environmentIEnvironmentInfoThe environment the extension was loaded in.
attributesList<XmlAttribute>The XML attributes the extension is initialized with.
elementsList<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
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
ProjectTemplates()
An array of project templates added by this extension.
public virtual IProjectTemplate[] ProjectTemplates()
Returns
Properties()
A list of build system property registrations.
public virtual Property[] Properties()
Returns
- Property[]
Subsystems()
An array of subsystems.
public virtual ISubsystem[] Subsystems()
Returns
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.