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
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
Methods
BuildActions()
An array of build actions.
IBuildAction[] BuildActions()
Returns
BuildLogDevices()
An array of build log devices.
IBuildLogDevice[] BuildLogDevices()
Returns
BuildLogWriters()
An array of build log writers.
IBuildLogWriter[] BuildLogWriters()
Returns
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
CompilerDirectives()
An array of compiler directives.
ICompilerDirective[] CompilerDirectives()
Returns
ConfigurationProviders()
An array of configuration providers added by this extension.
IConfigurationProvider[] ConfigurationProviders()
Returns
DeploymentTargets()
An array of deployment targets.
IDeploymentTarget[] DeploymentTargets()
Returns
DocumentSources()
An array of document sources.
IDocumentSource[] DocumentSources()
Returns
GlobalProperties()
An array of global configuration properties.
GlobalConfigProperty[] GlobalProperties()
Returns
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
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.
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.
IResourceProvider<string>[] LocalizationResourceProviders()
Returns
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
ProjectTemplates()
An array of project templates added by this extension.
IProjectTemplate[] ProjectTemplates()
Returns
Properties()
A list of build system property registrations.
Property[] Properties()
Returns
- Property[]
Subsystems()
An array of subsystems.
ISubsystem[] Subsystems()
Returns
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.