OLD | NEW |
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 #ifndef VM_CLASS_FINALIZER_H_ | 5 #ifndef VM_CLASS_FINALIZER_H_ |
6 #define VM_CLASS_FINALIZER_H_ | 6 #define VM_CLASS_FINALIZER_H_ |
7 | 7 |
8 #include "vm/allocation.h" | 8 #include "vm/allocation.h" |
9 #include "vm/growable_array.h" | 9 #include "vm/growable_array.h" |
10 | 10 |
11 namespace dart { | 11 namespace dart { |
12 | 12 |
13 class AbstractType; | 13 class AbstractType; |
| 14 class MixinAppType; |
14 class AbstractTypeArguments; | 15 class AbstractTypeArguments; |
15 class Class; | 16 class Class; |
16 class Error; | 17 class Error; |
17 class Function; | 18 class Function; |
18 class GrowableObjectArray; | 19 class GrowableObjectArray; |
19 class RawAbstractType; | 20 class RawAbstractType; |
20 class RawClass; | 21 class RawClass; |
21 class RawType; | 22 class RawType; |
22 class Script; | 23 class Script; |
23 class Type; | 24 class Type; |
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 static bool IsSuperCycleFree(const Class& cls); | 93 static bool IsSuperCycleFree(const Class& cls); |
93 static bool IsAliasCycleFree(const Class& cls, | 94 static bool IsAliasCycleFree(const Class& cls, |
94 GrowableArray<intptr_t>* visited); | 95 GrowableArray<intptr_t>* visited); |
95 static void CheckForLegalConstClass(const Class& cls); | 96 static void CheckForLegalConstClass(const Class& cls); |
96 static RawClass* ResolveClass(const Class& cls, | 97 static RawClass* ResolveClass(const Class& cls, |
97 const UnresolvedClass& unresolved_class); | 98 const UnresolvedClass& unresolved_class); |
98 static void ResolveRedirectingFactoryTarget( | 99 static void ResolveRedirectingFactoryTarget( |
99 const Class& cls, | 100 const Class& cls, |
100 const Function& factory, | 101 const Function& factory, |
101 const GrowableObjectArray& visited_factories); | 102 const GrowableObjectArray& visited_factories); |
| 103 static void CloneTypeParameters(const Class& mixapp_class); |
102 static void ApplyMixin(const Class& cls); | 104 static void ApplyMixin(const Class& cls); |
| 105 static void CollectTypeArguments(const Class& cls, |
| 106 const Type& type, |
| 107 const GrowableObjectArray& collected_args); |
| 108 static RawType* ResolveMixinAppType(const Class& cls, |
| 109 const MixinAppType& mixin_app); |
103 static void ResolveSuperTypeAndInterfaces(const Class& cls, | 110 static void ResolveSuperTypeAndInterfaces(const Class& cls, |
104 GrowableArray<intptr_t>* visited); | 111 GrowableArray<intptr_t>* visited); |
105 static void FinalizeTypeParameters(const Class& cls); | 112 static void FinalizeTypeParameters(const Class& cls); |
106 static void FinalizeTypeArguments(const Class& cls, | 113 static void FinalizeTypeArguments(const Class& cls, |
107 const AbstractTypeArguments& arguments, | 114 const AbstractTypeArguments& arguments, |
108 FinalizationKind finalization, | 115 FinalizationKind finalization, |
109 Error* bound_error); | 116 Error* bound_error); |
110 static void CheckTypeArgumentBounds(const Class& cls, | 117 static void CheckTypeArgumentBounds(const Class& cls, |
111 const AbstractTypeArguments& arguments, | 118 const AbstractTypeArguments& arguments, |
112 Error* bound_error); | 119 Error* bound_error); |
(...skipping 16 matching lines...) Expand all Loading... |
129 static void ReportError(const Error& error); | 136 static void ReportError(const Error& error); |
130 static void ReportError(const Script& script, | 137 static void ReportError(const Script& script, |
131 intptr_t token_index, | 138 intptr_t token_index, |
132 const char* format, ...) PRINTF_ATTRIBUTE(3, 4); | 139 const char* format, ...) PRINTF_ATTRIBUTE(3, 4); |
133 static void ReportError(const char* format, ...) PRINTF_ATTRIBUTE(1, 2); | 140 static void ReportError(const char* format, ...) PRINTF_ATTRIBUTE(1, 2); |
134 }; | 141 }; |
135 | 142 |
136 } // namespace dart | 143 } // namespace dart |
137 | 144 |
138 #endif // VM_CLASS_FINALIZER_H_ | 145 #endif // VM_CLASS_FINALIZER_H_ |
OLD | NEW |