Chromium Code Reviews| 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 part of dart2js; | 5 part of dart2js; |
| 6 | 6 |
| 7 /** | 7 /** |
| 8 * If true, print a warning for each method that was resolved, but not | 8 * If true, print a warning for each method that was resolved, but not |
| 9 * compiled. | 9 * compiled. |
| 10 */ | 10 */ |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 122 // TODO(ahe,karlklose): rename this? | 122 // TODO(ahe,karlklose): rename this? |
| 123 void dumpInferredTypes() {} | 123 void dumpInferredTypes() {} |
| 124 | 124 |
| 125 ItemCompilationContext createItemCompilationContext() { | 125 ItemCompilationContext createItemCompilationContext() { |
| 126 return new ItemCompilationContext(); | 126 return new ItemCompilationContext(); |
| 127 } | 127 } |
| 128 | 128 |
| 129 bool classNeedsRti(ClassElement cls); | 129 bool classNeedsRti(ClassElement cls); |
| 130 bool methodNeedsRti(FunctionElement function); | 130 bool methodNeedsRti(FunctionElement function); |
| 131 | 131 |
| 132 // The following methods are hooks for the backend to register its | 132 /// Called during resolution to notify to the backend that a class is |
| 133 // helper methods. | 133 /// being instantiated. |
| 134 void registerInstantiatedClass(ClassElement cls, | 134 void registerInstantiatedClass(ClassElement cls, |
| 135 Enqueuer enqueuer, | 135 Enqueuer enqueuer, |
| 136 TreeElements elements) {} | 136 TreeElements elements) {} |
| 137 | |
| 138 /// Called during resolution to notify to the backend that the | |
| 139 /// program uses string interpolation. | |
| 137 void registerStringInterpolation(TreeElements elements) {} | 140 void registerStringInterpolation(TreeElements elements) {} |
| 141 | |
|
ahe
2013/08/15 15:56:54
DANGER DANGER!!!
Extra line!!!
ngeoffray
2013/08/15 16:06:59
Done.
| |
| 142 | |
| 143 /// Called during resolution to notify to the backend that the | |
| 144 /// program has a catch statement. | |
| 138 void registerCatchStatement(Enqueuer enqueuer, | 145 void registerCatchStatement(Enqueuer enqueuer, |
| 139 TreeElements elements) {} | 146 TreeElements elements) {} |
| 140 void registerWrapException(TreeElements elements) {} | 147 |
| 148 /// Called during resolution to notify to the backend that the | |
| 149 /// program explicitly throws an exception. | |
| 141 void registerThrowExpression(TreeElements elements) {} | 150 void registerThrowExpression(TreeElements elements) {} |
| 151 | |
| 152 /// Called during resolution to notify to the backend that the | |
| 153 /// program has a global variable with a lazy initializer. | |
| 142 void registerLazyField(TreeElements elements) {} | 154 void registerLazyField(TreeElements elements) {} |
| 155 | |
|
ahe
2013/08/15 15:56:54
SEGFAULT!
ngeoffray
2013/08/15 16:06:59
Done.
| |
| 156 | |
| 157 /// Called during resolution to notify to the backend that the | |
| 158 /// program uses a type variable as an expression. | |
| 143 void registerTypeVariableExpression(TreeElements elements) {} | 159 void registerTypeVariableExpression(TreeElements elements) {} |
| 160 | |
| 161 /// Called during resolution to notify to the backend that the | |
| 162 /// program uses a type literal. | |
| 144 void registerTypeLiteral(Element element, TreeElements elements) {} | 163 void registerTypeLiteral(Element element, TreeElements elements) {} |
| 164 | |
| 165 /// Called during resolution to notify to the backend that the | |
| 166 /// program has a catch statement with a stack trace. | |
| 145 void registerStackTraceInCatch(TreeElements elements) {} | 167 void registerStackTraceInCatch(TreeElements elements) {} |
| 168 | |
| 169 | |
|
ahe
2013/08/15 15:56:54
ARGH!!!
ngeoffray
2013/08/15 16:06:59
Done.
| |
| 170 /// Register an is check to the backend. | |
| 146 void registerIsCheck(DartType type, | 171 void registerIsCheck(DartType type, |
| 147 Enqueuer enqueuer, | 172 Enqueuer enqueuer, |
| 148 TreeElements elements) {} | 173 TreeElements elements) {} |
| 174 | |
| 175 /// Register an is check to the backend. | |
|
ahe
2013/08/15 15:56:54
is -> as
ngeoffray
2013/08/15 16:06:59
Done.
| |
| 149 void registerAsCheck(DartType type, TreeElements elements) {} | 176 void registerAsCheck(DartType type, TreeElements elements) {} |
| 177 | |
| 178 /// Register that the application may throw a [NoSuchMethodError]. | |
| 150 void registerThrowNoSuchMethod(TreeElements elements) {} | 179 void registerThrowNoSuchMethod(TreeElements elements) {} |
| 180 | |
| 181 /// Register that the application may throw a [RuntimeError]. | |
| 151 void registerThrowRuntimeError(TreeElements elements) {} | 182 void registerThrowRuntimeError(TreeElements elements) {} |
| 183 | |
| 184 /// Register that the application may throw an | |
| 185 /// [AbstractClassInstantiationError]. | |
| 152 void registerAbstractClassInstantiation(TreeElements elements) {} | 186 void registerAbstractClassInstantiation(TreeElements elements) {} |
| 187 | |
| 188 /// Register that the application may throw a [FallThroughError]. | |
| 153 void registerFallThroughError(TreeElements elements) {} | 189 void registerFallThroughError(TreeElements elements) {} |
| 190 | |
| 191 /// Register that a super call will end up calling | |
| 192 /// [: super.noSuchMethod :]. | |
| 154 void registerSuperNoSuchMethod(TreeElements elements) {} | 193 void registerSuperNoSuchMethod(TreeElements elements) {} |
| 194 | |
| 195 /// Register that the application creates a constant map. | |
| 155 void registerConstantMap(TreeElements elements) {} | 196 void registerConstantMap(TreeElements elements) {} |
| 197 | |
| 156 /** | 198 /** |
| 157 * Call this to register that an instantiated generic class has a call | 199 * Call this to register that an instantiated generic class has a call |
| 158 * method. | 200 * method. |
| 159 */ | 201 */ |
| 160 void registerGenericCallMethod(Element callMethod, | 202 void registerGenericCallMethod(Element callMethod, |
| 161 Enqueuer enqueuer, | 203 Enqueuer enqueuer, |
| 162 TreeElements elements) {} | 204 TreeElements elements) {} |
| 163 /** | 205 /** |
| 164 * Call this to register that a getter exists for a function on an | 206 * Call this to register that a getter exists for a function on an |
| 165 * instantiated generic class. | 207 * instantiated generic class. |
| (...skipping 1320 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1486 | 1528 |
| 1487 void close() {} | 1529 void close() {} |
| 1488 | 1530 |
| 1489 toString() => name; | 1531 toString() => name; |
| 1490 | 1532 |
| 1491 /// Convenience method for getting an [api.CompilerOutputProvider]. | 1533 /// Convenience method for getting an [api.CompilerOutputProvider]. |
| 1492 static NullSink outputProvider(String name, String extension) { | 1534 static NullSink outputProvider(String name, String extension) { |
| 1493 return new NullSink('$name.$extension'); | 1535 return new NullSink('$name.$extension'); |
| 1494 } | 1536 } |
| 1495 } | 1537 } |
| OLD | NEW |