public InferredTemplateModel GetInferredModelForPath(string path, UsedAs accessType)
        {
            var retval = GetContextForPath(path);

            retval.Usages.Add(accessType);
            return(retval);
        }
Esempio n. 2
0
        public static UsedAs MergeUsages(this UsedAs usedAs, Literal literal)
        {
            if (usedAs == UsedAs.Both)
            {
                return(UsedAs.Both);
            }

            if (usedAs == UsedAs.Input)
            {
                if (literal.UsedAs == UsedAs.Output)
                {
                    return(UsedAs.Both);
                }
                else
                {
                    return(UsedAs.Input);
                }
            }

            if (usedAs == UsedAs.Output)
            {
                if (literal.UsedAs == UsedAs.Input)
                {
                    return(UsedAs.Both);
                }
                else
                {
                    return(UsedAs.Output);
                }
            }

            return(UsedAs.Unknown);
        }
Esempio n. 3
0
        public static string ToShortString(this UsedAs usedAs)
        {
            switch (usedAs)
            {
            case UsedAs.Unknown:
                return("");

            case UsedAs.Input:
                return("(in)");

            case UsedAs.Output:
                return("(out)");

            case UsedAs.Both:
                return("(in/out)");

            default:
                throw new ArgumentOutOfRangeException(nameof(usedAs), usedAs, null);
            }
        }
Esempio n. 4
0
 public InferredTemplateModel GetInferredModelForPath(string path, UsedAs accessType)
 {
     var retval = this.GetContextForPath(path);
     retval.Usages.Add(accessType);
     return retval;
 }
Esempio n. 5
0
 public Literal(string name, UsedAs usedAs)
 {
     Name   = name;
     UsedAs = usedAs;
 }