| OLD | NEW |
| 1 // Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2014, 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 library js.transformer.js_initializer_generator; | 5 library js.transformer.dart_initializer_generator; |
| 6 | 6 |
| 7 import 'package:js/src/js_elements.dart'; | 7 import 'package:js/src/js_elements.dart'; |
| 8 import 'package:logging/logging.dart'; | 8 import 'package:logging/logging.dart'; |
| 9 import 'package:quiver/iterables.dart'; | 9 import 'package:quiver/iterables.dart'; |
| 10 | 10 |
| 11 final _logger = new Logger('js.transformer.js_initializer_generator'); | 11 final _logger = new Logger('js.transformer.dart_initializer_generator'); |
| 12 | 12 |
| 13 const JS_PREFIX = '__package_js_impl__'; | 13 const JS_PREFIX = '__package_js_impl__'; |
| 14 const JS_THIS_REF = '__js_this_ref__'; | 14 const JS_THIS_REF = '__js_this_ref__'; |
| 15 | 15 |
| 16 class JsInitializerGenerator { | 16 class DartInitializerGenerator { |
| 17 final String libraryName; | 17 final String libraryName; |
| 18 final String libraryPath; | 18 final String libraryPath; |
| 19 final JsElements jsElements; | 19 final JsElements jsElements; |
| 20 | 20 |
| 21 final buffer = new StringBuffer(); | 21 final buffer = new StringBuffer(); |
| 22 | 22 |
| 23 JsInitializerGenerator(this.libraryName, this.libraryPath, this.jsElements); | 23 DartInitializerGenerator(this.libraryName, this.libraryPath, this.jsElements); |
| 24 | 24 |
| 25 /** | 25 /** |
| 26 * Returns the transformed source. | 26 * Returns the transformed source. |
| 27 */ | 27 */ |
| 28 String generate() { | 28 String generate() { |
| 29 buffer.write( | 29 buffer.write( |
| 30 ''' | 30 ''' |
| 31 library ${libraryName}__init_js__; | 31 library ${libraryName}__init_js__; |
| 32 | 32 |
| 33 import 'dart:js' as js; | 33 import 'dart:js' as js; |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 } else if (e is ExportedField) { | 114 } else if (e is ExportedField) { |
| 115 _generateField(e); | 115 _generateField(e); |
| 116 } | 116 } |
| 117 } | 117 } |
| 118 | 118 |
| 119 void _generateConstructor(ExportedConstructor c) { | 119 void _generateConstructor(ExportedConstructor c) { |
| 120 var constructorName = c.name == '' ? '_new' : '_new_${c.name}'; | 120 var constructorName = c.name == '' ? '_new' : '_new_${c.name}'; |
| 121 var dartParameters = _getDartParameters(c.parameters); | 121 var dartParameters = _getDartParameters(c.parameters); |
| 122 var jsParameters = _getJsParameters(c.parameters); | 122 var jsParameters = _getJsParameters(c.parameters); |
| 123 var namedPart = c.name == '' ? '' : '.${c.name}'; | 123 var namedPart = c.name == '' ? '' : '.${c.name}'; |
| 124 buffer.writeln(" print('exporting constructor: ${constructorName}');"); | |
| 125 buffer.writeln(" constructor['$constructorName'] = ($jsParameters) => " | 124 buffer.writeln(" constructor['$constructorName'] = ($jsParameters) => " |
| 126 "new ${c.parent.name}$namedPart($dartParameters);"); | 125 "new ${c.parent.name}$namedPart($dartParameters);"); |
| 127 } | 126 } |
| 128 | 127 |
| 129 void _generateMethod(ExportedMethod c) { | 128 void _generateMethod(ExportedMethod c) { |
| 130 var dartParameters = _getDartParameters(c.parameters); | 129 var dartParameters = _getDartParameters(c.parameters); |
| 131 var jsParameters = _getJsParameters(c.parameters, withThis: true); | 130 var jsParameters = _getJsParameters(c.parameters, withThis: true); |
| 132 buffer.write( | 131 buffer.write( |
| 133 ''' | 132 ''' |
| 134 | 133 |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 191 var dartParameters = concat([ | 190 var dartParameters = concat([ |
| 192 requiredParameters, | 191 requiredParameters, |
| 193 positionalParameters, | 192 positionalParameters, |
| 194 dartNamedParameters]) | 193 dartNamedParameters]) |
| 195 .join(', '); | 194 .join(', '); |
| 196 | 195 |
| 197 return dartParameters; | 196 return dartParameters; |
| 198 } | 197 } |
| 199 | 198 |
| 200 } | 199 } |
| OLD | NEW |