| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 import 'package:kernel/ast.dart' as ir; | 5 import 'package:kernel/ast.dart' as ir; |
| 6 | 6 |
| 7 import '../constants/expressions.dart'; | 7 import '../constants/expressions.dart'; |
| 8 import '../common.dart'; | 8 import '../common.dart'; |
| 9 import '../common/names.dart'; | 9 import '../common/names.dart'; |
| 10 import '../compiler.dart'; | 10 import '../compiler.dart'; |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 | 243 |
| 244 bool isIntercepted(ir.Node node) { | 244 bool isIntercepted(ir.Node node) { |
| 245 Selector selector = getSelector(node); | 245 Selector selector = getSelector(node); |
| 246 return _backend.isInterceptedSelector(selector); | 246 return _backend.isInterceptedSelector(selector); |
| 247 } | 247 } |
| 248 | 248 |
| 249 bool isInterceptedSelector(Selector selector) { | 249 bool isInterceptedSelector(Selector selector) { |
| 250 return _backend.isInterceptedSelector(selector); | 250 return _backend.isInterceptedSelector(selector); |
| 251 } | 251 } |
| 252 | 252 |
| 253 LibraryElement get jsHelperLibrary => _backend.helpers.jsHelperLibrary; |
| 254 |
| 253 JumpTarget getTargetDefinition(ir.Node node) => | 255 JumpTarget getTargetDefinition(ir.Node node) => |
| 254 elements.getTargetDefinition(getNode(node)); | 256 elements.getTargetDefinition(getNode(node)); |
| 255 | 257 |
| 256 ir.Procedure get mapLiteralConstructor => | 258 ir.Procedure get mapLiteralConstructor => |
| 257 kernel.functions[_backend.helpers.mapLiteralConstructor]; | 259 kernel.functions[_backend.helpers.mapLiteralConstructor]; |
| 258 | 260 |
| 259 ir.Procedure get mapLiteralConstructorEmpty => | 261 ir.Procedure get mapLiteralConstructorEmpty => |
| 260 kernel.functions[_backend.helpers.mapLiteralConstructorEmpty]; | 262 kernel.functions[_backend.helpers.mapLiteralConstructorEmpty]; |
| 261 | 263 |
| 262 MemberElement get jsIndexableLength => _backend.helpers.jsIndexableLength; | 264 MemberElement get jsIndexableLength => _backend.helpers.jsIndexableLength; |
| (...skipping 23 matching lines...) Expand all Loading... |
| 286 .inferredReturnTypeForElement(_backend.helpers.assertThrow, _compiler); | 288 .inferredReturnTypeForElement(_backend.helpers.assertThrow, _compiler); |
| 287 | 289 |
| 288 DartType getDartType(ir.DartType type) { | 290 DartType getDartType(ir.DartType type) { |
| 289 return type.accept(_typeConverter); | 291 return type.accept(_typeConverter); |
| 290 } | 292 } |
| 291 | 293 |
| 292 List<DartType> getDartTypes(List<ir.DartType> types) { | 294 List<DartType> getDartTypes(List<ir.DartType> types) { |
| 293 return types.map(getDartType).toList(); | 295 return types.map(getDartType).toList(); |
| 294 } | 296 } |
| 295 | 297 |
| 298 DartType getFunctionReturnType(ir.FunctionNode node) { |
| 299 return getDartType(node.returnType); |
| 300 } |
| 301 |
| 296 /// Computes the function type corresponding the signature of [node]. | 302 /// Computes the function type corresponding the signature of [node]. |
| 297 FunctionType getFunctionType(ir.FunctionNode node) { | 303 FunctionType getFunctionType(ir.FunctionNode node) { |
| 298 DartType returnType = getDartType(node.returnType); | 304 DartType returnType = getFunctionReturnType(node); |
| 299 List<DartType> parameterTypes = <DartType>[]; | 305 List<DartType> parameterTypes = <DartType>[]; |
| 300 List<DartType> optionalParameterTypes = <DartType>[]; | 306 List<DartType> optionalParameterTypes = <DartType>[]; |
| 301 for (ir.VariableDeclaration variable in node.positionalParameters) { | 307 for (ir.VariableDeclaration variable in node.positionalParameters) { |
| 302 if (parameterTypes.length == node.requiredParameterCount) { | 308 if (parameterTypes.length == node.requiredParameterCount) { |
| 303 optionalParameterTypes.add(getDartType(variable.type)); | 309 optionalParameterTypes.add(getDartType(variable.type)); |
| 304 } else { | 310 } else { |
| 305 parameterTypes.add(getDartType(variable.type)); | 311 parameterTypes.add(getDartType(variable.type)); |
| 306 } | 312 } |
| 307 } | 313 } |
| 308 List<String> namedParameters = <String>[]; | 314 List<String> namedParameters = <String>[]; |
| (...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 666 astAdapter.reporter.internalError( | 672 astAdapter.reporter.internalError( |
| 667 CURRENT_ELEMENT_SPANNABLE, "Unexpected constant target: $element."); | 673 CURRENT_ELEMENT_SPANNABLE, "Unexpected constant target: $element."); |
| 668 return null; | 674 return null; |
| 669 } | 675 } |
| 670 | 676 |
| 671 @override | 677 @override |
| 672 ConstantExpression visitStringLiteral(ir.StringLiteral node) { | 678 ConstantExpression visitStringLiteral(ir.StringLiteral node) { |
| 673 return new StringConstantExpression(node.value); | 679 return new StringConstantExpression(node.value); |
| 674 } | 680 } |
| 675 } | 681 } |
| OLD | NEW |