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 |
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 private: | 73 private: |
74 static void FinalizeClass(const Class& cls); | 74 static void FinalizeClass(const Class& cls); |
75 static bool IsSuperCycleFree(const Class& cls); | 75 static bool IsSuperCycleFree(const Class& cls); |
76 static bool IsAliasCycleFree(const Class& cls, | 76 static bool IsAliasCycleFree(const Class& cls, |
77 GrowableArray<intptr_t>* visited); | 77 GrowableArray<intptr_t>* visited); |
78 static void CheckForLegalConstClass(const Class& cls); | 78 static void CheckForLegalConstClass(const Class& cls); |
79 static RawClass* ResolveClass(const Class& cls, | 79 static RawClass* ResolveClass(const Class& cls, |
80 const UnresolvedClass& unresolved_class); | 80 const UnresolvedClass& unresolved_class); |
81 static void ResolveSuperType(const Class& cls); | 81 static void ResolveSuperType(const Class& cls); |
82 static void ResolveFactoryClass(const Class& cls); | 82 static void ResolveFactoryClass(const Class& cls); |
| 83 static void ResolveRedirectingFactoryTarget( |
| 84 const Class& cls, |
| 85 const Function& factory, |
| 86 const GrowableObjectArray& visited_factories); |
83 static void ResolveInterfaces(const Class& cls, | 87 static void ResolveInterfaces(const Class& cls, |
84 GrowableArray<intptr_t>* visited); | 88 GrowableArray<intptr_t>* visited); |
85 static void FinalizeTypeParameters(const Class& cls); | 89 static void FinalizeTypeParameters(const Class& cls); |
86 static void FinalizeTypeArguments(const Class& cls, | 90 static void FinalizeTypeArguments(const Class& cls, |
87 const AbstractTypeArguments& arguments, | 91 const AbstractTypeArguments& arguments, |
88 FinalizationKind finalization); | 92 FinalizationKind finalization); |
89 static void ResolveType(const Class& cls, | 93 static void ResolveType(const Class& cls, |
90 const AbstractType& type, | 94 const AbstractType& type, |
91 FinalizationKind finalization); | 95 FinalizationKind finalization); |
92 static void ResolveAndFinalizeUpperBounds(const Class& cls); | 96 static void ResolveAndFinalizeUpperBounds(const Class& cls); |
93 static void ResolveAndFinalizeSignature(const Class& cls, | 97 static void ResolveAndFinalizeSignature(const Class& cls, |
94 const Function& function); | 98 const Function& function); |
95 static void ResolveAndFinalizeMemberTypes(const Class& cls); | 99 static void ResolveAndFinalizeMemberTypes(const Class& cls); |
96 static void PrintClassInformation(const Class& cls); | 100 static void PrintClassInformation(const Class& cls); |
97 static void CollectInterfaces(const Class& cls, | 101 static void CollectInterfaces(const Class& cls, |
98 const GrowableObjectArray& interfaces); | 102 const GrowableObjectArray& interfaces); |
99 static void ReportError(const Error& error); | 103 static void ReportError(const Error& error); |
100 static void ReportError(const Script& script, | 104 static void ReportError(const Script& script, |
101 intptr_t token_index, | 105 intptr_t token_index, |
102 const char* format, ...) PRINTF_ATTRIBUTE(3, 4); | 106 const char* format, ...) PRINTF_ATTRIBUTE(3, 4); |
103 static void ReportError(const char* format, ...) PRINTF_ATTRIBUTE(1, 2); | 107 static void ReportError(const char* format, ...) PRINTF_ATTRIBUTE(1, 2); |
104 }; | 108 }; |
105 | 109 |
106 } // namespace dart | 110 } // namespace dart |
107 | 111 |
108 #endif // VM_CLASS_FINALIZER_H_ | 112 #endif // VM_CLASS_FINALIZER_H_ |
OLD | NEW |