Пример #1
0
        public static void WriteDictKeyValue(StringBuilder sb, string key, PBXElement value, int indent, bool compact,
                                             PropertyCommentChecker checker, GUIDToCommentMap comments)
        {
            if (!compact)
            {
                sb.Append("\n");
                sb.Append(GetIndent(indent));
            }
            WriteStringImpl(sb, key, checker.CheckKeyInDict(key), comments);
            sb.Append(" = ");

            if (value is PBXElementString)
            {
                WriteStringImpl(sb, value.AsString(), checker.CheckStringValueInDict(key, value.AsString()), comments);
            }
            else
            if (value is PBXElementDict)
            {
                WriteDict(sb, value.AsDict(), indent, compact, checker.NextLevel(key), comments);
            }
            else
            if (value is PBXElementArray)
            {
                WriteArray(sb, value.AsArray(), indent, compact, checker.NextLevel(key), comments);
            }
            sb.Append(";");
            if (compact)
            {
                sb.Append(" ");
            }
        }
Пример #2
0
        public static PBXElementDict ParseTreeAST(TreeAST ast, TokenList tokens, string text)
        {
            var el = new PBXElementDict();

            foreach (var kv in ast.values)
            {
                PBXElementString key   = ParseIdentifierAST(kv.key, tokens, text);
                PBXElement       value = ParseValueAST(kv.value, tokens, text);
                el[key.value] = value;
            }
            return(el);
        }
Пример #3
0
		public static void WriteDictKeyValue( StringBuilder sb, string key, PBXElement value, int indent, bool compact, 
		                                      PropertyCommentChecker checker, GUIDToCommentMap comments )
		{
			if (!compact)
			{
				sb.Append( "\n" );
				sb.Append( GetIndent( indent ) );
			}
			WriteStringImpl( sb, key, checker.CheckKeyInDict( key ), comments );
			sb.Append( " = " );

			if (value is PBXElementString)
				WriteStringImpl( sb, value.AsString(), checker.CheckStringValueInDict( key, value.AsString() ), comments );
			else
			if (value is PBXElementDict)
				WriteDict( sb, value.AsDict(), indent, compact, checker.NextLevel( key ), comments );
			else
			if (value is PBXElementArray)
				WriteArray( sb, value.AsArray(), indent, compact, checker.NextLevel( key ), comments );
			sb.Append( ";" );
			if (compact)
				sb.Append( " " );
		}