Esempio n. 1
0
 public ClassWriter(bool hasCreated, bool hasModified, IAttributeBuilder propAttrBuilder, IAttributeBuilder classAttrBuilder = null)
 {
     this.hasCreated       = hasCreated;
     this.hasModified      = hasModified;
     this.PropAttrBuilder  = propAttrBuilder;
     this.ClassAttrBuilder = classAttrBuilder;
 }
Esempio n. 2
0
 public void BuildUp(IAttributeBuilder builder)
 {
     ((DirectorAttribute[])builder.GetType().GetCustomAttributes(typeof(DirectorAttribute), false))
     .OrderByDescending(x => x.Priority)
     .ToList <DirectorAttribute>()
     .ForEach(x => InvokeBuilderPartMethod(builder, x));
 }
 public BaseModelWriter(String classSuffix, IAttributeBuilder propAttributeBuilder, IAttributeBuilder classAttrBuilder = null) : base(false, false, propAttributeBuilder, classAttrBuilder)
 {
     this.classSuffix     = classSuffix;
     WriteUsings          = false;
     WriteNamespace       = false;
     WriteAsAbstractClass = true;
 }
Esempio n. 4
0
 internal static IAttributeBuilder <T> WithAttribute <T>(
     this IAttributeBuilder <T> builder,
     string @namespace,
     string name,
     TypedExpression input) =>
 builder.AddAttribute(
     AttributeUtils.BuildAttribute(
         new QsQualifiedName(@namespace, name), input));
Esempio n. 5
0
 private static IAttributeBuilder <T> WithDocumentationAttribute <T>(
     this IAttributeBuilder <T> builder,
     string attributeName,
     TypedExpression input) =>
 builder.WithAttribute(
     "Microsoft.Quantum.Documentation",
     attributeName,
     input);
Esempio n. 6
0
 internal static IAttributeBuilder <T> WithListOfDocumentationAttributes <T>(
     this IAttributeBuilder <T> builder,
     string attributeName,
     IEnumerable <string> items) =>
 items
 .Aggregate(
     builder,
     (acc, item) => acc.WithDocumentationAttribute(
         attributeName, item.AsLiteralExpression()));
Esempio n. 7
0
        void InvokeBuildPartMethod(IAttributeBuilder builder, DirectorAttribute attribute)
        {
            switch (attribute.MethodName)
            {
            case "BuildPartA": builder.BuildPartA(); break;

            case "BuildPartB": builder.BuildPartB(); break;

            case "BuildPartC": builder.BuildPartC(); break;

            default:
                break;
            }
        }
Esempio n. 8
0
 internal static IAttributeBuilder <T> WithDocumentationAttributesFromDictionary <T>(
     this IAttributeBuilder <T> builder,
     string attributeName,
     IDictionary <string, string> items) =>
 items
 .Aggregate(
     builder,
     (acc, item) => acc.WithDocumentationAttribute(
         attributeName,
         // The following populates all of the metadata needed for a
         // Q# literal of type (String, String).
         SyntaxGenerator.TupleLiteral(
             ImmutableArray.Create(
                 item.Key.AsLiteralExpression(),
                 item.Value.AsLiteralExpression()))));
Esempio n. 9
0
 public void BuilUp(IAttributeBuilder builder)
 {
     object[] attributes = builder.GetType().GetCustomAttributes(typeof(DirectorAttribute), false);
     if (attributes.Length <= 0)
     {
         return;
     }
     DirectorAttribute[] directors = new DirectorAttribute[attributes.Length];
     for (int i = 0; i < attributes.Length; i++)
     {
         directors[i] = attributes[i] as DirectorAttribute;
         Array.Sort <DirectorAttribute>(directors);
         foreach (var item in directors)
         {
             InvokeBuildPartMethod(builder, item);
         }
     }
 }
Esempio n. 10
0
 public static Func <MBeanAttributeInfo> TypedAs <T>(this IAttributeBuilder builder)
 {
     return(builder.TypedAs(typeof(T)));
 }
Esempio n. 11
0
 public MaxLengthAttributeBuilder(IAttributeBuilder next = null) : base(next)
 {
 }
Esempio n. 12
0
 public UiOrderAttributeBuilder(IAttributeBuilder next = null) : base(next)
 {
 }
Esempio n. 13
0
 public static Func <MBeanAttributeInfo> TypedAs(this IAttributeBuilder builder, OpenType openType)
 {
     ((IBuilder)builder).Descriptor.SetField(OpenTypeDescriptor.Field, openType);
     return(builder.TypedAs(openType.Representation));
 }
Esempio n. 14
0
 internal static IAttributeBuilder <T> MaybeWithSimpleDocumentationAttribute <T>(
     this IAttributeBuilder <T> builder, string attributeName, string?value) =>
 value == null || value.Trim().Length == 0
         ? builder
         : builder.WithDocumentationAttribute(
     attributeName, value.AsLiteralExpression());
Esempio n. 15
0
 public ValueProviderAttributeBuilder(IAttributeBuilder next = null) : base(next)
 {
 }
Esempio n. 16
0
 public QueryBaseModelWriter(string classSuffix, IAttributeBuilder propAttributeBuilder, IAttributeBuilder classAttrBuilder = null) : base(classSuffix, propAttributeBuilder, classAttrBuilder)
 {
 }
 public MainModelWriter(String baseClass, String modelSuffix, IAttributeBuilder propAttrBuilder, IAttributeBuilder classAttrBuilder, bool hasCreated, bool hasModified, Action <Args> writeClass) : base(hasCreated, hasModified, propAttrBuilder, classAttrBuilder)
 {
     this.baseClass   = baseClass;
     this.modelSuffix = modelSuffix;
     this.writeClass  = writeClass;
 }
 public UiSearchAttributeBuilder(IAttributeBuilder next = null) : base(next)
 {
 }
 public DisplayAttributeBuilder(IAttributeBuilder next = null) : base(next)
 {
 }
 public RequiredInQueryAttributeBuilder(IAttributeBuilder next = null) : base(next)
 {
 }
 public PredefinedAttributeBuilder(String attributeString, IAttributeBuilder next = null) : base(next)
 {
     this.attributeString = attributeString;
 }
 public UiTypeAttributeBuilder(IAttributeBuilder next = null) : base(next)
 {
 }
 public AttributeBuilderChain(IAttributeBuilder next)
 {
     this.next = next;
 }
Esempio n. 24
0
 public NullValueLabelAttributeBuilder(IAttributeBuilder next = null) : base(next)
 {
 }