CompilationLoader.Configuration Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
may be specified via configuration (or project) file in the future
public class CompilationLoader.Configuration
type CompilationLoader.Configuration = class
Public Class CompilationLoader.Configuration
- Inheritance
-
CompilationLoader.Configuration
Constructors
| CompilationLoader.Configuration() |
Properties
| AssemblyConstants |
Handle to pass arbitrary constants with which to populate the corresponding dictionary for loaded rewrite steps. These values will take precedence over any already existing values that the default constructor sets. However, the compiler may overwrite the assembly constants defined for the Q# compilation unit in the dictionary of the loaded step. The given dictionary in this configuration is left unchanged in any case. |
| AttemptFullPreEvaluation |
If set to true, the compiler attempts to pre-evaluate the built compilation as much as possible. This is an experimental feature that will change over time. |
| BuildOutputFolder |
Directory where the compiled binaries will be generated. No binaries will be written to disk unless this path is specified and valid. |
| DllOutputPath |
Output path for the dll containing the compiled binaries. No dll will be generated unless this path is specified and valid. |
| DocumentationOutputFolder |
If the output folder is not null, documentation is generated in the specified folder based on doc comments in the source code. |
| EnableAdditionalChecks |
If set to true, the post-condition for loaded rewrite steps is checked if the corresponding verification is implemented. Otherwise post-condition verifications are skipped. |
| ExposeReferencesViaTestNames |
If set to true, then public types and callables declared in referenced assemblies are exposed via their test name defined by the corresponding attribute. |
| ForceRewriteStepExecution |
If set to true, forces all rewrite steps to execute, regardless of whether their precondition was satisfied. If the precondition of a step is not satisfied, the transformation is executed but the output will be ignored, and an error is generated, indicating a compilation failure. |
| GenerateFunctorSupport |
If set to true, the syntax tree rewrite step that replaces all generation directives for all functor specializations is executed during compilation. |
| IsExecutable |
Specifies whether the project to build is a Q# command line application. If set to true, a warning will be raised if no entry point is defined. If set to false, then defined entry points will be ignored and a warning will be raised. |
| LiftLambdaExpressions |
Indicates whether the compiler will remove lambda expressions and replace them with calls to generated callables. |
| LoadReferencesBasedOnGeneratedCsharp |
If set to true, then referenced dlls will be loaded purely based on attributes in the contained C# code. Any Q# resources will be ignored. |
| PrepareQirGeneration |
Indicates whether the necessary compiler passes are executed for the compilation to be compatible with QIR generation. |
| ProjectName |
The name of the project. Used as assembly name in the generated dll. The name of the project with a suitable extension will also be used as the name of the generated binary file. |
| RewriteStepAssemblies |
Contains a sequence of tuples with the path to a dotnet dll containing one or more rewrite steps (i.e. classes implementing IRewriteStep) and the corresponding output folder. The contained rewrite steps will be executed in the defined order and priority at the end of the compilation. |
| RewriteStepInstances |
Contains a sequence of tuples with the objects (instances of IRewriteStep) and the corresponding output folder. The contained rewrite steps will be executed in the defined order and priority at the end of the compilation. |
| RewriteStepTypes |
Contains a sequence of tuples with the types (classes implementing IRewriteStep) and the corresponding output folder. The contained rewrite steps will be executed in the defined order and priority at the end of the compilation. |
| SkipConjugationInlining |
Unless this is set to true, the syntax tree rewrite step that inlines conjugations is executed during compilation. |
| SkipMonomorphization |
Unless this is set to true, all usages of type-parameterized callables are replaced with the concrete callable instantiation if an entry point is specified for the compilation. Removes all type-parameterizations in the syntax tree. |
| SkipSyntaxTreeTrimming |
Unless this is set to true, all unused callables are removed from the syntax tree. |
| SkipTargetSpecificCompilation |
If this is set to true, the initial validation will take the specified runtime capability into account, but any further compilation steps will execute as if no target specific properties were specified. |
| TargetCapability |
Specifies the capabilities of the target. The specified capabilities determine what QIR profile to compile to. |
| TargetPackageAssemblies |
Paths to the assemblies that contains a syntax tree with target specific implementations for certain functions and operations. The functions and operations defined in these assemblies replace the ones declared within the compilation unit. If no paths are specified here or the sequence is null then this compilation step is omitted. |