Chromium Code Reviews| Index: runtime/vm/cha.h |
| =================================================================== |
| --- runtime/vm/cha.h (revision 0) |
| +++ runtime/vm/cha.h (revision 0) |
| @@ -0,0 +1,47 @@ |
| +// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| +// for details. All rights reserved. Use of this source code is governed by a |
| +// BSD-style license that can be found in the LICENSE file. |
| + |
| +#ifndef VM_CHA_H_ |
| +#define VM_CHA_H_ |
| + |
| +#include "vm/allocation.h" |
| + |
| +namespace dart { |
| + |
| +class ClassTable; |
| +class Function; |
| +template <typename T> class ZoneGrowableArray; |
| +class String; |
| + |
| +class CHA : public ValueObject { |
| + public: |
| + CHA(); |
| + |
| + // Returns true if the class given by its cid has subclasses. |
| + // Must not be called for kDartObjectCid. |
| + bool HasSubclasses(intptr_t cid) const; |
| + |
| + // Returns an array containing the cids of the direct and indirect subclasses |
| + // of the class given by its cid. |
| + // Must not be called for kDartObjectCid. |
| + ZoneGrowableArray<intptr_t>* GetSubclassIdsOf(intptr_t cid) const; |
| + |
| + // Returns an array containing instance functions of the given name and |
| + // belonging to the classes given by their cids. |
| + // Cids must not contain kDartObjectCid. |
| + ZoneGrowableArray<Function*>* GetNamedInstanceFunctionsOf( |
| + const ZoneGrowableArray<intptr_t>& cids, |
| + const String& function_name) const; |
| + |
| + // Returns an array of functions overriding the given function. |
| + // Must not be called for a function of class Object. |
| + ZoneGrowableArray<Function*>* GetOverridesOf(const Function& function) const; |
| + |
| + private: |
| + const ClassTable& class_table_; |
|
srdjan
2012/08/21 18:46:24
DISALLOW_COPY ...
regis
2012/08/21 20:09:34
N/A
|
| +}; |
| + |
| +} // namespace dart |
| + |
| +#endif // VM_CHA_H_ |