mirror of
https://github.com/dart-lang/sdk
synced 2024-09-19 21:01:50 +00:00
Add demangle utility to Dartium's dart:html. Demangle typedef names in UserVisibleName.
BUG=http://dartbug.com/14892 R=asiva@google.com, vsm@google.com Review URL: https://codereview.chromium.org//79023010 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30636 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
parent
c4c7825bbc
commit
314da361f0
|
@ -250,7 +250,7 @@ static RawInstance* CreateTypedefMirror(const Class& cls,
|
|||
const Array& args = Array::Handle(Array::New(6));
|
||||
args.SetAt(0, MirrorReference::Handle(MirrorReference::New(cls)));
|
||||
args.SetAt(1, type);
|
||||
args.SetAt(2, String::Handle(cls.UserVisibleName()));
|
||||
args.SetAt(2, String::Handle(cls.Name()));
|
||||
args.SetAt(3, Bool::Get(cls.NumTypeParameters() != 0));
|
||||
args.SetAt(4, cls.NumTypeParameters() == 0 ? Bool::False() : is_declaration);
|
||||
args.SetAt(5, owner_mirror);
|
||||
|
|
|
@ -1578,7 +1578,7 @@ RawString* Class::UserVisibleName() const {
|
|||
case kExternalTypedDataFloat64ArrayCid:
|
||||
return Symbols::Float64List().raw();
|
||||
default:
|
||||
if (!IsSignatureClass()) {
|
||||
if (!IsCanonicalSignatureClass()) {
|
||||
const String& name = String::Handle(Name());
|
||||
return String::IdentifierPrettyName(name);
|
||||
} else {
|
||||
|
|
|
@ -36896,6 +36896,11 @@ class _Utils {
|
|||
|
||||
static String addTrailingDot(String str) => '${str}.';
|
||||
|
||||
static String demangle(String str) {
|
||||
var atPos = str.indexOf('@');
|
||||
return atPos == -1 ? str : str.substring(0, atPos);
|
||||
}
|
||||
|
||||
static bool isNoSuchMethodError(obj) => obj is NoSuchMethodError;
|
||||
|
||||
static bool _isBuiltinType(ClassMirror cls) {
|
||||
|
|
|
@ -7,7 +7,7 @@ library test;
|
|||
import 'dart:mirrors';
|
||||
import 'package:expect/expect.dart';
|
||||
|
||||
typedef int _F(int);
|
||||
typedef int _F(int i);
|
||||
|
||||
class _C<_T> {
|
||||
get g {}
|
||||
|
|
|
@ -387,6 +387,11 @@ class _Utils {
|
|||
|
||||
static String addTrailingDot(String str) => '${str}.';
|
||||
|
||||
static String demangle(String str) {
|
||||
var atPos = str.indexOf('@');
|
||||
return atPos == -1 ? str : str.substring(0, atPos);
|
||||
}
|
||||
|
||||
static bool isNoSuchMethodError(obj) => obj is NoSuchMethodError;
|
||||
|
||||
static bool _isBuiltinType(ClassMirror cls) {
|
||||
|
|
Loading…
Reference in a new issue