Metalama 1.0 / / Metalama Documentation / Introspection API Documentation / Metalama.​Framework.​Workspaces

Namespace Metalama.Framework.Workspaces

Classes

Project

Represents a C# project for a specific compilation.

ServiceFactoryContext

The context object passed to service factories registered by RegisterService(Func<ServiceFactoryContext, IService>).

Workspace

Represents a set of projects. Workspaces can be created using the WorkspaceCollection class. When projects target several frameworks, they are represented by several instances of the Project class in the workspace.

WorkspaceCollection

Represents a set of workspaces. Two attempts to load a workspace with the same parameters, in the same WorkspaceCollection, will return the exact same instance, unless the Reset() method is called.

Interfaces

ICompilationSet

Represents a set of compilations and exposes lists of declarations that merge the declarations from all the compilations in the set.

IMetalamaCompilationSet

Represents the output of the compilation of a project by Metalama.

IProjectSet

Represents a set of projects. An IProjectSet can include several instances of the Project for the same file if they target multiple frameworks, one Project instance per framework. You can create a subset with the GetSubset(Predicate<Project>) method.

IWorkspaceLoadInfo

Exposes the information needed to reconstruct a Workspace.