| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/object.h" | 5 #include "vm/object.h" |
| 6 | 6 |
| 7 #include "include/dart_api.h" | 7 #include "include/dart_api.h" |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/assembler.h" | 9 #include "vm/assembler.h" |
| 10 #include "vm/cpu.h" | 10 #include "vm/cpu.h" |
| (...skipping 10015 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10026 const String& private_name = String::ZoneHandle(core_lib.PrivateName(member)); | 10026 const String& private_name = String::ZoneHandle(core_lib.PrivateName(member)); |
| 10027 return private_name; | 10027 return private_name; |
| 10028 } | 10028 } |
| 10029 | 10029 |
| 10030 | 10030 |
| 10031 RawClass* Library::LookupCoreClass(const String& class_name) { | 10031 RawClass* Library::LookupCoreClass(const String& class_name) { |
| 10032 const Library& core_lib = Library::Handle(Library::CoreLibrary()); | 10032 const Library& core_lib = Library::Handle(Library::CoreLibrary()); |
| 10033 String& name = String::Handle(class_name.raw()); | 10033 String& name = String::Handle(class_name.raw()); |
| 10034 if (class_name.CharAt(0) == kPrivateIdentifierStart) { | 10034 if (class_name.CharAt(0) == kPrivateIdentifierStart) { |
| 10035 // Private identifiers are mangled on a per library basis. | 10035 // Private identifiers are mangled on a per library basis. |
| 10036 name = String::Concat(name, String::Handle(core_lib.private_key())); | 10036 name = Symbols::FromConcat(name, String::Handle(core_lib.private_key())); |
| 10037 name = Symbols::New(name); | |
| 10038 } | 10037 } |
| 10039 return core_lib.LookupClass(name); | 10038 return core_lib.LookupClass(name); |
| 10040 } | 10039 } |
| 10041 | 10040 |
| 10042 | 10041 |
| 10043 // Cannot handle qualified names properly as it only appends private key to | 10042 // Cannot handle qualified names properly as it only appends private key to |
| 10044 // the end (e.g. _Alfa.foo -> _Alfa.foo@...). | 10043 // the end (e.g. _Alfa.foo -> _Alfa.foo@...). |
| 10045 RawString* Library::PrivateName(const String& name) const { | 10044 RawString* Library::PrivateName(const String& name) const { |
| 10046 ASSERT(IsPrivate(name)); | 10045 ASSERT(IsPrivate(name)); |
| 10047 // ASSERT(strchr(name, '@') == NULL); | 10046 // ASSERT(strchr(name, '@') == NULL); |
| 10048 String& str = String::Handle(); | 10047 String& str = String::Handle(); |
| 10049 str = name.raw(); | 10048 str = name.raw(); |
| 10050 str = String::Concat(str, String::Handle(this->private_key())); | 10049 str = Symbols::FromConcat(str, String::Handle(this->private_key())); |
| 10051 str = Symbols::New(str); | |
| 10052 return str.raw(); | 10050 return str.raw(); |
| 10053 } | 10051 } |
| 10054 | 10052 |
| 10055 | 10053 |
| 10056 RawLibrary* Library::GetLibrary(intptr_t index) { | 10054 RawLibrary* Library::GetLibrary(intptr_t index) { |
| 10057 Isolate* isolate = Isolate::Current(); | 10055 Isolate* isolate = Isolate::Current(); |
| 10058 const GrowableObjectArray& libs = | 10056 const GrowableObjectArray& libs = |
| 10059 GrowableObjectArray::Handle(isolate->object_store()->libraries()); | 10057 GrowableObjectArray::Handle(isolate->object_store()->libraries()); |
| 10060 ASSERT(!libs.IsNull()); | 10058 ASSERT(!libs.IsNull()); |
| 10061 if ((0 <= index) && (index < libs.Length())) { | 10059 if ((0 <= index) && (index < libs.Length())) { |
| (...skipping 4882 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14944 bound_name = TypeParameter::Cast(bound).name(); | 14942 bound_name = TypeParameter::Cast(bound).name(); |
| 14945 } else if (bound.IsType()) { | 14943 } else if (bound.IsType()) { |
| 14946 const Class& cls = Class::Handle(Type::Cast(bound).type_class()); | 14944 const Class& cls = Class::Handle(Type::Cast(bound).type_class()); |
| 14947 bound_name = cls.Name(); | 14945 bound_name = cls.Name(); |
| 14948 if (Type::Cast(bound).arguments() != TypeArguments::null()) { | 14946 if (Type::Cast(bound).arguments() != TypeArguments::null()) { |
| 14949 bound_name = String::Concat(bound_name, Symbols::OptimizedOut()); | 14947 bound_name = String::Concat(bound_name, Symbols::OptimizedOut()); |
| 14950 } | 14948 } |
| 14951 } else { | 14949 } else { |
| 14952 bound_name = String::New(Symbols::OptimizedOut()); | 14950 bound_name = String::New(Symbols::OptimizedOut()); |
| 14953 } | 14951 } |
| 14954 type_name = String::Concat(type_name, bound_name); | 14952 return Symbols::FromConcat(type_name, bound_name); |
| 14955 return Symbols::New(type_name); | |
| 14956 } | 14953 } |
| 14957 if (IsTypeParameter()) { | 14954 if (IsTypeParameter()) { |
| 14958 return TypeParameter::Cast(*this).name(); | 14955 return TypeParameter::Cast(*this).name(); |
| 14959 } | 14956 } |
| 14960 // If the type is still being finalized, we may be reporting an error about | 14957 // If the type is still being finalized, we may be reporting an error about |
| 14961 // a malformed type, so proceed with caution. | 14958 // a malformed type, so proceed with caution. |
| 14962 const TypeArguments& args = TypeArguments::Handle(arguments()); | 14959 const TypeArguments& args = TypeArguments::Handle(arguments()); |
| 14963 const intptr_t num_args = args.IsNull() ? 0 : args.Length(); | 14960 const intptr_t num_args = args.IsNull() ? 0 : args.Length(); |
| 14964 String& class_name = String::Handle(); | 14961 String& class_name = String::Handle(); |
| 14965 intptr_t first_type_param_index; | 14962 intptr_t first_type_param_index; |
| (...skipping 6449 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21415 return tag_label.ToCString(); | 21412 return tag_label.ToCString(); |
| 21416 } | 21413 } |
| 21417 | 21414 |
| 21418 | 21415 |
| 21419 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { | 21416 void UserTag::PrintJSONImpl(JSONStream* stream, bool ref) const { |
| 21420 Instance::PrintJSONImpl(stream, ref); | 21417 Instance::PrintJSONImpl(stream, ref); |
| 21421 } | 21418 } |
| 21422 | 21419 |
| 21423 | 21420 |
| 21424 } // namespace dart | 21421 } // namespace dart |
| OLD | NEW |