Index: runtime/vm/object.cc |
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc |
index b012e5a80fe6bba680491c37853f7619fb627382..5ed01382361b86e393935c0341ce3ac6dbe40a01 100644 |
--- a/runtime/vm/object.cc |
+++ b/runtime/vm/object.cc |
@@ -7147,11 +7147,16 @@ RawString* Function::QualifiedName(NameVisibility name_visibility) const { |
} |
const Class& cls = Class::Handle(Owner()); |
if (!cls.IsTopLevel()) { |
- result = String::Concat(Symbols::Dot(), result, Heap::kOld); |
- const String& cls_name = String::Handle(name_visibility == kScrubbedName |
- ? cls.ScrubbedName() |
- : cls.UserVisibleName()); |
- result = String::Concat(cls_name, result, Heap::kOld); |
+ if (IsGenerativeConstructor() || IsFactory()) { |
rmacnak
2017/04/14 23:27:17
if (kind() == RawFunction::kConstructor) {
|
+ result = String::Concat(Symbols::ConstructorStacktracePrefix(), result, |
+ Heap::kOld); |
+ } else { |
+ result = String::Concat(Symbols::Dot(), result, Heap::kOld); |
+ const String& cls_name = String::Handle(name_visibility == kScrubbedName |
+ ? cls.ScrubbedName() |
+ : cls.UserVisibleName()); |
+ result = String::Concat(cls_name, result, Heap::kOld); |
+ } |
} |
return result.raw(); |
} |