From 67f97a3190b70014008928fcf373ac4142daab95 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Zaragoza=20Cort=C3=A9s?= Date: Mon, 23 Nov 2020 17:15:37 -0800 Subject: [PATCH 1/3] Include generated c-sharp file in source control instead of generating it when the solution is built. --- src/QsCompiler/BondSchemas/BondSchemas.csproj | 4 + .../Generated/CompilerDataStructures.cs | 1791 +++++++++++++++++ 2 files changed, 1795 insertions(+) create mode 100644 src/QsCompiler/BondSchemas/Generated/CompilerDataStructures.cs diff --git a/src/QsCompiler/BondSchemas/BondSchemas.csproj b/src/QsCompiler/BondSchemas/BondSchemas.csproj index fba730d338..ec79363e8f 100644 --- a/src/QsCompiler/BondSchemas/BondSchemas.csproj +++ b/src/QsCompiler/BondSchemas/BondSchemas.csproj @@ -8,6 +8,10 @@ Microsoft.Quantum.BondSchemas + + + + diff --git a/src/QsCompiler/BondSchemas/Generated/CompilerDataStructures.cs b/src/QsCompiler/BondSchemas/Generated/CompilerDataStructures.cs new file mode 100644 index 0000000000..af43d722b2 --- /dev/null +++ b/src/QsCompiler/BondSchemas/Generated/CompilerDataStructures.cs @@ -0,0 +1,1791 @@ + +//------------------------------------------------------------------------------ +// This code was generated by a tool. +// +// Tool : Bond Compiler 0.12.0.0 +// Input filename: CompilerDataStructures.bond +// Output filename: CompilerDataStructures_types.cs +// +// Changes to this file may cause incorrect behavior and will be lost when +// the code is regenerated. +// +//------------------------------------------------------------------------------ + + +// suppress "Missing XML comment for publicly visible type or member" +#pragma warning disable 1591 + + +#region ReSharper warnings +// ReSharper disable PartialTypeWithSinglePart +// ReSharper disable RedundantNameQualifier +// ReSharper disable InconsistentNaming +// ReSharper disable CheckNamespace +// ReSharper disable UnusedParameter.Local +// ReSharper disable RedundantUsingDirective +#endregion + +namespace Microsoft.Quantum.QsCompiler.BondSchemas +{ + using System.Collections.Generic; + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class Position + { + [global::Bond.Id(5)] + public int Line { get; set; } + + [global::Bond.Id(10)] + public int Column { get; set; } + + public Position() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.Position", "Position") + { } + + protected Position(string fullName, string name) + { + + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class Range + { + [global::Bond.Id(5)] + public Position Start { get; set; } + + [global::Bond.Id(10)] + public Position End { get; set; } + + public Range() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.Range", "Range") + { } + + protected Range(string fullName, string name) + { + Start = new Position(); + End = new Position(); + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum AccessModifier + { + DefaultAccess, + Internal, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class Modifiers + { + [global::Bond.Id(5)] + public AccessModifier Access { get; set; } + + public Modifiers() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.Modifiers", "Modifiers") + { } + + protected Modifiers(string fullName, string name) + { + Access = AccessModifier.DefaultAccess; + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsGeneratorDirective + { + SelfInverse, + Invert, + Distribute, + InvalidGenerator, + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsResult + { + Zero, + One, + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsPauli + { + PauliX, + PauliY, + PauliZ, + PauliI, + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsExpressionKind + { + UnitValue, + Identifier, + ValueTuple, + IntLiteral, + BigIntLiteral, + DoubleLiteral, + BoolLiteral, + StringLiteral, + ResultLiteral, + PauliLiteral, + RangeLiteral, + NewArray, + ValueArray, + ArrayItem, + NamedItem, + NEG, + NOT, + BNOT, + ADD, + SUB, + MUL, + DIV, + MOD, + POW, + EQ, + NEQ, + LT, + LTE, + GT, + GTE, + AND, + OR, + BOR, + BAND, + BXOR, + LSHIFT, + RSHIFT, + CONDITIONAL, + CopyAndUpdate, + UnwrapApplication, + AdjointApplication, + ControlledApplication, + CallLikeExpression, + MissingExpr, + InvalidExpr, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsExpressionKindIdentifier + { + [global::Bond.Id(5), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TSymbol Symbol { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public List Types { get; set; } + + public QsExpressionKindIdentifier() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsExpressionKindIdentifier", "QsExpressionKindIdentifier") + { } + + protected QsExpressionKindIdentifier(string fullName, string name) + { + Symbol = global::Bond.GenericFactory.Create(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsExpressionKindStringLiteral + { + [global::Bond.Id(5)] + public string StringLiteral { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(List))] + public List Expressions { get; set; } + + public QsExpressionKindStringLiteral() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsExpressionKindStringLiteral", "QsExpressionKindStringLiteral") + { } + + protected QsExpressionKindStringLiteral(string fullName, string name) + { + StringLiteral = ""; + Expressions = new List(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsExpressionKindExpressionDouble + { + [global::Bond.Id(5), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TExpression Expression1 { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TExpression Expression2 { get; set; } + + public QsExpressionKindExpressionDouble() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsExpressionKindExpressionDouble", "QsExpressionKindExpressionDouble") + { } + + protected QsExpressionKindExpressionDouble(string fullName, string name) + { + Expression1 = global::Bond.GenericFactory.Create(); + Expression2 = global::Bond.GenericFactory.Create(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsExpressionKindExpressionTriple + { + [global::Bond.Id(5), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TExpression Expression1 { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TExpression Expression2 { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TExpression Expression3 { get; set; } + + public QsExpressionKindExpressionTriple() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsExpressionKindExpressionTriple", "QsExpressionKindExpressionTriple") + { } + + protected QsExpressionKindExpressionTriple(string fullName, string name) + { + Expression1 = global::Bond.GenericFactory.Create(); + Expression2 = global::Bond.GenericFactory.Create(); + Expression3 = global::Bond.GenericFactory.Create(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsExpressionKindNewArray + { + [global::Bond.Id(5), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TType Type { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TExpression Expression { get; set; } + + public QsExpressionKindNewArray() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsExpressionKindNewArray", "QsExpressionKindNewArray") + { } + + protected QsExpressionKindNewArray(string fullName, string name) + { + Type = global::Bond.GenericFactory.Create(); + Expression = global::Bond.GenericFactory.Create(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsExpressionKindNamedItem + { + [global::Bond.Id(5), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TExpression Expression { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TSymbol Symbol { get; set; } + + public QsExpressionKindNamedItem() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsExpressionKindNamedItem", "QsExpressionKindNamedItem") + { } + + protected QsExpressionKindNamedItem(string fullName, string name) + { + Expression = global::Bond.GenericFactory.Create(); + Symbol = global::Bond.GenericFactory.Create(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsExpressionKindComposition + { + [global::Bond.Id(5), global::Bond.Required] + public QsExpressionKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public QsExpressionKindIdentifier Identifier { get; set; } + + [global::Bond.Id(20), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public long? IntLiteral { get; set; } + + [global::Bond.Id(25), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public System.ArraySegment BigIntLiteral { get; set; } + + [global::Bond.Id(30), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public double? DoubleLiteral { get; set; } + + [global::Bond.Id(35), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public bool? BoolLiteral { get; set; } + + [global::Bond.Id(40), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public QsExpressionKindStringLiteral StringLiteral { get; set; } + + [global::Bond.Id(45), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsResult? ResultLiteral { get; set; } + + [global::Bond.Id(50), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsPauli? PauliLiteral { get; set; } + + [global::Bond.Id(55), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public QsExpressionKindNewArray NewArray { get; set; } + + [global::Bond.Id(60), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public QsExpressionKindNamedItem NamedItem { get; set; } + + [global::Bond.Id(65), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public TExpression Expression { get; set; } + + [global::Bond.Id(70), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public QsExpressionKindExpressionDouble ExpressionDouble { get; set; } + + [global::Bond.Id(75), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public QsExpressionKindExpressionTriple ExpressionTriple { get; set; } + + [global::Bond.Id(80), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public List ExpressionArray { get; set; } + + public QsExpressionKindComposition() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsExpressionKindComposition", "QsExpressionKindComposition") + { } + + protected QsExpressionKindComposition(string fullName, string name) + { + Kind = QsExpressionKind.InvalidExpr; + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsBindingKind + { + ImmutableBinding, + MutableBinding, + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsSpecializationKind + { + QsBody, + QsAdjoint, + QsControlled, + QsControlledAdjoint, + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsCallableKind + { + Operation, + Function, + TypeConstructor, + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsQubitScopeKind + { + Allocate, + Borrow, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsQualifiedName + { + [global::Bond.Id(5)] + public string Namespace { get; set; } + + [global::Bond.Id(10)] + public string Name { get; set; } + + public QsQualifiedName() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsQualifiedName", "QsQualifiedName") + { } + + protected QsQualifiedName(string fullName, string name) + { + Namespace = ""; + Name = ""; + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum SymbolTupleKind + { + InvalidItem, + VariableName, + VariableNameTuple, + DiscardedItem, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class SymbolTuple + { + [global::Bond.Id(5), global::Bond.Required] + public SymbolTupleKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public string VariableName { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public List VariableNameTuple { get; set; } + + public SymbolTuple() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.SymbolTuple", "SymbolTuple") + { } + + protected SymbolTuple(string fullName, string name) + { + Kind = SymbolTupleKind.InvalidItem; + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsBinding + { + [global::Bond.Id(5)] + public QsBindingKind Kind { get; set; } + + [global::Bond.Id(10)] + public SymbolTuple Lhs { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public T Rhs { get; set; } + + public QsBinding() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsBinding", "QsBinding") + { } + + protected QsBinding(string fullName, string name) + { + Kind = QsBindingKind.ImmutableBinding; + Lhs = new SymbolTuple(); + Rhs = global::Bond.GenericFactory.Create(); + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum IdentifierKind + { + LocalVariable, + GlobalCallable, + InvalidIdentifier, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class Identifier + { + [global::Bond.Id(5), global::Bond.Required] + public IdentifierKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public string LocalVariable { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsQualifiedName GlobalCallable { get; set; } + + public Identifier() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.Identifier", "Identifier") + { } + + protected Identifier(string fullName, string name) + { + Kind = IdentifierKind.LocalVariable; + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsLocation + { + [global::Bond.Id(5)] + public Position Offset { get; set; } + + [global::Bond.Id(10)] + public Range Range { get; set; } + + public QsLocation() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsLocation", "QsLocation") + { } + + protected QsLocation(string fullName, string name) + { + Offset = new Position(); + Range = new Range(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsTypeParameter + { + [global::Bond.Id(5)] + public QsQualifiedName Origin { get; set; } + + [global::Bond.Id(10)] + public string TypeName { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public Range Range { get; set; } + + public QsTypeParameter() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsTypeParameter", "QsTypeParameter") + { } + + protected QsTypeParameter(string fullName, string name) + { + Origin = new QsQualifiedName(); + TypeName = ""; + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class UserDefinedType + { + [global::Bond.Id(5)] + public string Namespace { get; set; } + + [global::Bond.Id(10)] + public string Name { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public Range Range { get; set; } + + public UserDefinedType() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.UserDefinedType", "UserDefinedType") + { } + + protected UserDefinedType(string fullName, string name) + { + Namespace = ""; + Name = ""; + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum OpProperty + { + Adjointable, + Controllable, + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum CharacteristicsKind + { + EmptySet, + SimpleSet, + Union, + Intersection, + InvalidSetExpr, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class CharacteristicsKindSetOperation + { + [global::Bond.Id(5), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public T Set1 { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public T Set2 { get; set; } + + public CharacteristicsKindSetOperation() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.CharacteristicsKindSetOperation", "CharacteristicsKindSetOperation") + { } + + protected CharacteristicsKindSetOperation(string fullName, string name) + { + Set1 = global::Bond.GenericFactory.Create(); + Set2 = global::Bond.GenericFactory.Create(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class CharacteristicsKindComposition + { + [global::Bond.Id(5), global::Bond.Required] + public CharacteristicsKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public OpProperty? SimpleSet { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public CharacteristicsKindSetOperation SetOperation { get; set; } + + public CharacteristicsKindComposition() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.CharacteristicsKindComposition", "CharacteristicsKindComposition") + { } + + protected CharacteristicsKindComposition(string fullName, string name) + { + Kind = CharacteristicsKind.InvalidSetExpr; + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class ResolvedCharacteristics + { + [global::Bond.Id(5)] + public CharacteristicsKindComposition Expression { get; set; } + + public ResolvedCharacteristics() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.ResolvedCharacteristics", "ResolvedCharacteristics") + { } + + protected ResolvedCharacteristics(string fullName, string name) + { + Expression = new CharacteristicsKindComposition(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class InferredCallableInformation + { + [global::Bond.Id(5)] + public bool IsSelfAdjoint { get; set; } + + [global::Bond.Id(10)] + public bool IsIntrinsic { get; set; } + + public InferredCallableInformation() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.InferredCallableInformation", "InferredCallableInformation") + { } + + protected InferredCallableInformation(string fullName, string name) + { + + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class CallableInformation + { + [global::Bond.Id(5)] + public ResolvedCharacteristics Characteristics { get; set; } + + [global::Bond.Id(10)] + public InferredCallableInformation InferredInformation { get; set; } + + public CallableInformation() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.CallableInformation", "CallableInformation") + { } + + protected CallableInformation(string fullName, string name) + { + Characteristics = new ResolvedCharacteristics(); + InferredInformation = new InferredCallableInformation(); + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsTypeKind + { + UnitType, + Int, + BigInt, + Double, + Bool, + String, + Qubit, + Result, + Pauli, + Range, + ArrayType, + TupleType, + UserDefinedType, + TypeParameter, + Operation, + Function, + MissingType, + InvalidType, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsTypeKindFunction + { + [global::Bond.Id(5), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public T Type1 { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public T Type2 { get; set; } + + public QsTypeKindFunction() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsTypeKindFunction", "QsTypeKindFunction") + { } + + protected QsTypeKindFunction(string fullName, string name) + { + Type1 = global::Bond.GenericFactory.Create(); + Type2 = global::Bond.GenericFactory.Create(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsTypeKindOperation + { + [global::Bond.Id(5), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TType Type1 { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TType Type2 { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TCharacteristics Characteristics { get; set; } + + public QsTypeKindOperation() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsTypeKindOperation", "QsTypeKindOperation") + { } + + protected QsTypeKindOperation(string fullName, string name) + { + Type1 = global::Bond.GenericFactory.Create(); + Type2 = global::Bond.GenericFactory.Create(); + Characteristics = global::Bond.GenericFactory.Create(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsTypeKindComposition + { + [global::Bond.Id(5), global::Bond.Required] + public QsTypeKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public TType ArrayType { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public List TupleType { get; set; } + + [global::Bond.Id(20), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public TUdt UserDefinedType { get; set; } + + [global::Bond.Id(25), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public TParam TypeParameter { get; set; } + + [global::Bond.Id(30), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public QsTypeKindOperation Operation { get; set; } + + [global::Bond.Id(35), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public QsTypeKindFunction Function { get; set; } + + public QsTypeKindComposition() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsTypeKindComposition", "QsTypeKindComposition") + { } + + protected QsTypeKindComposition(string fullName, string name) + { + Kind = QsTypeKind.InvalidType; + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class ResolvedType + { + [global::Bond.Id(5)] + public QsTypeKindComposition TypeKind { get; set; } + + public ResolvedType() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.ResolvedType", "ResolvedType") + { } + + protected ResolvedType(string fullName, string name) + { + TypeKind = new QsTypeKindComposition(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class InferredExpressionInformation + { + [global::Bond.Id(5)] + public bool IsMutable { get; set; } + + [global::Bond.Id(10)] + public bool HasLocalQuantumDependency { get; set; } + + public InferredExpressionInformation() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.InferredExpressionInformation", "InferredExpressionInformation") + { } + + protected InferredExpressionInformation(string fullName, string name) + { + + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class TypedArgument + { + [global::Bond.Id(5)] + public QsQualifiedName Callable { get; set; } + + [global::Bond.Id(10)] + public string Name { get; set; } + + [global::Bond.Id(15)] + public ResolvedType Resolution { get; set; } + + public TypedArgument() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.TypedArgument", "TypedArgument") + { } + + protected TypedArgument(string fullName, string name) + { + Callable = new QsQualifiedName(); + Name = ""; + Resolution = new ResolvedType(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class TypedExpression + { + [global::Bond.Id(5)] + public QsExpressionKindComposition Expression { get; set; } + + [global::Bond.Id(10)] + public List TypedArguments { get; set; } + + [global::Bond.Id(15)] + public ResolvedType ResolvedType { get; set; } + + [global::Bond.Id(20)] + public InferredExpressionInformation InferredInformation { get; set; } + + [global::Bond.Id(25), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public Range Range { get; set; } + + public TypedExpression() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.TypedExpression", "TypedExpression") + { } + + protected TypedExpression(string fullName, string name) + { + Expression = new QsExpressionKindComposition(); + TypedArguments = new List(); + ResolvedType = new ResolvedType(); + InferredInformation = new InferredExpressionInformation(); + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsInitializerKind + { + SingleQubitAllocation, + QubitRegisterAllocation, + QubitTupleAllocation, + InvalidInitializer, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsInitializerKindComposition + { + [global::Bond.Id(5), global::Bond.Required] + public QsInitializerKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public TExpression QubitRegisterAllocation { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public List QubitTupleAllocation { get; set; } + + public QsInitializerKindComposition() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsInitializerKindComposition", "QsInitializerKindComposition") + { } + + protected QsInitializerKindComposition(string fullName, string name) + { + Kind = QsInitializerKind.InvalidInitializer; + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class ResolvedInitializer + { + [global::Bond.Id(5)] + public QsInitializerKindComposition Initializer { get; set; } + + [global::Bond.Id(10)] + public ResolvedType ResolvedType { get; set; } + + public ResolvedInitializer() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.ResolvedInitializer", "ResolvedInitializer") + { } + + protected ResolvedInitializer(string fullName, string name) + { + Initializer = new QsInitializerKindComposition(); + ResolvedType = new ResolvedType(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class LocalVariableDeclaration + { + [global::Bond.Id(5), global::Bond.Type(typeof(global::Bond.Tag.classT))] + public TVariableName VariableName { get; set; } + + [global::Bond.Id(10)] + public ResolvedType Type { get; set; } + + [global::Bond.Id(15)] + public InferredExpressionInformation InferredInformation { get; set; } + + [global::Bond.Id(20), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public Position Position { get; set; } + + [global::Bond.Id(25)] + public Range Range { get; set; } + + public LocalVariableDeclaration() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.LocalVariableDeclaration", "LocalVariableDeclaration") + { } + + protected LocalVariableDeclaration(string fullName, string name) + { + VariableName = global::Bond.GenericFactory.Create(); + Type = new ResolvedType(); + InferredInformation = new InferredExpressionInformation(); + Range = new Range(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class LocalDeclarations + { + [global::Bond.Id(5)] + public List> Variables { get; set; } + + public LocalDeclarations() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.LocalDeclarations", "LocalDeclarations") + { } + + protected LocalDeclarations(string fullName, string name) + { + Variables = new List>(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsValueUpdate + { + [global::Bond.Id(5)] + public TypedExpression Lhs { get; set; } + + [global::Bond.Id(10)] + public TypedExpression Rhs { get; set; } + + public QsValueUpdate() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsValueUpdate", "QsValueUpdate") + { } + + protected QsValueUpdate(string fullName, string name) + { + Lhs = new TypedExpression(); + Rhs = new TypedExpression(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsComments + { + [global::Bond.Id(5)] + public List OpeningComments { get; set; } + + [global::Bond.Id(10)] + public List ClosingComments { get; set; } + + public QsComments() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsComments", "QsComments") + { } + + protected QsComments(string fullName, string name) + { + OpeningComments = new List(); + ClosingComments = new List(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsPositionedBlock + { + [global::Bond.Id(5)] + public QsScope Body { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsLocation Location { get; set; } + + [global::Bond.Id(15)] + public QsComments Comments { get; set; } + + public QsPositionedBlock() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsPositionedBlock", "QsPositionedBlock") + { } + + protected QsPositionedBlock(string fullName, string name) + { + Body = new QsScope(); + Comments = new QsComments(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsConditionalBlock + { + [global::Bond.Id(5)] + public TypedExpression Expression { get; set; } + + [global::Bond.Id(10)] + public QsPositionedBlock Block { get; set; } + + public QsConditionalBlock() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsConditionalBlock", "QsConditionalBlock") + { } + + protected QsConditionalBlock(string fullName, string name) + { + Expression = new TypedExpression(); + Block = new QsPositionedBlock(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsConditionalStatement + { + [global::Bond.Id(5)] + public List ConditionalBlocks { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsPositionedBlock Default { get; set; } + + public QsConditionalStatement() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsConditionalStatement", "QsConditionalStatement") + { } + + protected QsConditionalStatement(string fullName, string name) + { + ConditionalBlocks = new List(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsLoopItem + { + [global::Bond.Id(5)] + public SymbolTuple SymbolTuple { get; set; } + + [global::Bond.Id(10)] + public ResolvedType ResolvedType { get; set; } + + public QsLoopItem() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsLoopItem", "QsLoopItem") + { } + + protected QsLoopItem(string fullName, string name) + { + SymbolTuple = new SymbolTuple(); + ResolvedType = new ResolvedType(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsForStatement + { + [global::Bond.Id(5)] + public QsLoopItem LoopItem { get; set; } + + [global::Bond.Id(10)] + public TypedExpression IterationValues { get; set; } + + [global::Bond.Id(15)] + public QsScope Body { get; set; } + + public QsForStatement() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsForStatement", "QsForStatement") + { } + + protected QsForStatement(string fullName, string name) + { + LoopItem = new QsLoopItem(); + IterationValues = new TypedExpression(); + Body = new QsScope(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsWhileStatement + { + [global::Bond.Id(5)] + public TypedExpression Condition { get; set; } + + [global::Bond.Id(10)] + public QsScope Body { get; set; } + + public QsWhileStatement() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsWhileStatement", "QsWhileStatement") + { } + + protected QsWhileStatement(string fullName, string name) + { + Condition = new TypedExpression(); + Body = new QsScope(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsRepeatStatement + { + [global::Bond.Id(5)] + public QsPositionedBlock RepeatBlock { get; set; } + + [global::Bond.Id(10)] + public TypedExpression SuccessCondition { get; set; } + + [global::Bond.Id(15)] + public QsPositionedBlock FixupBlock { get; set; } + + public QsRepeatStatement() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsRepeatStatement", "QsRepeatStatement") + { } + + protected QsRepeatStatement(string fullName, string name) + { + RepeatBlock = new QsPositionedBlock(); + SuccessCondition = new TypedExpression(); + FixupBlock = new QsPositionedBlock(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsConjugation + { + [global::Bond.Id(5)] + public QsPositionedBlock OuterTransformation { get; set; } + + [global::Bond.Id(10)] + public QsPositionedBlock InnerTransformation { get; set; } + + public QsConjugation() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsConjugation", "QsConjugation") + { } + + protected QsConjugation(string fullName, string name) + { + OuterTransformation = new QsPositionedBlock(); + InnerTransformation = new QsPositionedBlock(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsQubitScope + { + [global::Bond.Id(5)] + public QsQubitScopeKind Kind { get; set; } + + [global::Bond.Id(10)] + public QsBinding Binding { get; set; } + + [global::Bond.Id(15)] + public QsScope Body { get; set; } + + public QsQubitScope() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsQubitScope", "QsQubitScope") + { } + + protected QsQubitScope(string fullName, string name) + { + Kind = QsQubitScopeKind.Allocate; + Binding = new QsBinding(); + Body = new QsScope(); + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsStatementKind + { + QsExpressionStatement, + QsReturnStatement, + QsFailStatement, + QsVariableDeclaration, + QsValueUpdate, + QsConditionalStatement, + QsForStatement, + QsWhileStatement, + QsRepeatStatement, + QsConjugation, + QsQubitScope, + EmptyStatement, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsStatementKindComposition + { + [global::Bond.Id(5), global::Bond.Required] + public QsStatementKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public TypedExpression TypedExpression { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public QsBinding VariableDeclaration { get; set; } + + [global::Bond.Id(20), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsValueUpdate ValueUpdate { get; set; } + + [global::Bond.Id(25), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsConditionalStatement ConditionalStatement { get; set; } + + [global::Bond.Id(30), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsForStatement ForStatement { get; set; } + + [global::Bond.Id(35), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsWhileStatement WhileStatement { get; set; } + + [global::Bond.Id(40), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsRepeatStatement RepeatStatement { get; set; } + + [global::Bond.Id(45), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsConjugation Conjugation { get; set; } + + [global::Bond.Id(50), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsQubitScope QubitScope { get; set; } + + public QsStatementKindComposition() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsStatementKindComposition", "QsStatementKindComposition") + { } + + protected QsStatementKindComposition(string fullName, string name) + { + Kind = QsStatementKind.EmptyStatement; + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsStatement + { + [global::Bond.Id(5)] + public QsStatementKindComposition Statement { get; set; } + + [global::Bond.Id(10)] + public LocalDeclarations SymbolDeclarations { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsLocation Location { get; set; } + + [global::Bond.Id(20)] + public QsComments Comments { get; set; } + + public QsStatement() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsStatement", "QsStatement") + { } + + protected QsStatement(string fullName, string name) + { + Statement = new QsStatementKindComposition(); + SymbolDeclarations = new LocalDeclarations(); + Comments = new QsComments(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsScope + { + [global::Bond.Id(5)] + public List Statements { get; set; } + + [global::Bond.Id(10)] + public LocalDeclarations KnownSymbols { get; set; } + + public QsScope() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsScope", "QsScope") + { } + + protected QsScope(string fullName, string name) + { + Statements = new List(); + KnownSymbols = new LocalDeclarations(); + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsLocalSymbolKind + { + ValidName, + InvalidName, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsLocalSymbol + { + [global::Bond.Id(5), global::Bond.Required] + public QsLocalSymbolKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public string Name { get; set; } + + public QsLocalSymbol() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsLocalSymbol", "QsLocalSymbol") + { } + + protected QsLocalSymbol(string fullName, string name) + { + Kind = QsLocalSymbolKind.InvalidName; + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsDeclarationAttribute + { + [global::Bond.Id(5), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public UserDefinedType TypeId { get; set; } + + [global::Bond.Id(10)] + public TypedExpression Argument { get; set; } + + [global::Bond.Id(15)] + public Position Offset { get; set; } + + [global::Bond.Id(20)] + public QsComments Comments { get; set; } + + public QsDeclarationAttribute() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsDeclarationAttribute", "QsDeclarationAttribute") + { } + + protected QsDeclarationAttribute(string fullName, string name) + { + Argument = new TypedExpression(); + Offset = new Position(); + Comments = new QsComments(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class ResolvedSignature + { + [global::Bond.Id(5)] + public List TypeParameters { get; set; } + + [global::Bond.Id(10)] + public ResolvedType ArgumentType { get; set; } + + [global::Bond.Id(15)] + public ResolvedType ReturnType { get; set; } + + [global::Bond.Id(20)] + public CallableInformation Information { get; set; } + + public ResolvedSignature() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.ResolvedSignature", "ResolvedSignature") + { } + + protected ResolvedSignature(string fullName, string name) + { + TypeParameters = new List(); + ArgumentType = new ResolvedType(); + ReturnType = new ResolvedType(); + Information = new CallableInformation(); + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsTupleKind + { + QsTupleItem, + QsTuple, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsTuple + { + [global::Bond.Id(5), global::Bond.Required] + public QsTupleKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public T Item { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable>>))] + public List> Items { get; set; } + + public QsTuple() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsTuple", "QsTuple") + { } + + protected QsTuple(string fullName, string name) + { + Kind = QsTupleKind.QsTupleItem; + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum SpecializationImplementationKind + { + Provided, + Intrinsic, + External, + Generated, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class SpecializationImplementationKindProvided + { + [global::Bond.Id(5)] + public QsTuple> Tuple { get; set; } + + [global::Bond.Id(10)] + public QsScope Implementation { get; set; } + + public SpecializationImplementationKindProvided() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.SpecializationImplementationKindProvided", "SpecializationImplementationKindProvided") + { } + + protected SpecializationImplementationKindProvided(string fullName, string name) + { + Tuple = new QsTuple>(); + Implementation = new QsScope(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class SpecializationImplementation + { + [global::Bond.Id(5), global::Bond.Required] + public SpecializationImplementationKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public SpecializationImplementationKindProvided Provided { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsGeneratorDirective? Generated { get; set; } + + public SpecializationImplementation() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.SpecializationImplementation", "SpecializationImplementation") + { } + + protected SpecializationImplementation(string fullName, string name) + { + Kind = SpecializationImplementationKind.Generated; + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsSpecialization + { + [global::Bond.Id(5)] + public QsSpecializationKind Kind { get; set; } + + [global::Bond.Id(10)] + public QsQualifiedName Parent { get; set; } + + [global::Bond.Id(15)] + public List Attributes { get; set; } + + [global::Bond.Id(20)] + public string SourceFile { get; set; } + + [global::Bond.Id(25), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsLocation Location { get; set; } + + [global::Bond.Id(30), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public List TypeArguments { get; set; } + + [global::Bond.Id(35)] + public ResolvedSignature Signature { get; set; } + + [global::Bond.Id(40)] + public SpecializationImplementation Implementation { get; set; } + + [global::Bond.Id(45)] + public List Documentation { get; set; } + + [global::Bond.Id(50)] + public QsComments Comments { get; set; } + + public QsSpecialization() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsSpecialization", "QsSpecialization") + { } + + protected QsSpecialization(string fullName, string name) + { + Kind = QsSpecializationKind.QsBody; + Parent = new QsQualifiedName(); + Attributes = new List(); + SourceFile = ""; + Signature = new ResolvedSignature(); + Implementation = new SpecializationImplementation(); + Documentation = new List(); + Comments = new QsComments(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsCallable + { + [global::Bond.Id(5)] + public QsCallableKind Kind { get; set; } + + [global::Bond.Id(10)] + public QsQualifiedName FullName { get; set; } + + [global::Bond.Id(15)] + public List Attributes { get; set; } + + [global::Bond.Id(20)] + public Modifiers Modifiers { get; set; } + + [global::Bond.Id(25)] + public string SourceFile { get; set; } + + [global::Bond.Id(30), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsLocation Location { get; set; } + + [global::Bond.Id(35)] + public ResolvedSignature Signature { get; set; } + + [global::Bond.Id(40)] + public QsTuple> ArgumentTuple { get; set; } + + [global::Bond.Id(45)] + public List Specializations { get; set; } + + [global::Bond.Id(50)] + public List Documentation { get; set; } + + [global::Bond.Id(55)] + public QsComments Comments { get; set; } + + public QsCallable() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsCallable", "QsCallable") + { } + + protected QsCallable(string fullName, string name) + { + Kind = QsCallableKind.Operation; + FullName = new QsQualifiedName(); + Attributes = new List(); + Modifiers = new Modifiers(); + SourceFile = ""; + Signature = new ResolvedSignature(); + ArgumentTuple = new QsTuple>(); + Specializations = new List(); + Documentation = new List(); + Comments = new QsComments(); + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsTypeItemKind + { + Named, + Anonymous, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsTypeItem + { + [global::Bond.Id(5), global::Bond.Required] + public QsTypeItemKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable>))] + public LocalVariableDeclaration Named { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public ResolvedType Anonymous { get; set; } + + public QsTypeItem() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsTypeItem", "QsTypeItem") + { } + + protected QsTypeItem(string fullName, string name) + { + Kind = QsTypeItemKind.Named; + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsCustomType + { + [global::Bond.Id(5)] + public QsQualifiedName FullName { get; set; } + + [global::Bond.Id(10)] + public List Attributes { get; set; } + + [global::Bond.Id(15)] + public Modifiers Modifiers { get; set; } + + [global::Bond.Id(20)] + public string SourceFile { get; set; } + + [global::Bond.Id(25), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsLocation Location { get; set; } + + [global::Bond.Id(30)] + public ResolvedType Type { get; set; } + + [global::Bond.Id(35)] + public QsTuple TypeItems { get; set; } + + [global::Bond.Id(40)] + public List Documentation { get; set; } + + [global::Bond.Id(45)] + public QsComments Comments { get; set; } + + public QsCustomType() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsCustomType", "QsCustomType") + { } + + protected QsCustomType(string fullName, string name) + { + FullName = new QsQualifiedName(); + Attributes = new List(); + Modifiers = new Modifiers(); + SourceFile = ""; + Type = new ResolvedType(); + TypeItems = new QsTuple(); + Documentation = new List(); + Comments = new QsComments(); + } + } + + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public enum QsNamespaceElementKind + { + QsCallable, + QsCustomType, + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsNamespaceElement + { + [global::Bond.Id(5), global::Bond.Required] + public QsNamespaceElementKind Kind { get; set; } + + [global::Bond.Id(10), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsCallable Callable { get; set; } + + [global::Bond.Id(15), global::Bond.Type(typeof(global::Bond.Tag.nullable))] + public QsCustomType CustomType { get; set; } + + public QsNamespaceElement() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsNamespaceElement", "QsNamespaceElement") + { } + + protected QsNamespaceElement(string fullName, string name) + { + Kind = QsNamespaceElementKind.QsCallable; + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsSourceFileDocumentation + { + [global::Bond.Id(5)] + public string FileName { get; set; } + + [global::Bond.Id(10)] + public List DocumentationItems { get; set; } + + public QsSourceFileDocumentation() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsSourceFileDocumentation", "QsSourceFileDocumentation") + { } + + protected QsSourceFileDocumentation(string fullName, string name) + { + FileName = ""; + DocumentationItems = new List(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsNamespace + { + [global::Bond.Id(5)] + public string Name { get; set; } + + [global::Bond.Id(10)] + public List Elements { get; set; } + + [global::Bond.Id(15)] + public LinkedList Documentation { get; set; } + + public QsNamespace() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsNamespace", "QsNamespace") + { } + + protected QsNamespace(string fullName, string name) + { + Name = ""; + Elements = new List(); + Documentation = new LinkedList(); + } + } + + [global::Bond.Schema] + [System.CodeDom.Compiler.GeneratedCode("gbc", "0.12.0.0")] + public partial class QsCompilation + { + [global::Bond.Id(5)] + public List Namespaces { get; set; } + + [global::Bond.Id(10)] + public List EntryPoints { get; set; } + + public QsCompilation() + : this("Microsoft.Quantum.QsCompiler.BondSchemas.QsCompilation", "QsCompilation") + { } + + protected QsCompilation(string fullName, string name) + { + Namespaces = new List(); + EntryPoints = new List(); + } + } +} // Microsoft.Quantum.QsCompiler.BondSchemas From a146bf1e316e7f0a2fd7be73c032db1eff39517b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Zaragoza=20Cort=C3=A9s?= Date: Mon, 23 Nov 2020 17:35:48 -0800 Subject: [PATCH 2/3] Add message about code generation on the Bond schema. --- src/QsCompiler/BondSchemas/CompilerDataStructures.bond | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/QsCompiler/BondSchemas/CompilerDataStructures.bond b/src/QsCompiler/BondSchemas/CompilerDataStructures.bond index a7e69dd2a6..e078be7987 100644 --- a/src/QsCompiler/BondSchemas/CompilerDataStructures.bond +++ b/src/QsCompiler/BondSchemas/CompilerDataStructures.bond @@ -1,6 +1,9 @@ // Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. +// This schema corresponds to the C# code at Generated/CompilerDataStructures.cs +// N.B Whenever this schema changes, C# code must be generated again. + namespace Microsoft.Quantum.QsCompiler.BondSchemas; // Data structures from DataTypes.fs From c2cf2ded764be787f2946793c6a73680f86c2ae1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9sar=20Zaragoza=20Cort=C3=A9s?= Date: Mon, 23 Nov 2020 19:09:01 -0800 Subject: [PATCH 3/3] Prevent Bond files from doing code generation. --- src/QsCompiler/BondSchemas/BondSchemas.csproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/QsCompiler/BondSchemas/BondSchemas.csproj b/src/QsCompiler/BondSchemas/BondSchemas.csproj index ec79363e8f..a38f031d6c 100644 --- a/src/QsCompiler/BondSchemas/BondSchemas.csproj +++ b/src/QsCompiler/BondSchemas/BondSchemas.csproj @@ -9,7 +9,7 @@ - +