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

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

Issue 2282233002: Add support for parsing, but not capturing, assers in constructor initializer lists (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: Created 4 years, 3 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/token.dart'; 8 import 'package:analyzer/dart/ast/token.dart';
9 import 'package:analyzer/dart/ast/visitor.dart'; 9 import 'package:analyzer/dart/ast/visitor.dart';
10 import 'package:analyzer/src/dart/ast/token.dart'; 10 import 'package:analyzer/src/dart/ast/token.dart';
(...skipping 7076 matching lines...) Expand 10 before | Expand all | Expand 10 after
7087 } 7087 }
7088 7088
7089 void test_parseConstructor() { 7089 void test_parseConstructor() {
7090 // TODO(brianwilkerson) Implement tests for this method. 7090 // TODO(brianwilkerson) Implement tests for this method.
7091 // parse("parseConstructor", new Class[] {Parser.CommentAndMetadata.class, 7091 // parse("parseConstructor", new Class[] {Parser.CommentAndMetadata.class,
7092 // Token.class, Token.class, SimpleIdentifier.class, Token.class, 7092 // Token.class, Token.class, SimpleIdentifier.class, Token.class,
7093 // SimpleIdentifier.class, FormalParameterList.class}, new Object[] {empt yCommentAndMetadata(), 7093 // SimpleIdentifier.class, FormalParameterList.class}, new Object[] {empt yCommentAndMetadata(),
7094 // null, null, null, null, null, null}, ""); 7094 // null, null, null, null, null, null}, "");
7095 } 7095 }
7096 7096
7097 void test_parseConstructor_assert() {
7098 ClassMember classMember = parse("parseClassMember", <Object>["C"],
7099 "C(x, y) : _x = x, assert (x < y), _y = y;");
7100 expect(classMember, new isInstanceOf<ConstructorDeclaration>());
7101 ConstructorDeclaration constructor = classMember as ConstructorDeclaration;
7102 NodeList<ConstructorInitializer> initializers = constructor.initializers;
7103 expect(initializers, hasLength(2));
7104 }
7105
7097 void test_parseConstructor_with_pseudo_function_literal() { 7106 void test_parseConstructor_with_pseudo_function_literal() {
7098 // "(b) {}" should not be misinterpreted as a function literal even though 7107 // "(b) {}" should not be misinterpreted as a function literal even though
7099 // it looks like one. 7108 // it looks like one.
7100 ClassMember classMember = 7109 ClassMember classMember =
7101 parse("parseClassMember", <Object>["C"], "C() : a = (b) {}"); 7110 parse("parseClassMember", <Object>["C"], "C() : a = (b) {}");
7102 EngineTestCase.assertInstanceOf((obj) => obj is ConstructorDeclaration, 7111 EngineTestCase.assertInstanceOf((obj) => obj is ConstructorDeclaration,
7103 ConstructorDeclaration, classMember); 7112 ConstructorDeclaration, classMember);
7104 ConstructorDeclaration constructor = classMember as ConstructorDeclaration; 7113 ConstructorDeclaration constructor = classMember as ConstructorDeclaration;
7105 NodeList<ConstructorInitializer> initializers = constructor.initializers; 7114 NodeList<ConstructorInitializer> initializers = constructor.initializers;
7106 expect(initializers, hasLength(1)); 7115 expect(initializers, hasLength(1));
(...skipping 4223 matching lines...) Expand 10 before | Expand all | Expand 10 after
11330 new Scanner(null, new CharSequenceReader(source), listener); 11339 new Scanner(null, new CharSequenceReader(source), listener);
11331 Token tokenStream = scanner.tokenize(); 11340 Token tokenStream = scanner.tokenize();
11332 // 11341 //
11333 // Parse the source. 11342 // Parse the source.
11334 // 11343 //
11335 Parser parser = new Parser(null, listener); 11344 Parser parser = new Parser(null, listener);
11336 return invokeParserMethodImpl( 11345 return invokeParserMethodImpl(
11337 parser, methodName, <Object>[tokenStream], tokenStream) as Token; 11346 parser, methodName, <Object>[tokenStream], tokenStream) as Token;
11338 } 11347 }
11339 } 11348 }
OLDNEW
« pkg/analyzer/lib/src/generated/parser.dart ('K') | « pkg/analyzer/lib/src/generated/parser.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698