| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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.js_emitter; | 5 part of dart2js.js_emitter; |
| 6 | 6 |
| 7 class ClassEmitter extends CodeEmitterHelper { | 7 class ClassEmitter extends CodeEmitterHelper { |
| 8 | 8 |
| 9 ClassStubGenerator get _stubGenerator => | 9 ClassStubGenerator get _stubGenerator => |
| 10 new ClassStubGenerator(compiler, namer, backend); | 10 new ClassStubGenerator(compiler, namer, backend); |
| (...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 592 if (substitution != null) { | 592 if (substitution != null) { |
| 593 jsAst.Expression typeArguments = | 593 jsAst.Expression typeArguments = |
| 594 js(r'#.apply(null, this.$builtinTypeInfo)', | 594 js(r'#.apply(null, this.$builtinTypeInfo)', |
| 595 substitution.getCode(backend.rti)); | 595 substitution.getCode(backend.rti)); |
| 596 computeTypeVariable = js('#[#]', [typeArguments, index]); | 596 computeTypeVariable = js('#[#]', [typeArguments, index]); |
| 597 } else { | 597 } else { |
| 598 // TODO(ahe): These can be generated dynamically. | 598 // TODO(ahe): These can be generated dynamically. |
| 599 computeTypeVariable = | 599 computeTypeVariable = |
| 600 js(r'this.$builtinTypeInfo && this.$builtinTypeInfo[#]', index); | 600 js(r'this.$builtinTypeInfo && this.$builtinTypeInfo[#]', index); |
| 601 } | 601 } |
| 602 jsAst.Expression convertRtiToRuntimeType = | 602 jsAst.Expression convertRtiToRuntimeType = emitter |
| 603 namer.elementAccess(backend.findHelper('convertRtiToRuntimeType')); | 603 .staticFunctionAccess(backend.findHelper('convertRtiToRuntimeType')); |
| 604 compiler.dumpInfoTask.registerElementAst(element, | 604 compiler.dumpInfoTask.registerElementAst(element, |
| 605 builder.addProperty(name, | 605 builder.addProperty(name, |
| 606 js('function () { return #(#) }', | 606 js('function () { return #(#) }', |
| 607 [convertRtiToRuntimeType, computeTypeVariable]))); | 607 [convertRtiToRuntimeType, computeTypeVariable]))); |
| 608 } | 608 } |
| 609 } | 609 } |
| OLD | NEW |