private void fromJSONMapLocations(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 MapLocations of DisambiguateLocationQueryStateJSON is not an array."); } int count1 = json_array1.componentCount(); if (count1 < 2) { throw new Exception("The value for field MapLocations of DisambiguateLocationQueryStateJSON has too few elements."); } List <AnnotatedMapLocationJSON> vector_MapLocations1 = new List <AnnotatedMapLocationJSON>(count1); for (int num1 = 0; num1 < count1; ++num1) { AnnotatedMapLocationJSON convert_classy = AnnotatedMapLocationJSON.from_json(json_array1.component(num1), ignore_extras, true); vector_MapLocations1.Add(convert_classy); } Debug.Assert(vector_MapLocations1.Count >= 2); initMapLocations(); for (int num1 = 0; num1 < vector_MapLocations1.Count; ++num1) { appendMapLocations(vector_MapLocations1[num1]); } for (int num1 = 0; num1 < vector_MapLocations1.Count; ++num1) { } }
protected override void finish() { if (!(keyGenerator.have_value)) { throw new Exception("The `LocationType' field is missing."); } AnnotatedMapLocationJSON result = createForKey(keyGenerator.value, unknownFieldGenerator.index); 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.extraAnnotatedMapLocationAppendPair(unknownFieldGenerator.field_names[extra_num], unknownFieldGenerator.field_values[extra_num]); } unknownFieldGenerator.field_names.Clear(); unknownFieldGenerator.field_values.Clear(); unknownFieldGenerator.index = new Dictionary <string, JSONValue>(); if (!allow_incomplete) { string missing_field_error = result.missing_field_error(allow_unpolished); if (missing_field_error != null) { error(missing_field_error); } } handle_result(result); }
public void appendMapLocations(AnnotatedMapLocationJSON to_append) { if (!flagHasMapLocations) { flagHasMapLocations = true; storeMapLocations.Clear(); } Debug.Assert(flagHasMapLocations); storeMapLocations.Add(to_append); }
protected void finish(AnnotatedMapLocationJSON result) { if (fieldGeneratorLocation.have_value) { result.setLocation(fieldGeneratorLocation.value); fieldGeneratorLocation.have_value = false; } else if ((!(result.hasLocation())) && !allow_incomplete) { error("When parsing the object for %what%, the \"Location\" field was missing."); } }
protected override void handle_result(AnnotatedMapLocationJSON result) { top.value.Add(result); }
protected override void handle_result(AnnotatedMapLocationJSON result) { //@@@ Debug.Assert(!have_value); have_value = true; value = result; }
protected abstract void handle_result(AnnotatedMapLocationJSON new_result);
protected override void handle_result(AnnotatedMapLocationJSON new_result) { handle_result((UnannotatedMapLocationJSON )new_result); }