Beispiel #1
0
        public TemplateDirectiveInfo([NotNull] T4Environment environment)
            : base("template")
        {
            bool isAtLeastVs2012 = environment.VsVersion2.Major >= VsVersions.Vs2012;

            LanguageAttribute     = new EnumDirectiveAttributeInfo("language", DirectiveAttributeOptions.None, "C#", "VB");
            HostSpecificAttribute = isAtLeastVs2012
                                ? new EnumDirectiveAttributeInfo("hostspecific", DirectiveAttributeOptions.None, "true", "false", "trueFromBase")
                                : new BooleanDirectiveAttributeInfo("hostspecific", DirectiveAttributeOptions.None);
            DebugAttribute           = new BooleanDirectiveAttributeInfo("debug", DirectiveAttributeOptions.None);
            InheritsAttribute        = new DirectiveAttributeInfo("inherits", DirectiveAttributeOptions.None);
            CultureAttribute         = new CultureDirectiveAttributeInfo("culture", DirectiveAttributeOptions.None);
            CompilerOptionsAttribute = new DirectiveAttributeInfo("compilerOptions", DirectiveAttributeOptions.None);
            LinePragmasAttribute     = new BooleanDirectiveAttributeInfo("linePragmas", DirectiveAttributeOptions.None);
            VisibilityAttribute      = new EnumDirectiveAttributeInfo("visibility", DirectiveAttributeOptions.None, "public", "internal");

            var attributes = new List <DirectiveAttributeInfo>(8)
            {
                LanguageAttribute,
                HostSpecificAttribute,
                DebugAttribute,
                InheritsAttribute,
                CultureAttribute,
                CompilerOptionsAttribute
            };

            if (isAtLeastVs2012)
            {
                attributes.Add(LinePragmasAttribute);
                attributes.Add(VisibilityAttribute);
            }

            SupportedAttributes = attributes.ToImmutableArray();
        }
Beispiel #2
0
        public IncludeDirectiveInfo([NotNull] T4Environment environment)
            : base("include")
        {
            FileAttribute = new DirectiveAttributeInfo("file", DirectiveAttributeOptions.Required | DirectiveAttributeOptions.DisplayInCodeStructure);
            OnceAttribute = new BooleanDirectiveAttributeInfo("once", DirectiveAttributeOptions.None);

            SupportedAttributes = ImmutableArray.FromArguments(
                environment.VsVersion2.Major >= 12
                                        ? new[] { FileAttribute, OnceAttribute }
                                        : new[] { FileAttribute }
                );
        }