InlineConjugations Class

Definition

Syntax tree transformation that inlines all conjugations, thus eliminating them from a given scope. All exception thrown during transformation are caught and the action given upon instantiation - if any - is called upon them. The syntax tree is left unchanged if an exception occurs. The Success property is true if and only if no exceptions occurred. The generation of the adjoint for the outer block is subject to the same limitation as any adjoint auto-generation. In particular, it is only guaranteed to be valid if operation calls only occur within expression statements, and throws an InvalidOperationException if the outer block contains while-loops.

public class InlineConjugations : Microsoft.Quantum.QsCompiler.Transformations.Core.SyntaxTreeTransformation<Microsoft.Quantum.QsCompiler.Transformations.Conjugations.InlineConjugations.TransformationState>
type InlineConjugations = class
    inherit SyntaxTreeTransformation<InlineConjugations.TransformationState>
Public Class InlineConjugations
Inherits SyntaxTreeTransformation(Of InlineConjugations.TransformationState)
Inheritance

Constructors

InlineConjugations(Action<Exception>)

Properties

ExpressionKinds (Inherited from SyntaxTreeTransformation<T>)
Expressions (Inherited from SyntaxTreeTransformation<T>)
Namespaces (Inherited from SyntaxTreeTransformation<T>)
SharedState (Inherited from SyntaxTreeTransformation<T>)
StatementKinds (Inherited from SyntaxTreeTransformation<T>)
Statements (Inherited from SyntaxTreeTransformation<T>)
Types (Inherited from SyntaxTreeTransformation<T>)

Methods

OnAbsoluteLocation(QsNullable<QsLocation>) (Inherited from SyntaxTreeTransformation<T>)
OnArgumentTuple(QsTuple<LocalVariableDeclaration<QsLocalSymbol,ResolvedType>>) (Inherited from SyntaxTreeTransformation<T>)
OnCompilation(QsCompilation) (Inherited from SyntaxTreeTransformation<T>)
OnExpressionRange(QsNullable<Range>) (Inherited from SyntaxTreeTransformation<T>)
OnItemName(UserDefinedType, String) (Inherited from SyntaxTreeTransformation<T>)
OnItemNameDeclaration(String) (Inherited from SyntaxTreeTransformation<T>)
OnLocalName(String) (Inherited from SyntaxTreeTransformation<T>)
OnLocalNameDeclaration(String) (Inherited from SyntaxTreeTransformation<T>)
OnRelativeLocation(QsNullable<QsLocation>) (Inherited from SyntaxTreeTransformation<T>)
OnSymbolLocation(QsNullable<Position>, Range) (Inherited from SyntaxTreeTransformation<T>)
OnTypeRange(TypeRange) (Inherited from SyntaxTreeTransformation<T>)

Applies to