Пример #1
0
        public override string GetParameterType(KeywordContextFrame context, string parameterName)
        {
            if (!Parameters.TryGetValue(parameterName, out DslParameterInfo parameterInfo))
            {
                return(null);
            }

            return(parameterInfo.Type);
        }
Пример #2
0
        public override IEnumerable <string> GetParameterValues(KeywordContextFrame context, string parameterName)
        {
            if (!Parameters.TryGetValue(parameterName, out DslParameterInfo parameterInfo))
            {
                return(null);
            }

            return(parameterInfo.Values);
        }
Пример #3
0
        public override string GetParameterType(KeywordContextFrame context, string parameterName)
        {
            if (parameterName.Is("Body"))
            {
                return("scriptblock");
            }

            return(null);
        }
Пример #4
0
 public override IReadOnlyDictionary <string, DslKeywordSchema> GetInnerKeywords(KeywordContextFrame context) => null;
Пример #5
0
 public abstract IReadOnlyDictionary <string, DslKeywordSchema> GetInnerKeywords(KeywordContextFrame context);
Пример #6
0
 public override IReadOnlyDictionary <string, DslKeywordSchema> GetInnerKeywords(KeywordContextFrame context)
 {
     return(_keywordsLazy.Value);
 }
Пример #7
0
 public override IEnumerable <string> GetParameterNames(KeywordContextFrame context)
 => Parameters.Keys;
Пример #8
0
        public override IReadOnlyDictionary <string, DslKeywordSchema> GetInnerKeywords(KeywordContextFrame context)
        {
            string discriminatorValue = context.GetDiscriminatorValue(BicepType.Discriminator);

            if (discriminatorValue is null ||
                !BicepType.Elements.ContainsKey(discriminatorValue))
            {
                return(null);
            }

            return(_discriminatedInnerKeywords.GetOrAdd(discriminatorValue, BuildDiscriminatedKeywordDictionary));
        }
Пример #9
0
        public override IEnumerable <string> GetParameterValues(KeywordContextFrame context, string parameterName)
        {
            ArmResourceName resourceName = GetResourceNameFromAst(context.CommandAst);

            return(GetParameterValues(parameterName, resourceName.Namespace, resourceName.Type, resourceName.ApiVersion));
        }
Пример #10
0
        public override IReadOnlyDictionary <string, DslKeywordSchema> GetInnerKeywords(KeywordContextFrame context)
        {
            if (!ResourceIndex.SharedInstance.TryGetResourceSchema(
                    context.ResourceNamespace,
                    context.ResourceTypeName,
                    context.ResourceApiVersion,
                    out ResourceSchema resource))
            {
                return(null);
            }

            ResourceKeywordCache cache = s_resourceKeywordCaches.GetOrAdd(
                new ArmResourceName(context.ResourceNamespace, context.ResourceTypeName, context.ResourceApiVersion),
                (resourceName) => resource.Discriminator != null ? new DiscriminatedResourceKeywordCache(resource) : new ObjectResourceKeywordCache(resource));

            return(cache.GetInnerKeywords(context));
        }
Пример #11
0
 public abstract string GetParameterType(KeywordContextFrame context, string parameterName);
Пример #12
0
 public abstract IEnumerable <string> GetParameterValues(KeywordContextFrame context, string parameterName);
Пример #13
0
 public abstract IEnumerable <string> GetParameterNames(KeywordContextFrame context);
Пример #14
0
 public override IEnumerable <string> GetParameterValues(KeywordContextFrame context, string parameterName)
 {
     return(null);
 }
Пример #15
0
 public override IEnumerable <string> GetParameterNames(KeywordContextFrame context)
 {
     return(BodyParameter);
 }
Пример #16
0
        public override IReadOnlyDictionary <string, DslKeywordSchema> GetInnerKeywords(KeywordContextFrame context)
        {
            string discriminatorValue = context.GetDiscriminatorValue(Resource.Discriminator);

            if (discriminatorValue is null ||
                !Resource.DiscriminatedSubtypes.ContainsKey(discriminatorValue))
            {
                return(null);
            }

            return(_discriminatedKeywordTables.GetOrAdd(discriminatorValue, BuildDiscriminatedKeywordDictionary));
        }