Definition at line 65 of file il.cc.
◆ SubtypeFinder()
dart::SubtypeFinder::SubtypeFinder |
( |
Zone * |
zone, |
|
|
GrowableArray< intptr_t > * |
cids, |
|
|
bool |
include_abstract |
|
) |
| |
|
inline |
Definition at line 67 of file il.cc.
70 : array_handles_(zone),
71 class_handles_(zone),
72 cids_(cids),
73 include_abstract_(include_abstract) {}
◆ ScanImplementorClasses()
void dart::SubtypeFinder::ScanImplementorClasses |
( |
const Class & |
klass | ) |
|
|
inline |
Definition at line 75 of file il.cc.
75 {
76
77
78
79
80 if (include_abstract_ || !klass.is_abstract()) {
81 cids_->
Add(klass.id());
82 }
83
84 ScopedHandle<GrowableObjectArray> array(&array_handles_);
85 ScopedHandle<Class> subclass_or_implementor(&class_handles_);
86
87 *array = klass.direct_subclasses();
88 if (!array->IsNull()) {
89 for (intptr_t
i = 0;
i < array->Length(); ++
i) {
90 *subclass_or_implementor ^= (*array).At(
i);
92 }
93 }
94 *array = klass.direct_implementors();
95 if (!array->IsNull()) {
96 for (intptr_t
i = 0;
i < array->Length(); ++
i) {
97 *subclass_or_implementor ^= (*array).At(
i);
99 }
100 }
101 }
void ScanImplementorClasses(const Class &klass)
The documentation for this class was generated from the following file:
- third_party/dart-lang/sdk/runtime/vm/compiler/backend/il.cc