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

Side by Side Diff: pkg/analyzer/lib/src/generated/incremental_resolution_validator.dart

Issue 975453004: Reformat (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 5 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 | Annotate | Revision Log
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 engine.incremental_resolution_validator; 5 library engine.incremental_resolution_validator;
6 6
7 import 'package:analyzer/src/generated/ast.dart'; 7 import 'package:analyzer/src/generated/ast.dart';
8 import 'package:analyzer/src/generated/element.dart'; 8 import 'package:analyzer/src/generated/element.dart';
9 9
10
11 /** 10 /**
12 * Validates that the [actual] and the [expected] units have the same structure 11 * Validates that the [actual] and the [expected] units have the same structure
13 * and resolution. Throws [IncrementalResolutionMismatch] otherwise. 12 * and resolution. Throws [IncrementalResolutionMismatch] otherwise.
14 */ 13 */
15 void assertSameResolution(CompilationUnit actual, CompilationUnit expected, 14 void assertSameResolution(CompilationUnit actual, CompilationUnit expected,
16 {bool validateTypes: false}) { 15 {bool validateTypes: false}) {
17 _SameResolutionValidator validator = 16 _SameResolutionValidator validator =
18 new _SameResolutionValidator(validateTypes, expected); 17 new _SameResolutionValidator(validateTypes, expected);
19 actual.accept(validator); 18 actual.accept(validator);
20 } 19 }
21 20
22
23 /** 21 /**
24 * This exception is thrown when a mismatch between actual and expected AST 22 * This exception is thrown when a mismatch between actual and expected AST
25 * or resolution is found. 23 * or resolution is found.
26 */ 24 */
27 class IncrementalResolutionMismatch { 25 class IncrementalResolutionMismatch {
28 final String message; 26 final String message;
29 IncrementalResolutionMismatch(this.message); 27 IncrementalResolutionMismatch(this.message);
30 } 28 }
31 29
32
33 class _SameResolutionValidator implements AstVisitor { 30 class _SameResolutionValidator implements AstVisitor {
34 final bool validateTypes; 31 final bool validateTypes;
35 AstNode other; 32 AstNode other;
36 33
37 _SameResolutionValidator(this.validateTypes, this.other); 34 _SameResolutionValidator(this.validateTypes, this.other);
38 35
39 @override 36 @override
40 visitAdjacentStrings(AdjacentStrings node) { 37 visitAdjacentStrings(AdjacentStrings node) {}
41 }
42 38
43 @override 39 @override
44 visitAnnotation(Annotation node) { 40 visitAnnotation(Annotation node) {
45 Annotation other = this.other; 41 Annotation other = this.other;
46 _visitNode(node.name, other.name); 42 _visitNode(node.name, other.name);
47 _visitNode(node.constructorName, other.constructorName); 43 _visitNode(node.constructorName, other.constructorName);
48 _visitNode(node.arguments, other.arguments); 44 _visitNode(node.arguments, other.arguments);
49 _verifyElement(node.element, other.element); 45 _verifyElement(node.element, other.element);
50 } 46 }
51 47
(...skipping 189 matching lines...) Expand 10 before | Expand all | Expand 10 after
241 _visitNode(node.body, other.body); 237 _visitNode(node.body, other.body);
242 } 238 }
243 239
244 @override 240 @override
245 visitDoubleLiteral(DoubleLiteral node) { 241 visitDoubleLiteral(DoubleLiteral node) {
246 DoubleLiteral other = this.other; 242 DoubleLiteral other = this.other;
247 _visitExpression(node, other); 243 _visitExpression(node, other);
248 } 244 }
249 245
250 @override 246 @override
251 visitEmptyFunctionBody(EmptyFunctionBody node) { 247 visitEmptyFunctionBody(EmptyFunctionBody node) {}
252 }
253 248
254 @override 249 @override
255 visitEmptyStatement(EmptyStatement node) { 250 visitEmptyStatement(EmptyStatement node) {}
256 }
257 251
258 @override 252 @override
259 visitEnumConstantDeclaration(EnumConstantDeclaration node) { 253 visitEnumConstantDeclaration(EnumConstantDeclaration node) {
260 EnumConstantDeclaration other = this.other; 254 EnumConstantDeclaration other = this.other;
261 _visitDeclaration(node, other); 255 _visitDeclaration(node, other);
262 _visitNode(node.name, other.name); 256 _visitNode(node.name, other.name);
263 } 257 }
264 258
265 @override 259 @override
266 visitEnumDeclaration(EnumDeclaration node) { 260 visitEnumDeclaration(EnumDeclaration node) {
(...skipping 171 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 _visitExpression(node, other); 432 _visitExpression(node, other);
439 } 433 }
440 434
441 @override 435 @override
442 visitInterpolationExpression(InterpolationExpression node) { 436 visitInterpolationExpression(InterpolationExpression node) {
443 InterpolationExpression other = this.other; 437 InterpolationExpression other = this.other;
444 _visitNode(node.expression, other.expression); 438 _visitNode(node.expression, other.expression);
445 } 439 }
446 440
447 @override 441 @override
448 visitInterpolationString(InterpolationString node) { 442 visitInterpolationString(InterpolationString node) {}
449 }
450 443
451 @override 444 @override
452 visitIsExpression(IsExpression node) { 445 visitIsExpression(IsExpression node) {
453 IsExpression other = this.other; 446 IsExpression other = this.other;
454 _visitExpression(node, other); 447 _visitExpression(node, other);
455 _visitNode(node.expression, other.expression); 448 _visitNode(node.expression, other.expression);
456 _visitNode(node.type, other.type); 449 _visitNode(node.type, other.type);
457 } 450 }
458 451
459 @override 452 @override
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
521 } 514 }
522 515
523 @override 516 @override
524 visitNamedExpression(NamedExpression node) { 517 visitNamedExpression(NamedExpression node) {
525 NamedExpression other = this.other; 518 NamedExpression other = this.other;
526 _visitNode(node.name, other.name); 519 _visitNode(node.name, other.name);
527 _visitNode(node.expression, other.expression); 520 _visitNode(node.expression, other.expression);
528 } 521 }
529 522
530 @override 523 @override
531 visitNativeClause(NativeClause node) { 524 visitNativeClause(NativeClause node) {}
532 }
533 525
534 @override 526 @override
535 visitNativeFunctionBody(NativeFunctionBody node) { 527 visitNativeFunctionBody(NativeFunctionBody node) {}
536 }
537 528
538 @override 529 @override
539 visitNullLiteral(NullLiteral node) { 530 visitNullLiteral(NullLiteral node) {
540 NullLiteral other = this.other; 531 NullLiteral other = this.other;
541 _visitExpression(node, other); 532 _visitExpression(node, other);
542 } 533 }
543 534
544 @override 535 @override
545 visitParenthesizedExpression(ParenthesizedExpression node) { 536 visitParenthesizedExpression(ParenthesizedExpression node) {
546 ParenthesizedExpression other = this.other; 537 ParenthesizedExpression other = this.other;
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
608 _visitExpression(node, other); 599 _visitExpression(node, other);
609 } 600 }
610 601
611 @override 602 @override
612 visitReturnStatement(ReturnStatement node) { 603 visitReturnStatement(ReturnStatement node) {
613 ReturnStatement other = this.other; 604 ReturnStatement other = this.other;
614 _visitNode(node.expression, other.expression); 605 _visitNode(node.expression, other.expression);
615 } 606 }
616 607
617 @override 608 @override
618 visitScriptTag(ScriptTag node) { 609 visitScriptTag(ScriptTag node) {}
619 }
620 610
621 @override 611 @override
622 visitShowCombinator(ShowCombinator node) { 612 visitShowCombinator(ShowCombinator node) {
623 ShowCombinator other = this.other; 613 ShowCombinator other = this.other;
624 _visitList(node.shownNames, other.shownNames); 614 _visitList(node.shownNames, other.shownNames);
625 } 615 }
626 616
627 @override 617 @override
628 visitSimpleFormalParameter(SimpleFormalParameter node) { 618 visitSimpleFormalParameter(SimpleFormalParameter node) {
629 SimpleFormalParameter other = this.other; 619 SimpleFormalParameter other = this.other;
630 _visitNormalFormalParameter(node, other); 620 _visitNormalFormalParameter(node, other);
631 _visitNode(node.type, other.type); 621 _visitNode(node.type, other.type);
632 } 622 }
633 623
634 @override 624 @override
635 visitSimpleIdentifier(SimpleIdentifier node) { 625 visitSimpleIdentifier(SimpleIdentifier node) {
636 SimpleIdentifier other = this.other; 626 SimpleIdentifier other = this.other;
637 _verifyElement(node.staticElement, other.staticElement); 627 _verifyElement(node.staticElement, other.staticElement);
638 _verifyElement(node.propagatedElement, other.propagatedElement); 628 _verifyElement(node.propagatedElement, other.propagatedElement);
639 _visitExpression(node, other); 629 _visitExpression(node, other);
640 } 630 }
641 631
642 @override 632 @override
643 visitSimpleStringLiteral(SimpleStringLiteral node) { 633 visitSimpleStringLiteral(SimpleStringLiteral node) {}
644 }
645 634
646 @override 635 @override
647 visitStringInterpolation(StringInterpolation node) { 636 visitStringInterpolation(StringInterpolation node) {
648 StringInterpolation other = this.other; 637 StringInterpolation other = this.other;
649 _visitList(node.elements, other.elements); 638 _visitList(node.elements, other.elements);
650 } 639 }
651 640
652 @override 641 @override
653 visitSuperConstructorInvocation(SuperConstructorInvocation node) { 642 visitSuperConstructorInvocation(SuperConstructorInvocation node) {
654 SuperConstructorInvocation other = this.other; 643 SuperConstructorInvocation other = this.other;
(...skipping 23 matching lines...) Expand all
678 } 667 }
679 668
680 @override 669 @override
681 visitSwitchStatement(SwitchStatement node) { 670 visitSwitchStatement(SwitchStatement node) {
682 SwitchStatement other = this.other; 671 SwitchStatement other = this.other;
683 _visitNode(node.expression, other.expression); 672 _visitNode(node.expression, other.expression);
684 _visitList(node.members, other.members); 673 _visitList(node.members, other.members);
685 } 674 }
686 675
687 @override 676 @override
688 visitSymbolLiteral(SymbolLiteral node) { 677 visitSymbolLiteral(SymbolLiteral node) {}
689 }
690 678
691 @override 679 @override
692 visitThisExpression(ThisExpression node) { 680 visitThisExpression(ThisExpression node) {
693 ThisExpression other = this.other; 681 ThisExpression other = this.other;
694 _visitExpression(node, other); 682 _visitExpression(node, other);
695 } 683 }
696 684
697 @override 685 @override
698 visitThrowExpression(ThrowExpression node) { 686 visitThrowExpression(ThrowExpression node) {
699 ThrowExpression other = this.other; 687 ThrowExpression other = this.other;
(...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after
887 void _visitNode(AstNode node, AstNode other) { 875 void _visitNode(AstNode node, AstNode other) {
888 if (node == null) { 876 if (node == null) {
889 _expectIsNull(other); 877 _expectIsNull(other);
890 } else { 878 } else {
891 this.other = other; 879 this.other = other;
892 _assertNode(node, other); 880 _assertNode(node, other);
893 node.accept(this); 881 node.accept(this);
894 } 882 }
895 } 883 }
896 884
897 void _visitNormalFormalParameter(NormalFormalParameter node, 885 void _visitNormalFormalParameter(
898 NormalFormalParameter other) { 886 NormalFormalParameter node, NormalFormalParameter other) {
899 _verifyElement(node.element, other.element); 887 _verifyElement(node.element, other.element);
900 _visitNode(node.documentationComment, other.documentationComment); 888 _visitNode(node.documentationComment, other.documentationComment);
901 _visitList(node.metadata, other.metadata); 889 _visitList(node.metadata, other.metadata);
902 _visitNode(node.identifier, other.identifier); 890 _visitNode(node.identifier, other.identifier);
903 } 891 }
904 892
905 /** 893 /**
906 * Returns an URI scheme independent version of the [element] location. 894 * Returns an URI scheme independent version of the [element] location.
907 */ 895 */
908 static String _getElementLocationWithoutUri(Element element) { 896 static String _getElementLocationWithoutUri(Element element) {
909 if (element == null) { 897 if (element == null) {
910 return '<null>'; 898 return '<null>';
911 } 899 }
912 if (element is UriReferencedElementImpl) { 900 if (element is UriReferencedElementImpl) {
913 return '<ignored>'; 901 return '<ignored>';
914 } 902 }
915 ElementLocation location = element.location; 903 ElementLocation location = element.location;
916 List<String> components = location.components; 904 List<String> components = location.components;
917 String uriPrefix = ''; 905 String uriPrefix = '';
918 Element unit = element is CompilationUnitElement ? 906 Element unit = element is CompilationUnitElement
919 element : 907 ? element
920 element.getAncestor((e) => e is CompilationUnitElement); 908 : element.getAncestor((e) => e is CompilationUnitElement);
921 if (unit != null) { 909 if (unit != null) {
922 String libComponent = components[0]; 910 String libComponent = components[0];
923 String unitComponent = components[1]; 911 String unitComponent = components[1];
924 components = components.sublist(2); 912 components = components.sublist(2);
925 uriPrefix = _getShortElementLocationUri(libComponent) + 913 uriPrefix = _getShortElementLocationUri(libComponent) +
926 ':' + 914 ':' +
927 _getShortElementLocationUri(unitComponent); 915 _getShortElementLocationUri(unitComponent);
928 } else { 916 } else {
929 String libComponent = components[0]; 917 String libComponent = components[0];
930 components = components.sublist(1); 918 components = components.sublist(1);
(...skipping 10 matching lines...) Expand all
941 * package:project/my_lib.dart -> my_lib.dart 929 * package:project/my_lib.dart -> my_lib.dart
942 */ 930 */
943 static String _getShortElementLocationUri(String uri) { 931 static String _getShortElementLocationUri(String uri) {
944 int index = uri.lastIndexOf('/'); 932 int index = uri.lastIndexOf('/');
945 if (index == -1) { 933 if (index == -1) {
946 return uri; 934 return uri;
947 } 935 }
948 return uri.substring(index + 1); 936 return uri.substring(index + 1);
949 } 937 }
950 } 938 }
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/generated/incremental_logger.dart ('k') | pkg/analyzer/lib/src/generated/incremental_resolver.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698