| Index: runtime/vm/class_finalizer.h
|
| diff --git a/runtime/vm/class_finalizer.h b/runtime/vm/class_finalizer.h
|
| index 3aa7c2c13f088b02104036c6d980d619ade71ae3..a8c59a26bd5995921b59f45560701925bd135651 100644
|
| --- a/runtime/vm/class_finalizer.h
|
| +++ b/runtime/vm/class_finalizer.h
|
| @@ -60,7 +60,7 @@ class ClassFinalizer : public AllStatic {
|
| // string and its arguments.
|
| static void FinalizeMalboundedType(const Error& prev_error,
|
| const Script& script,
|
| - const Type& type,
|
| + const AbstractType& type,
|
| const char* format, ...)
|
| PRINTF_ATTRIBUTE(4, 5);
|
|
|
| @@ -89,7 +89,8 @@ class ClassFinalizer : public AllStatic {
|
| #endif // defined(DART_NO_SNAPSHOT).
|
|
|
| // Resolve the class of the type, but not the type's type arguments.
|
| - static void ResolveTypeClass(const Class& cls, const AbstractType& type);
|
| + // May promote the type from Type to FunctionType.
|
| + static RawAbstractType* ResolveTypeClass(const Class& cls, const Type& type);
|
|
|
| // Resolve the type and target of the redirecting factory.
|
| static void ResolveRedirectingFactory(const Class& cls,
|
| @@ -102,17 +103,16 @@ class ClassFinalizer : public AllStatic {
|
| private:
|
| static void AllocateEnumValues(const Class& enum_cls);
|
| static bool IsSuperCycleFree(const Class& cls);
|
| - static bool IsTypeCycleFree(const Class& cls,
|
| - const AbstractType& type,
|
| - GrowableArray<intptr_t>* visited);
|
| - static bool IsAliasCycleFree(const Class& cls,
|
| - GrowableArray<intptr_t>* visited);
|
| + static bool IsTypedefCycleFree(const Class& cls,
|
| + const AbstractType& type,
|
| + GrowableArray<intptr_t>* visited);
|
| static bool IsMixinCycleFree(const Class& cls,
|
| GrowableArray<intptr_t>* visited);
|
| static void CheckForLegalConstClass(const Class& cls);
|
| static RawClass* ResolveClass(const Class& cls,
|
| const UnresolvedClass& unresolved_class);
|
| - static void ResolveType(const Class& cls, const AbstractType& type);
|
| + static RawAbstractType* ResolveType(const Class& cls,
|
| + const AbstractType& type);
|
| static void ResolveRedirectingFactoryTarget(
|
| const Class& cls,
|
| const Function& factory,
|
| @@ -134,6 +134,9 @@ class ClassFinalizer : public AllStatic {
|
| GrowableArray<intptr_t>* visited);
|
| static void FinalizeTypeParameters(const Class& cls,
|
| PendingTypes* pending_types = NULL);
|
| + static intptr_t ExpandAndFinalizeTypeArguments(const Class& cls,
|
| + const AbstractType& type,
|
| + PendingTypes* pending_types);
|
| static void FinalizeTypeArguments(const Class& cls,
|
| const TypeArguments& arguments,
|
| intptr_t num_uninitialized_arguments,
|
| @@ -141,16 +144,16 @@ class ClassFinalizer : public AllStatic {
|
| PendingTypes* pending_types,
|
| TrailPtr trail);
|
| static void CheckRecursiveType(const Class& cls,
|
| - const Type& type,
|
| + const AbstractType& type,
|
| PendingTypes* pending_types);
|
| - static void CheckTypeBounds(const Class& cls, const Type& type);
|
| + static void CheckTypeBounds(const Class& cls, const AbstractType& type);
|
| static void CheckTypeArgumentBounds(const Class& cls,
|
| const TypeArguments& arguments,
|
| Error* bound_error);
|
| static void ResolveUpperBounds(const Class& cls);
|
| static void FinalizeUpperBounds(const Class& cls);
|
| - static void ResolveAndFinalizeSignature(const Class& cls,
|
| - const Function& function);
|
| + static void ResolveSignature(const Class& cls, const Function& function);
|
| + static void FinalizeSignature(const Class& cls, const Function& function);
|
| static void ResolveAndFinalizeMemberTypes(const Class& cls);
|
| static void PrintClassInformation(const Class& cls);
|
| static void CollectInterfaces(
|
|
|