private void fromJSONMeta(JSONValue json_value, bool ignore_extras) { Debug.Assert(json_value != null); JSONArrayValue json_array1 = json_value.array_value(); if (json_array1 == null) { throw new Exception("The value for field Meta of ContactMungerDataJSON is not an array."); } int count1 = json_array1.componentCount(); if (count1 < 1) { throw new Exception("The value for field Meta of ContactMungerDataJSON has too few elements."); } List <TypeMetaJSON> vector_Meta1 = new List <TypeMetaJSON>(count1); for (int num1 = 0; num1 < count1; ++num1) { TypeMetaJSON convert_classy = TypeMetaJSON.from_json(json_array1.component(num1), ignore_extras, true); vector_Meta1.Add(convert_classy); } Debug.Assert(vector_Meta1.Count >= 1); initMeta(); for (int num1 = 0; num1 < vector_Meta1.Count; ++num1) { appendMeta(vector_Meta1[num1]); } for (int num1 = 0; num1 < vector_Meta1.Count; ++num1) { } }
public void appendMeta(TypeMetaJSON to_append) { if (!flagHasMeta) { flagHasMeta = true; storeMeta.Clear(); } Debug.Assert(flagHasMeta); storeMeta.Add(to_append); }
protected void finish(TypeMetaJSON result) { if (fieldGeneratorRequestInfo.have_value) { result.setRequestInfo(fieldGeneratorRequestInfo.value); fieldGeneratorRequestInfo.have_value = false; } else if ((!(result.hasRequestInfo())) && !allow_incomplete) { error("When parsing the object for %what%, the \"RequestInfo\" field was missing."); } }
protected override void finish() { TypeMetaJSON result = new TypeMetaJSON(); Debug.Assert(result != null); finish(result); int extra_count = unknownFieldGenerator.field_names.Count; Debug.Assert(extra_count == unknownFieldGenerator.field_values.Count); for (int extra_num = 0; extra_num < extra_count; ++extra_num) { result.extraTypeMetaAppendPair(unknownFieldGenerator.field_names[extra_num], unknownFieldGenerator.field_values[extra_num]); } unknownFieldGenerator.field_names.Clear(); unknownFieldGenerator.field_values.Clear(); unknownFieldGenerator.index = new Dictionary <string, JSONValue>(); handle_result(result); }
protected override void handle_result(TypeMetaJSON result) { top.value.Add(result); }
protected override void handle_result(TypeMetaJSON result) { //@@@ Debug.Assert(!have_value); have_value = true; value = result; }
protected abstract void handle_result(TypeMetaJSON new_result);