Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(471)

Side by Side Diff: runtime/vm/object.cc

Issue 212883009: Handle creating ParameterMirrors for the parameters of forwarding constructors. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: different Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « runtime/vm/object.h ('k') | tests/lib/lib.status » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 3171 matching lines...) Expand 10 before | Expand all | Expand 10 after
3182 void Class::set_mixin(const Type& value) const { 3182 void Class::set_mixin(const Type& value) const {
3183 ASSERT(!value.IsNull()); 3183 ASSERT(!value.IsNull());
3184 StorePointer(&raw_ptr()->mixin_, value.raw()); 3184 StorePointer(&raw_ptr()->mixin_, value.raw());
3185 } 3185 }
3186 3186
3187 3187
3188 bool Class::IsMixinApplication() const { 3188 bool Class::IsMixinApplication() const {
3189 return mixin() != Type::null(); 3189 return mixin() != Type::null();
3190 } 3190 }
3191 3191
3192 bool Class::IsAnonymousMixinApplication() const {
3193 return IsMixinApplication() && !is_mixin_app_alias();
3194 }
3195 3192
3196 void Class::set_patch_class(const Class& cls) const { 3193 void Class::set_patch_class(const Class& cls) const {
3197 ASSERT(patch_class() == Class::null()); 3194 ASSERT(patch_class() == Class::null());
3198 StorePointer(&raw_ptr()->patch_class_, cls.raw()); 3195 StorePointer(&raw_ptr()->patch_class_, cls.raw());
3199 } 3196 }
3200 3197
3201 3198
3202 void Class::AddDirectSubclass(const Class& subclass) const { 3199 void Class::AddDirectSubclass(const Class& subclass) const {
3203 ASSERT(!subclass.IsNull()); 3200 ASSERT(!subclass.IsNull());
3204 ASSERT(subclass.SuperClass() == raw()); 3201 ASSERT(subclass.SuperClass() == raw());
(...skipping 5855 matching lines...) Expand 10 before | Expand all | Expand 10 after
9060 } 9057 }
9061 const char* library_url = String::Handle(url()).ToCString(); 9058 const char* library_url = String::Handle(url()).ToCString();
9062 jsobj.AddProperty("url", library_url); 9059 jsobj.AddProperty("url", library_url);
9063 { 9060 {
9064 JSONArray jsarr(&jsobj, "classes"); 9061 JSONArray jsarr(&jsobj, "classes");
9065 ClassDictionaryIterator class_iter(*this); 9062 ClassDictionaryIterator class_iter(*this);
9066 Class& klass = Class::Handle(); 9063 Class& klass = Class::Handle();
9067 while (class_iter.HasNext()) { 9064 while (class_iter.HasNext()) {
9068 klass = class_iter.GetNextClass(); 9065 klass = class_iter.GetNextClass();
9069 if (!klass.IsCanonicalSignatureClass() && 9066 if (!klass.IsCanonicalSignatureClass() &&
9070 !klass.IsAnonymousMixinApplication()) { 9067 !klass.IsMixinApplication()) {
9071 jsarr.AddValue(klass); 9068 jsarr.AddValue(klass);
9072 } 9069 }
9073 } 9070 }
9074 } 9071 }
9075 { 9072 {
9076 JSONArray jsarr(&jsobj, "imports"); 9073 JSONArray jsarr(&jsobj, "imports");
9077 Library& lib = Library::Handle(); 9074 Library& lib = Library::Handle();
9078 for (intptr_t i = 0; i < num_imports(); i++) { 9075 for (intptr_t i = 0; i < num_imports(); i++) {
9079 lib = ImportLibraryAt(i); 9076 lib = ImportLibraryAt(i);
9080 jsarr.AddValue(lib); 9077 jsarr.AddValue(lib);
(...skipping 9031 matching lines...) Expand 10 before | Expand all | Expand 10 after
18112 return "_MirrorReference"; 18109 return "_MirrorReference";
18113 } 18110 }
18114 18111
18115 18112
18116 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const { 18113 void MirrorReference::PrintToJSONStream(JSONStream* stream, bool ref) const {
18117 Instance::PrintToJSONStream(stream, ref); 18114 Instance::PrintToJSONStream(stream, ref);
18118 } 18115 }
18119 18116
18120 18117
18121 } // namespace dart 18118 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/object.h ('k') | tests/lib/lib.status » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698