public static List <string> GetTypeDescription(this ValueInfo info)
        {
            var modifierList = new List <string> ();

            var kind = MSBuildCompletionExtensions.InferValueKindIfUnknown(info);

            var kindName = FormatKind(info, kind);

            if (kindName != null)
            {
                modifierList.Add(kindName);
                if (kind.AllowLists())
                {
                    modifierList.Add("list");
                }
                else if (kind.AllowCommaLists())
                {
                    modifierList.Add("comma-list");
                }
                if (!kind.AllowExpressions())
                {
                    modifierList.Add("literal");
                }
            }

            if (info is PropertyInfo pi && pi.Reserved)
            {
                modifierList.Add("reserved");
            }
            if (info is MetadataInfo mi)
            {
                if (mi.Reserved)
                {
                    modifierList.Add("reserved");
                }
                if (mi.Required)
                {
                    modifierList.Add("required");
                }
            }

            if (info is TaskParameterInfo tpi)
            {
                if (tpi.IsOutput)
                {
                    modifierList.Add("output");
                }
                if (tpi.IsRequired)
                {
                    modifierList.Add("required");
                }
            }

            return(modifierList);
        }
Ejemplo n.º 2
0
        public static List <string> GetTypeDescription(this ValueInfo info)
        {
            var kind = MSBuildCompletionExtensions.InferValueKindIfUnknown(info);

            var modifierList = GetTypeDescription(kind);

            if (info.Values != null && info.Values.Count > 0)
            {
                modifierList [0] = "enum";
            }

            if (info is PropertyInfo pi && pi.Reserved)
            {
                modifierList.Add("reserved");
            }
            if (info is MetadataInfo mi)
            {
                if (mi.Reserved)
                {
                    modifierList.Add("reserved");
                }
                if (mi.Required)
                {
                    modifierList.Add("required");
                }
            }

            if (info is TaskParameterInfo tpi)
            {
                if (tpi.IsOutput)
                {
                    modifierList.Add("output");
                }
                if (tpi.IsRequired)
                {
                    modifierList.Add("required");
                }
            }

            return(modifierList);
        }