| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, 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 serialization.elements; | 5 library serialization.elements; |
| 6 | 6 |
| 7 import 'dart:convert'; | 7 import 'dart:convert'; |
| 8 | 8 |
| 9 import 'package:analyzer/dart/ast/ast.dart'; | 9 import 'package:analyzer/dart/ast/ast.dart'; |
| 10 import 'package:analyzer/dart/element/element.dart'; | 10 import 'package:analyzer/dart/element/element.dart'; |
| (...skipping 901 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 912 if (type is FunctionType && type.element.isSynthetic) { | 912 if (type is FunctionType && type.element.isSynthetic) { |
| 913 b.isFunctionTyped = true; | 913 b.isFunctionTyped = true; |
| 914 b.type = serializeTypeRef(type.returnType, parameter); | 914 b.type = serializeTypeRef(type.returnType, parameter); |
| 915 b.parameters = type.parameters | 915 b.parameters = type.parameters |
| 916 .map((parameter) => serializeParam(parameter, context)) | 916 .map((parameter) => serializeParam(parameter, context)) |
| 917 .toList(); | 917 .toList(); |
| 918 } else { | 918 } else { |
| 919 b.type = serializeTypeRef(type, context); | 919 b.type = serializeTypeRef(type, context); |
| 920 } | 920 } |
| 921 } | 921 } |
| 922 // TODO(scheglov) VariableMember.initializer is not implemented |
| 923 if (parameter is! VariableMember && parameter.initializer != null) { |
| 924 b.initializer = serializeExecutable(parameter.initializer); |
| 925 } |
| 922 if (parameter is ConstVariableElement) { | 926 if (parameter is ConstVariableElement) { |
| 923 ConstVariableElement constParameter = parameter as ConstVariableElement; | 927 ConstVariableElement constParameter = parameter as ConstVariableElement; |
| 924 Expression initializer = constParameter.constantInitializer; | 928 Expression initializer = constParameter.constantInitializer; |
| 925 if (initializer != null) { | 929 if (initializer != null) { |
| 926 b.defaultValue = serializeConstExpr( | 930 b.initializer?.bodyExpr = serializeConstExpr( |
| 927 parameter, | 931 parameter, |
| 928 parameter.getAncestor((Element e) => e is ExecutableElement), | 932 parameter.getAncestor((Element e) => e is ExecutableElement), |
| 929 initializer); | 933 initializer); |
| 930 b.defaultValueCode = parameter.defaultValueCode; | 934 b.defaultValueCode = parameter.defaultValueCode; |
| 931 } | 935 } |
| 932 } | 936 } |
| 933 // TODO(scheglov) VariableMember.initializer is not implemented | |
| 934 if (parameter is! VariableMember && parameter.initializer != null) { | |
| 935 b.initializer = serializeExecutable(parameter.initializer); | |
| 936 } | |
| 937 { | 937 { |
| 938 SourceRange visibleRange = parameter.visibleRange; | 938 SourceRange visibleRange = parameter.visibleRange; |
| 939 if (visibleRange != null) { | 939 if (visibleRange != null) { |
| 940 b.visibleOffset = visibleRange.offset; | 940 b.visibleOffset = visibleRange.offset; |
| 941 b.visibleLength = visibleRange.length; | 941 b.visibleLength = visibleRange.length; |
| 942 } | 942 } |
| 943 } | 943 } |
| 944 return b; | 944 return b; |
| 945 } | 945 } |
| 946 | 946 |
| (...skipping 728 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1675 exportNames.add(new LinkedExportNameBuilder( | 1675 exportNames.add(new LinkedExportNameBuilder( |
| 1676 name: name, | 1676 name: name, |
| 1677 dependency: serializeDependency(dependentLibrary), | 1677 dependency: serializeDependency(dependentLibrary), |
| 1678 unit: unit, | 1678 unit: unit, |
| 1679 kind: kind)); | 1679 kind: kind)); |
| 1680 } | 1680 } |
| 1681 pb.exportNames = exportNames; | 1681 pb.exportNames = exportNames; |
| 1682 return pb; | 1682 return pb; |
| 1683 } | 1683 } |
| 1684 } | 1684 } |
| OLD | NEW |