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

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

Issue 2709783003: Parse optional and named parameters. (Closed)
Patch Set: Created 3 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
OLDNEW
1 // Copyright (c) 2017, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2017, 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:analyzer/dart/ast/ast.dart'; 5 import 'package:analyzer/dart/ast/ast.dart';
6 import 'package:analyzer/dart/element/element.dart'; 6 import 'package:analyzer/dart/element/element.dart';
7 import 'package:analyzer/error/error.dart'; 7 import 'package:analyzer/error/error.dart';
8 import 'package:analyzer/src/generated/parser.dart' as analyzer; 8 import 'package:analyzer/src/generated/parser.dart' as analyzer;
9 import 'package:analyzer/src/generated/utilities_dart.dart'; 9 import 'package:analyzer/src/generated/utilities_dart.dart';
10 import 'package:front_end/src/fasta/analyzer/ast_builder.dart'; 10 import 'package:front_end/src/fasta/analyzer/ast_builder.dart';
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
326 @override 326 @override
327 Expression parseExpression(String source, 327 Expression parseExpression(String source,
328 [List<ErrorCode> errorCodes = const <ErrorCode>[]]) { 328 [List<ErrorCode> errorCodes = const <ErrorCode>[]]) {
329 return _runParser(source, (parser) => parser.parseExpression, errorCodes) 329 return _runParser(source, (parser) => parser.parseExpression, errorCodes)
330 as Expression; 330 as Expression;
331 } 331 }
332 332
333 @override 333 @override
334 FormalParameter parseFormalParameter(String code, ParameterKind kind, 334 FormalParameter parseFormalParameter(String code, ParameterKind kind,
335 {List<ErrorCode> errorCodes: const <ErrorCode>[]}) { 335 {List<ErrorCode> errorCodes: const <ErrorCode>[]}) {
336 fasta.FormalParameterType type; 336 String parametersCode;
337 if (kind == ParameterKind.REQUIRED) { 337 if (kind == ParameterKind.REQUIRED) {
338 type = fasta.FormalParameterType.REQUIRED; 338 parametersCode = '($code)';
339 } else if (kind == ParameterKind.POSITIONAL) { 339 } else if (kind == ParameterKind.POSITIONAL) {
340 type = fasta.FormalParameterType.POSITIONAL; 340 parametersCode = '([$code])';
341 } else if (kind == ParameterKind.NAMED) { 341 } else if (kind == ParameterKind.NAMED) {
342 type = fasta.FormalParameterType.NAMED; 342 parametersCode = '({$code})';
343 } else { 343 } else {
344 fail('$kind'); 344 fail('$kind');
345 } 345 }
346 return _runParser( 346 FormalParameterList list = parseFormalParameterList(parametersCode,
347 code, 347 inFunctionType: false, errorCodes: errorCodes);
348 (parser) => (token) => parser.parseFormalParameter(token, type), 348 return list.parameters.single;
349 errorCodes) as FormalParameter;
350 } 349 }
351 350
352 @override 351 @override
353 FormalParameterList parseFormalParameterList(String code, 352 FormalParameterList parseFormalParameterList(String code,
354 {bool inFunctionType: false, 353 {bool inFunctionType: false,
355 List<ErrorCode> errorCodes: const <ErrorCode>[]}) { 354 List<ErrorCode> errorCodes: const <ErrorCode>[]}) {
356 return _runParser( 355 return _runParser(
357 code, (parser) => parser.parseFormalParameters, errorCodes) 356 code, (parser) => parser.parseFormalParameters, errorCodes)
358 as FormalParameterList; 357 as FormalParameterList;
359 } 358 }
(...skipping 180 matching lines...) Expand 10 before | Expand all | Expand 10 after
540 539
541 @override 540 @override
542 @failingTest 541 @failingTest
543 void test_parseFormalParameter_type_function() { 542 void test_parseFormalParameter_type_function() {
544 // TODO(scheglov): Unhandled event: FunctionTypedFormalParameter 543 // TODO(scheglov): Unhandled event: FunctionTypedFormalParameter
545 super.test_parseFormalParameter_type_function(); 544 super.test_parseFormalParameter_type_function();
546 } 545 }
547 546
548 @override 547 @override
549 @failingTest 548 @failingTest
550 void test_parseFormalParameter_type_named() {
551 // TODO(scheglov): Unhandled event: ValuedFormalParameter
552 super.test_parseFormalParameter_type_named();
553 }
554
555 @override
556 @failingTest
557 void test_parseFormalParameter_type_positional() {
558 // TODO(scheglov): Unhandled event: ValuedFormalParameter
559 super.test_parseFormalParameter_type_positional();
560 }
561
562 @override
563 @failingTest
564 void test_parseFormalParameter_var_named() { 549 void test_parseFormalParameter_var_named() {
565 // TODO(scheglov): Unhandled event: ValuedFormalParameter 550 // TODO(scheglov): Unhandled event: ValuedFormalParameter
566 super.test_parseFormalParameter_var_named(); 551 super.test_parseFormalParameter_var_named();
567 } 552 }
568 553
569 @override 554 @override
570 @failingTest 555 @failingTest
571 void test_parseFormalParameter_var_normal() { 556 void test_parseFormalParameter_var_normal() {
572 // TODO(scheglov): parse var 557 // TODO(scheglov): parse var
573 super.test_parseFormalParameter_var_normal(); 558 super.test_parseFormalParameter_var_normal();
(...skipping 765 matching lines...) Expand 10 before | Expand all | Expand 10 after
1339 void test_parseTypeAlias_genericFunction_typeParameters_voidReturnType() { 1324 void test_parseTypeAlias_genericFunction_typeParameters_voidReturnType() {
1340 super.test_parseTypeAlias_genericFunction_typeParameters_voidReturnType(); 1325 super.test_parseTypeAlias_genericFunction_typeParameters_voidReturnType();
1341 } 1326 }
1342 1327
1343 @override 1328 @override
1344 @failingTest 1329 @failingTest
1345 void test_parseTypeAlias_genericFunction_voidReturnType() { 1330 void test_parseTypeAlias_genericFunction_voidReturnType() {
1346 super.test_parseTypeAlias_genericFunction_voidReturnType(); 1331 super.test_parseTypeAlias_genericFunction_voidReturnType();
1347 } 1332 }
1348 } 1333 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698