Index: runtime/vm/parser.cc |
=================================================================== |
--- runtime/vm/parser.cc (revision 35921) |
+++ runtime/vm/parser.cc (working copy) |
@@ -9002,6 +9002,7 @@ |
String::Handle(field.name()).ToCString()); |
} else { |
isolate()->long_jump_base()->Jump(1, error); |
+ UNREACHABLE(); |
} |
} |
ASSERT(const_value.IsNull() || const_value.IsInstance()); |
@@ -10297,14 +10298,16 @@ |
interpolate_arg.SetAt(0, value_arr); |
// Call interpolation function. |
- String& concatenated = String::ZoneHandle(isolate()); |
+ Object& result = Object::Handle(isolate()); |
{ |
PAUSETIMERSCOPE(isolate(), time_compilation); |
- concatenated ^= DartEntry::InvokeFunction(func, interpolate_arg); |
+ result = DartEntry::InvokeFunction(func, interpolate_arg); |
} |
- if (concatenated.IsUnhandledException()) { |
- ErrorMsg("Exception thrown in Parser::Interpolate"); |
+ if (result.IsUnhandledException()) { |
+ ErrorMsg("%s", Error::Cast(result).ToErrorCString()); |
} |
+ String& concatenated = String::ZoneHandle(isolate()); |
+ concatenated ^= result.raw(); |
concatenated = Symbols::New(concatenated); |
return concatenated; |
} |