Exemplo n.º 1
0
        public static string ConvertQualifierListAst(QualifierListAst node, MofQuirks quirks = MofQuirks.None)
        {
            // [Abstract, OCL]

            var omitSpacesQuirkEnabled = (quirks & MofQuirks.OmitSpaceBetweenInOutQualifiersForParameterDeclarations) == MofQuirks.OmitSpaceBetweenInOutQualifiersForParameterDeclarations;

            var source            = new StringBuilder();
            var lastQualifierName = default(string);

            source.Append("[");
            for (var i = 0; i < node.QualifierValues.Count; i++)
            {
                var thisQualifierValue = node.QualifierValues[i];
                var thisQualifierName  = thisQualifierValue.QualifierName.GetNormalizedName();
                if (i > 0)
                {
                    source.Append(",");
                    if (!omitSpacesQuirkEnabled || (lastQualifierName != "in") || (thisQualifierName != "out"))
                    {
                        source.Append(" ");
                    }
                }
                source.Append(AstMofGenerator.ConvertQualifierValueAst(thisQualifierValue, quirks));
                lastQualifierName = thisQualifierName;
            }
            source.Append("]");

            return(source.ToString());
        }