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

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

Issue 2727663005: Fix parseAssignableSelector() tests and parse '?.' with Fasta. (Closed)
Patch Set: Created 3 years, 9 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
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.parser_test; 5 library analyzer.test.generated.parser_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/standard_ast_factory.dart'; 8 import 'package:analyzer/dart/ast/standard_ast_factory.dart';
9 import 'package:analyzer/dart/ast/token.dart'; 9 import 'package:analyzer/dart/ast/token.dart';
10 import 'package:analyzer/dart/ast/visitor.dart'; 10 import 'package:analyzer/dart/ast/visitor.dart';
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
76 /** 76 /**
77 * Prepares to parse using tokens scanned from the given [content] string. 77 * Prepares to parse using tokens scanned from the given [content] string.
78 */ 78 */
79 void createParser(String content); 79 void createParser(String content);
80 80
81 Expression parseAdditiveExpression(String code); 81 Expression parseAdditiveExpression(String code);
82 82
83 Expression parseAssignableExpression(String code, bool primaryAllowed); 83 Expression parseAssignableExpression(String code, bool primaryAllowed);
84 84
85 Expression parseAssignableSelector( 85 Expression parseAssignableSelector(
86 String code, Expression prefix, bool optional, 86 String code, bool optional,
87 {bool allowConditional: true}); 87 {bool allowConditional: true});
88 88
89 AwaitExpression parseAwaitExpression(String code); 89 AwaitExpression parseAwaitExpression(String code);
90 90
91 Expression parseBitwiseAndExpression(String code); 91 Expression parseBitwiseAndExpression(String code);
92 92
93 Expression parseBitwiseOrExpression(String code); 93 Expression parseBitwiseOrExpression(String code);
94 94
95 Expression parseBitwiseXorExpression(String code); 95 Expression parseBitwiseXorExpression(String code);
96 96
(...skipping 4127 matching lines...) Expand 10 before | Expand all | Expand 10 after
4224 expect(expression, isNotNull); 4224 expect(expression, isNotNull);
4225 assertNoErrors(); 4225 assertNoErrors();
4226 var indexExpression = expression as IndexExpression; 4226 var indexExpression = expression as IndexExpression;
4227 expect(indexExpression.target, new isInstanceOf<SuperExpression>()); 4227 expect(indexExpression.target, new isInstanceOf<SuperExpression>());
4228 expect(indexExpression.leftBracket, isNotNull); 4228 expect(indexExpression.leftBracket, isNotNull);
4229 expect(indexExpression.index, isNotNull); 4229 expect(indexExpression.index, isNotNull);
4230 expect(indexExpression.rightBracket, isNotNull); 4230 expect(indexExpression.rightBracket, isNotNull);
4231 } 4231 }
4232 4232
4233 void test_parseAssignableSelector_dot() { 4233 void test_parseAssignableSelector_dot() {
4234 Expression expression = parseAssignableSelector('.x', null, true); 4234 Expression expression = parseAssignableSelector('.x', true);
4235 expect(expression, isNotNull); 4235 expect(expression, isNotNull);
4236 assertNoErrors(); 4236 assertNoErrors();
4237 var propertyAccess = expression as PropertyAccess; 4237 var propertyAccess = expression as PropertyAccess;
4238 expect(propertyAccess.operator.type, TokenType.PERIOD); 4238 expect(propertyAccess.operator.type, TokenType.PERIOD);
4239 expect(propertyAccess.propertyName, isNotNull); 4239 expect(propertyAccess.propertyName, isNotNull);
4240 } 4240 }
4241 4241
4242 void test_parseAssignableSelector_index() { 4242 void test_parseAssignableSelector_index() {
4243 Expression expression = parseAssignableSelector('[x]', null, true); 4243 Expression expression = parseAssignableSelector('[x]', true);
4244 expect(expression, isNotNull); 4244 expect(expression, isNotNull);
4245 assertNoErrors(); 4245 assertNoErrors();
4246 var indexExpression = expression as IndexExpression; 4246 var indexExpression = expression as IndexExpression;
4247 expect(indexExpression.leftBracket, isNotNull); 4247 expect(indexExpression.leftBracket, isNotNull);
4248 expect(indexExpression.index, isNotNull); 4248 expect(indexExpression.index, isNotNull);
4249 expect(indexExpression.rightBracket, isNotNull); 4249 expect(indexExpression.rightBracket, isNotNull);
4250 } 4250 }
4251 4251
4252 void test_parseAssignableSelector_none() { 4252 void test_parseAssignableSelector_none() {
4253 Expression expression = 4253 Expression expression = parseAssignableSelector('', true);
4254 parseAssignableSelector(';', astFactory.simpleIdentifier(null), true);
4255 expect(expression, isNotNull); 4254 expect(expression, isNotNull);
4256 assertNoErrors(); 4255 assertNoErrors();
4257 var identifier = expression as SimpleIdentifier; 4256 var identifier = expression as SimpleIdentifier;
4258 expect(identifier, isNotNull); 4257 expect(identifier, isNotNull);
4259 } 4258 }
4260 4259
4261 void test_parseAssignableSelector_question_dot() { 4260 void test_parseAssignableSelector_question_dot() {
4262 Expression expression = parseAssignableSelector('?.x', null, true); 4261 Expression expression = parseAssignableSelector('?.x', true);
4263 expect(expression, isNotNull); 4262 expect(expression, isNotNull);
4264 assertNoErrors(); 4263 assertNoErrors();
4265 var propertyAccess = expression as PropertyAccess; 4264 var propertyAccess = expression as PropertyAccess;
4266 expect(propertyAccess.operator.type, TokenType.QUESTION_PERIOD); 4265 expect(propertyAccess.operator.type, TokenType.QUESTION_PERIOD);
4267 expect(propertyAccess.propertyName, isNotNull); 4266 expect(propertyAccess.propertyName, isNotNull);
4268 } 4267 }
4269 4268
4270 void test_parseAwaitExpression() { 4269 void test_parseAwaitExpression() {
4271 AwaitExpression expression = parseAwaitExpression('await x;'); 4270 AwaitExpression expression = parseAwaitExpression('await x;');
4272 expect(expression, isNotNull); 4271 expect(expression, isNotNull);
(...skipping 3440 matching lines...) Expand 10 before | Expand all | Expand 10 after
7713 } 7712 }
7714 7713
7715 @override 7714 @override
7716 Expression parseAssignableExpression(String code, bool primaryAllowed) { 7715 Expression parseAssignableExpression(String code, bool primaryAllowed) {
7717 createParser(code); 7716 createParser(code);
7718 return parser.parseAssignableExpression(primaryAllowed); 7717 return parser.parseAssignableExpression(primaryAllowed);
7719 } 7718 }
7720 7719
7721 @override 7720 @override
7722 Expression parseAssignableSelector( 7721 Expression parseAssignableSelector(
7723 String code, Expression prefix, bool optional, 7722 String code, bool optional,
7724 {bool allowConditional: true}) { 7723 {bool allowConditional: true}) {
7724 Expression prefix =
7725 astFactory.simpleIdentifier(new StringToken(TokenType.STRING, 'foo', 0)) ;
7725 createParser(code); 7726 createParser(code);
7726 return parser.parseAssignableSelector(prefix, optional, 7727 return parser.parseAssignableSelector(prefix, optional,
7727 allowConditional: allowConditional); 7728 allowConditional: allowConditional);
7728 } 7729 }
7729 7730
7730 @override 7731 @override
7731 AwaitExpression parseAwaitExpression(String code) { 7732 AwaitExpression parseAwaitExpression(String code) {
7732 createParser(code); 7733 createParser(code);
7733 return parser.parseAwaitExpression(); 7734 return parser.parseAwaitExpression();
7734 } 7735 }
(...skipping 6841 matching lines...) Expand 10 before | Expand all | Expand 10 after
14576 expect(typeAlias.name, isNotNull); 14577 expect(typeAlias.name, isNotNull);
14577 expect(typeAlias.typeParameters, isNull); 14578 expect(typeAlias.typeParameters, isNull);
14578 expect(typeAlias.semicolon, isNotNull); 14579 expect(typeAlias.semicolon, isNotNull);
14579 GenericFunctionType functionType = typeAlias.functionType; 14580 GenericFunctionType functionType = typeAlias.functionType;
14580 expect(functionType, isNotNull); 14581 expect(functionType, isNotNull);
14581 expect(functionType.parameters, isNotNull); 14582 expect(functionType.parameters, isNotNull);
14582 expect(functionType.returnType, isNotNull); 14583 expect(functionType.returnType, isNotNull);
14583 expect(functionType.typeParameters, isNull); 14584 expect(functionType.typeParameters, isNull);
14584 } 14585 }
14585 } 14586 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/generated/parser_fasta_test.dart ('k') | pkg/front_end/lib/src/fasta/analyzer/ast_builder.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698