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 class Interceptors { | 5 class Interceptors { |
6 Compiler compiler; | 6 Compiler compiler; |
7 Interceptors(Compiler this.compiler); | 7 Interceptors(Compiler this.compiler); |
8 | 8 |
9 SourceString mapOperatorToMethodName(Operator op) { | 9 SourceString mapOperatorToMethodName(Operator op) { |
10 String name = op.source.stringValue; | 10 String name = op.source.stringValue; |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 } | 87 } |
88 | 88 |
89 Element getEqualsNullInterceptor() { | 89 Element getEqualsNullInterceptor() { |
90 return compiler.findHelper(const SourceString('eqNull')); | 90 return compiler.findHelper(const SourceString('eqNull')); |
91 } | 91 } |
92 | 92 |
93 Element getExceptionUnwrapper() { | 93 Element getExceptionUnwrapper() { |
94 return compiler.findHelper(const SourceString('unwrapException')); | 94 return compiler.findHelper(const SourceString('unwrapException')); |
95 } | 95 } |
96 | 96 |
| 97 Element getClosureConverter() { |
| 98 return compiler.findHelper(const SourceString('convertDartClosureToJS')); |
| 99 } |
| 100 |
97 Element getTraceFromException() { | 101 Element getTraceFromException() { |
98 return compiler.findHelper(const SourceString('getTraceFromException')); | 102 return compiler.findHelper(const SourceString('getTraceFromException')); |
99 } | 103 } |
100 | 104 |
101 Element getEqualsInterceptor() { | 105 Element getEqualsInterceptor() { |
102 return compiler.findHelper(const SourceString('eq')); | 106 return compiler.findHelper(const SourceString('eq')); |
103 } | 107 } |
104 | 108 |
105 Element getMapMaker() { | 109 Element getMapMaker() { |
106 return compiler.findHelper(const SourceString('makeLiteralMap')); | 110 return compiler.findHelper(const SourceString('makeLiteralMap')); |
(...skipping 2373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2480 // Normally, we would call [close] here. However, then we hit | 2484 // Normally, we would call [close] here. However, then we hit |
2481 // another unimplemented feature: aborting loop body. Simply | 2485 // another unimplemented feature: aborting loop body. Simply |
2482 // calling [add] does not work as it asserts that the instruction | 2486 // calling [add] does not work as it asserts that the instruction |
2483 // isn't a control flow instruction. So we inline parts of [add]. | 2487 // isn't a control flow instruction. So we inline parts of [add]. |
2484 current.addAfter(current.last, new HThrow(message)); | 2488 current.addAfter(current.last, new HThrow(message)); |
2485 if (isExpression) { | 2489 if (isExpression) { |
2486 stack.add(graph.addConstantNull()); | 2490 stack.add(graph.addConstantNull()); |
2487 } | 2491 } |
2488 } | 2492 } |
2489 } | 2493 } |
OLD | NEW |