Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(205)

Side by Side Diff: pkg/analyzer/test/generated/all_the_rest_test.dart

Issue 1710913004: Set hasImplicitReturnType for variable initializer functions. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/analyzer/lib/src/summary/resynthesize.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 analyzer.test.generated.all_the_rest_test; 5 library analyzer.test.generated.all_the_rest_test;
6 6
7 import 'package:analyzer/dart/ast/ast.dart'; 7 import 'package:analyzer/dart/ast/ast.dart';
8 import 'package:analyzer/dart/ast/token.dart'; 8 import 'package:analyzer/dart/ast/token.dart';
9 import 'package:analyzer/dart/element/element.dart'; 9 import 'package:analyzer/dart/element/element.dart';
10 import 'package:analyzer/dart/element/type.dart'; 10 import 'package:analyzer/dart/element/type.dart';
(...skipping 1010 matching lines...) Expand 10 before | Expand all | Expand 10 after
1021 AstFactory.simpleFormalParameter3(parameterName), 1021 AstFactory.simpleFormalParameter3(parameterName),
1022 AstFactory.integer(0)); 1022 AstFactory.integer(0));
1023 formalParameter.accept(builder); 1023 formalParameter.accept(builder);
1024 1024
1025 List<ParameterElement> parameters = holder.parameters; 1025 List<ParameterElement> parameters = holder.parameters;
1026 expect(parameters, hasLength(1)); 1026 expect(parameters, hasLength(1));
1027 ParameterElement parameter = parameters[0]; 1027 ParameterElement parameter = parameters[0];
1028 expect(parameter.hasImplicitType, isTrue); 1028 expect(parameter.hasImplicitType, isTrue);
1029 expect(parameter.initializer, isNotNull); 1029 expect(parameter.initializer, isNotNull);
1030 expect(parameter.initializer.type, isNotNull); 1030 expect(parameter.initializer.type, isNotNull);
1031 expect(parameter.initializer.hasImplicitReturnType, isTrue);
1031 expect(parameter.isConst, isFalse); 1032 expect(parameter.isConst, isFalse);
1032 expect(parameter.isDeprecated, isFalse); 1033 expect(parameter.isDeprecated, isFalse);
1033 expect(parameter.isFinal, isFalse); 1034 expect(parameter.isFinal, isFalse);
1034 expect(parameter.isInitializingFormal, isFalse); 1035 expect(parameter.isInitializingFormal, isFalse);
1035 expect(parameter.isOverride, isFalse); 1036 expect(parameter.isOverride, isFalse);
1036 expect(parameter.isPrivate, isFalse); 1037 expect(parameter.isPrivate, isFalse);
1037 expect(parameter.isPublic, isTrue); 1038 expect(parameter.isPublic, isTrue);
1038 expect(parameter.isSynthetic, isFalse); 1039 expect(parameter.isSynthetic, isFalse);
1039 expect(parameter.name, parameterName); 1040 expect(parameter.name, parameterName);
1040 } 1041 }
1041 1042
1042 void test_visitDefaultFormalParameter_type() { 1043 void test_visitDefaultFormalParameter_type() {
1043 // E p = 0 1044 // E p = 0
1044 ElementHolder holder = new ElementHolder(); 1045 ElementHolder holder = new ElementHolder();
1045 ElementBuilder builder = _makeBuilder(holder); 1046 ElementBuilder builder = _makeBuilder(holder);
1046 String parameterName = 'p'; 1047 String parameterName = 'p';
1047 DefaultFormalParameter formalParameter = AstFactory.namedFormalParameter( 1048 DefaultFormalParameter formalParameter = AstFactory.namedFormalParameter(
1048 AstFactory.simpleFormalParameter4( 1049 AstFactory.simpleFormalParameter4(
1049 AstFactory.typeName4('E'), parameterName), 1050 AstFactory.typeName4('E'), parameterName),
1050 AstFactory.integer(0)); 1051 AstFactory.integer(0));
1051 formalParameter.accept(builder); 1052 formalParameter.accept(builder);
1052 1053
1053 List<ParameterElement> parameters = holder.parameters; 1054 List<ParameterElement> parameters = holder.parameters;
1054 expect(parameters, hasLength(1)); 1055 expect(parameters, hasLength(1));
1055 ParameterElement parameter = parameters[0]; 1056 ParameterElement parameter = parameters[0];
1056 expect(parameter.hasImplicitType, isFalse); 1057 expect(parameter.hasImplicitType, isFalse);
1057 expect(parameter.initializer, isNotNull); 1058 expect(parameter.initializer, isNotNull);
1058 expect(parameter.initializer.type, isNotNull); 1059 expect(parameter.initializer.type, isNotNull);
1060 expect(parameter.initializer.hasImplicitReturnType, isTrue);
1059 expect(parameter.isConst, isFalse); 1061 expect(parameter.isConst, isFalse);
1060 expect(parameter.isDeprecated, isFalse); 1062 expect(parameter.isDeprecated, isFalse);
1061 expect(parameter.isFinal, isFalse); 1063 expect(parameter.isFinal, isFalse);
1062 expect(parameter.isInitializingFormal, isFalse); 1064 expect(parameter.isInitializingFormal, isFalse);
1063 expect(parameter.isOverride, isFalse); 1065 expect(parameter.isOverride, isFalse);
1064 expect(parameter.isPrivate, isFalse); 1066 expect(parameter.isPrivate, isFalse);
1065 expect(parameter.isPublic, isTrue); 1067 expect(parameter.isPublic, isTrue);
1066 expect(parameter.isSynthetic, isFalse); 1068 expect(parameter.isSynthetic, isFalse);
1067 expect(parameter.name, parameterName); 1069 expect(parameter.name, parameterName);
1068 } 1070 }
(...skipping 899 matching lines...) Expand 10 before | Expand all | Expand 10 after
1968 expect(parameter.parameterKind, ParameterKind.NAMED); 1970 expect(parameter.parameterKind, ParameterKind.NAMED);
1969 { 1971 {
1970 SourceRange visibleRange = parameter.visibleRange; 1972 SourceRange visibleRange = parameter.visibleRange;
1971 expect(100, visibleRange.offset); 1973 expect(100, visibleRange.offset);
1972 expect(110, visibleRange.end); 1974 expect(110, visibleRange.end);
1973 } 1975 }
1974 expect(parameter.defaultValueCode, "42"); 1976 expect(parameter.defaultValueCode, "42");
1975 FunctionElement initializer = parameter.initializer; 1977 FunctionElement initializer = parameter.initializer;
1976 expect(initializer, isNotNull); 1978 expect(initializer, isNotNull);
1977 expect(initializer.isSynthetic, isTrue); 1979 expect(initializer.isSynthetic, isTrue);
1980 expect(initializer.hasImplicitReturnType, isTrue);
1978 } 1981 }
1979 1982
1980 void test_visitSimpleFormalParameter_noType() { 1983 void test_visitSimpleFormalParameter_noType() {
1981 // p 1984 // p
1982 ElementHolder holder = new ElementHolder(); 1985 ElementHolder holder = new ElementHolder();
1983 ElementBuilder builder = _makeBuilder(holder); 1986 ElementBuilder builder = _makeBuilder(holder);
1984 String parameterName = "p"; 1987 String parameterName = "p";
1985 SimpleFormalParameter formalParameter = 1988 SimpleFormalParameter formalParameter =
1986 AstFactory.simpleFormalParameter3(parameterName); 1989 AstFactory.simpleFormalParameter3(parameterName);
1987 _useParameterInMethod(formalParameter, 100, 110); 1990 _useParameterInMethod(formalParameter, 100, 110);
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
2202 FieldDeclaration fieldDeclaration = 2205 FieldDeclaration fieldDeclaration =
2203 AstFactory.fieldDeclaration2(false, null, [field]); 2206 AstFactory.fieldDeclaration2(false, null, [field]);
2204 fieldDeclaration.accept(builder); 2207 fieldDeclaration.accept(builder);
2205 2208
2206 List<FieldElement> variables = holder.fields; 2209 List<FieldElement> variables = holder.fields;
2207 expect(variables, hasLength(1)); 2210 expect(variables, hasLength(1));
2208 FieldElement fieldElement = variables[0]; 2211 FieldElement fieldElement = variables[0];
2209 expect(fieldElement, isNotNull); 2212 expect(fieldElement, isNotNull);
2210 FunctionElement initializerElement = fieldElement.initializer; 2213 FunctionElement initializerElement = fieldElement.initializer;
2211 expect(initializerElement, isNotNull); 2214 expect(initializerElement, isNotNull);
2215 expect(initializerElement.hasImplicitReturnType, isTrue);
2212 List<FunctionElement> functionElements = initializerElement.functions; 2216 List<FunctionElement> functionElements = initializerElement.functions;
2213 expect(functionElements, hasLength(1)); 2217 expect(functionElements, hasLength(1));
2214 List<LocalVariableElement> variableElements = 2218 List<LocalVariableElement> variableElements =
2215 functionElements[0].localVariables; 2219 functionElements[0].localVariables;
2216 expect(variableElements, hasLength(1)); 2220 expect(variableElements, hasLength(1));
2217 LocalVariableElement variableElement = variableElements[0]; 2221 LocalVariableElement variableElement = variableElements[0];
2218 expect(variableElement.hasImplicitType, isTrue); 2222 expect(variableElement.hasImplicitType, isTrue);
2219 expect(variableElement.isConst, isFalse); 2223 expect(variableElement.isConst, isFalse);
2220 expect(variableElement.isFinal, isFalse); 2224 expect(variableElement.isFinal, isFalse);
2221 expect(variableElement.isSynthetic, isFalse); 2225 expect(variableElement.isSynthetic, isFalse);
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
2255 AstFactory.variableDeclaration2(variableName, AstFactory.integer(42)); 2259 AstFactory.variableDeclaration2(variableName, AstFactory.integer(42));
2256 AstFactory.variableDeclarationList2(Keyword.CONST, [variableDeclaration]); 2260 AstFactory.variableDeclarationList2(Keyword.CONST, [variableDeclaration]);
2257 variableDeclaration.accept(builder); 2261 variableDeclaration.accept(builder);
2258 2262
2259 List<TopLevelVariableElement> variables = holder.topLevelVariables; 2263 List<TopLevelVariableElement> variables = holder.topLevelVariables;
2260 expect(variables, hasLength(1)); 2264 expect(variables, hasLength(1));
2261 TopLevelVariableElement variable = variables[0]; 2265 TopLevelVariableElement variable = variables[0];
2262 expect(variable, new isInstanceOf<ConstTopLevelVariableElementImpl>()); 2266 expect(variable, new isInstanceOf<ConstTopLevelVariableElementImpl>());
2263 expect(variable.initializer, isNotNull); 2267 expect(variable.initializer, isNotNull);
2264 expect(variable.initializer.type, isNotNull); 2268 expect(variable.initializer.type, isNotNull);
2269 expect(variable.initializer.hasImplicitReturnType, isTrue);
2265 expect(variable.name, variableName); 2270 expect(variable.name, variableName);
2266 expect(variable.hasImplicitType, isTrue); 2271 expect(variable.hasImplicitType, isTrue);
2267 expect(variable.isConst, isTrue); 2272 expect(variable.isConst, isTrue);
2268 expect(variable.isFinal, isFalse); 2273 expect(variable.isFinal, isFalse);
2269 expect(variable.isSynthetic, isFalse); 2274 expect(variable.isSynthetic, isFalse);
2270 expect(variable.getter, isNotNull); 2275 expect(variable.getter, isNotNull);
2271 expect(variable.setter, isNull); 2276 expect(variable.setter, isNull);
2272 } 2277 }
2273 2278
2274 void test_visitVariableDeclaration_top_docRange() { 2279 void test_visitVariableDeclaration_top_docRange() {
(...skipping 1824 matching lines...) Expand 10 before | Expand all | Expand 10 after
4099 expect(UriKind.fromEncoding(0x70), same(UriKind.PACKAGE_URI)); 4104 expect(UriKind.fromEncoding(0x70), same(UriKind.PACKAGE_URI));
4100 expect(UriKind.fromEncoding(0x58), same(null)); 4105 expect(UriKind.fromEncoding(0x58), same(null));
4101 } 4106 }
4102 4107
4103 void test_getEncoding() { 4108 void test_getEncoding() {
4104 expect(UriKind.DART_URI.encoding, 0x64); 4109 expect(UriKind.DART_URI.encoding, 0x64);
4105 expect(UriKind.FILE_URI.encoding, 0x66); 4110 expect(UriKind.FILE_URI.encoding, 0x66);
4106 expect(UriKind.PACKAGE_URI.encoding, 0x70); 4111 expect(UriKind.PACKAGE_URI.encoding, 0x70);
4107 } 4112 }
4108 } 4113 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/summary/resynthesize.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698