Chromium Code Reviews| Index: runtime/vm/class_finalizer.h |
| =================================================================== |
| --- runtime/vm/class_finalizer.h (revision 1336) |
| +++ runtime/vm/class_finalizer.h (working copy) |
| @@ -12,11 +12,13 @@ |
| class Class; |
| class Function; |
| +class RawClass; |
| class RawType; |
| class Script; |
| class String; |
| class Type; |
| class TypeArguments; |
| +class UnresolvedClass; |
| // Traverses all pending, unfinalized classes, validates and marks them as |
| // finalized. |
| @@ -36,10 +38,15 @@ |
| // Set the error message on failure (to String::null() if no error). |
| static RawType* FinalizeAndCanonicalizeType(const Type& type, String* errmsg); |
| + // Notify finalizer to expect classes to be finalized. |
|
srdjan
2011/11/09 21:22:43
Maybe add somewhere the comment that we are flaggi
regis
2011/11/09 23:31:01
Done.
|
| + static void ExpectPendingClasses(); |
| + |
| // Pending classes are classes that need to be finalized. |
| + // ExpectPendingClasses() must be called prior to AddPendingClasses(). |
| static void AddPendingClasses(const GrowableArray<const Class*>& classes); |
| - // Return false if we still have classes pending to be finalized. |
| + // Return false if we still have classes pending to be finalized or if we were |
| + // notified to expect some. |
| static bool AllClassesFinalized(); |
| // Return whether class finalization failed. |
| @@ -56,6 +63,8 @@ |
| static void FinalizeClass(const Class& cls); |
| static bool IsSuperCycleFree(const Class& cls); |
| static void CheckForLegalConstClass(const Class& cls); |
| + static RawClass* ResolveClass(const Class& cls, |
| + const UnresolvedClass& unresolved_class); |
| static void ResolveSuperClass(const Class& cls); |
| static void ResolveDefaultClass(const Class& cls); |
| static void ResolveInterfaces(const Class& cls, |
| @@ -64,6 +73,7 @@ |
| const TypeArguments& arguments); |
| static RawType* ResolveType(const Class& cls, const Type& type); |
| static RawType* FinalizeType(const Type& type); |
| + static void ResolveAndFinalizeUpperBounds(const Class& cls); |
| static void ResolveAndFinalizeSignature(const Class& cls, |
| const Function& function); |
| static void ResolveAndFinalizeMemberTypes(const Class& cls); |