Exemplo n.º 1
0
        public ParsingContext(Parser parser, Type objectType, object staticItem, FieldTable fieldTable, string objectKey)
        {
            Parser     = parser;
            ObjectType = objectType;
            FieldTable = fieldTable;
            ObjectKey  = objectKey;
            Item       = staticItem;

            ParsedFile = Program.LastParsedFile;
            Debug.Assert(ParsedFile.Length > 0);
            ParsedKey = Program.LastParsedKey;
            Debug.Assert(ParsedKey.Length > 0);
        }
Exemplo n.º 2
0
        public static bool GetParsingContext(Type type, FieldTable fieldTable, string objectKey, out ParsingContext context)
        {
            if (!Parsers.ContainsKey(type))
            {
                context = null !;
                return(Program.ReportFailure($"Type {type} not found in parsers"));
            }

            Parser Parser = Parsers[type];

            context = new ParsingContext(Parser, type, fieldTable, objectKey);
            return(true);
        }
Exemplo n.º 3
0
        public static bool GetTable(Type type, out FieldTable table)
        {
            if (!Tables.ContainsKey(type))
            {
                table = FixedFieldTable.Empty;
                return(false);
            }

            table = Tables[type];

            if (!UsedTableList.Contains(type))
            {
                UsedTableList.Add(type);
            }

            return(true);
        }
Exemplo n.º 4
0
 public static bool GetParsingContext(Type type, FieldTable fieldTable, out ParsingContext context)
 {
     return(GetParsingContext(type, fieldTable, string.Empty, out context));
 }