| 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;
|
| }
|
|
|