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); }
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); }
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); }
public static bool GetParsingContext(Type type, FieldTable fieldTable, out ParsingContext context) { return(GetParsingContext(type, fieldTable, string.Empty, out context)); }