コード例 #1
0
 protected override void finish()
   {
     LocationAndTimeJSON result = new LocationAndTimeJSON();
     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.extraLocationAndTimeAppendPair(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);
   }
コード例 #2
0
 protected void finish(LocationAndTimeJSON result)
   {
     if (fieldGeneratorMapLocation.have_value)
       {
         result.setMapLocation(fieldGeneratorMapLocation.value);
         fieldGeneratorMapLocation.have_value = false;
       }
     if (fieldGeneratorTimeZone.have_value)
       {
         result.setTimeZone(fieldGeneratorTimeZone.value);
         fieldGeneratorTimeZone.have_value = false;
       }
     if (fieldGeneratorDateTimeSpec.have_value)
       {
         result.setDateTimeSpec(fieldGeneratorDateTimeSpec.value);
         fieldGeneratorDateTimeSpec.have_value = false;
       }
     else if ((!(result.hasDateTimeSpec())) && !allow_incomplete)
       {
         error("When parsing the object for %what%, the \"DateTimeSpec\" field was missing.");
       }
   }
コード例 #3
0
 protected override void handle_result(LocationAndTimeJSON  result)
   {
     top.value.Add(result);
   }
コード例 #4
0
        protected override void handle_result(LocationAndTimeJSON  result)
          {
//@@@            Debug.Assert(!have_value);
            have_value = true;
            value = result;
          }
コード例 #5
0
 protected abstract void handle_result(LocationAndTimeJSON new_result);