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 library native; | 5 library native; |
6 | 6 |
7 import 'dart:collection' show Queue; | 7 import 'dart:collection' show Queue; |
8 import 'dart2jslib.dart'; | 8 import 'dart2jslib.dart'; |
9 import 'dart_types.dart'; | 9 import 'dart_types.dart'; |
10 import 'elements/elements.dart'; | 10 import 'elements/elements.dart'; |
(...skipping 947 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
958 } | 958 } |
959 } else { | 959 } else { |
960 typesInstantiated.add(type); | 960 typesInstantiated.add(type); |
961 } | 961 } |
962 } | 962 } |
963 | 963 |
964 static _parseType(String typeString, Compiler compiler, | 964 static _parseType(String typeString, Compiler compiler, |
965 lookup(name), locationNodeOrElement) { | 965 lookup(name), locationNodeOrElement) { |
966 if (typeString == '=Object') return SpecialType.JsObject; | 966 if (typeString == '=Object') return SpecialType.JsObject; |
967 if (typeString == 'dynamic') { | 967 if (typeString == 'dynamic') { |
968 return compiler.types.dynamicType; | 968 return const DynamicType(); |
969 } | 969 } |
970 DartType type = lookup(typeString); | 970 DartType type = lookup(typeString); |
971 if (type != null) return type; | 971 if (type != null) return type; |
972 | 972 |
973 int index = typeString.indexOf('<'); | 973 int index = typeString.indexOf('<'); |
974 if (index < 1) { | 974 if (index < 1) { |
975 compiler.internalError( | 975 compiler.internalError( |
976 _errorNode(locationNodeOrElement, compiler), | 976 _errorNode(locationNodeOrElement, compiler), |
977 "Type '$typeString' not found."); | 977 "Type '$typeString' not found."); |
978 } | 978 } |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1182 LiteralString jsCode = nativeBody.asLiteralString(); | 1182 LiteralString jsCode = nativeBody.asLiteralString(); |
1183 builder.push(new HForeign.statement( | 1183 builder.push(new HForeign.statement( |
1184 js.js.statementTemplateYielding( | 1184 js.js.statementTemplateYielding( |
1185 new js.LiteralStatement(jsCode.dartString.slowToString())), | 1185 new js.LiteralStatement(jsCode.dartString.slowToString())), |
1186 <HInstruction>[], | 1186 <HInstruction>[], |
1187 new SideEffects(), | 1187 new SideEffects(), |
1188 null, | 1188 null, |
1189 backend.dynamicType)); | 1189 backend.dynamicType)); |
1190 } | 1190 } |
1191 } | 1191 } |
OLD | NEW |