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

Unified Diff: pkg/analyzer/lib/src/generated/incremental_resolution_validator.dart

Issue 2968473002: Remove incremental: logger, validator, options. (Closed)
Patch Set: Created 3 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: pkg/analyzer/lib/src/generated/incremental_resolution_validator.dart
diff --git a/pkg/analyzer/lib/src/generated/incremental_resolution_validator.dart b/pkg/analyzer/lib/src/generated/incremental_resolution_validator.dart
deleted file mode 100644
index b25f241ab09df04ec9badaef611cb70a380e1996..0000000000000000000000000000000000000000
--- a/pkg/analyzer/lib/src/generated/incremental_resolution_validator.dart
+++ /dev/null
@@ -1,207 +0,0 @@
-// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-library analyzer.src.generated.incremental_resolution_validator;
-
-import 'package:analyzer/dart/ast/ast.dart';
-import 'package:analyzer/dart/ast/token.dart';
-import 'package:analyzer/dart/element/element.dart';
-import 'package:analyzer/dart/element/type.dart';
-import 'package:analyzer/src/dart/ast/utilities.dart';
-import 'package:analyzer/src/dart/element/element.dart';
-import 'package:analyzer/src/dart/element/member.dart';
-
-/**
- * Validates that the [actual] and the [expected] units have the same structure
- * and resolution. Throws [IncrementalResolutionMismatch] otherwise.
- */
-void assertSameResolution(CompilationUnit actual, CompilationUnit expected,
- {bool validateTypes: false}) {
- _SameResolutionValidator validator =
- new _SameResolutionValidator(validateTypes);
- validator.isEqualNodes(expected, actual);
-}
-
-/**
- * This exception is thrown when a mismatch between actual and expected AST
- * or resolution is found.
- */
-class IncrementalResolutionMismatch {
- final String message;
- IncrementalResolutionMismatch(this.message);
-
- @override
- String toString() => "IncrementalResolutionMismatch: $message";
-}
-
-/**
- * An [AstVisitor] that compares the structure of two [AstNode]s and their
- * resolution to see whether they are equal.
- */
-class _SameResolutionValidator extends AstComparator {
- final bool validateTypes;
-
- _SameResolutionValidator(this.validateTypes);
-
- @override
- bool failDifferentLength(List expectedList, List actualList) {
- int expectedLength = expectedList.length;
- int actualLength = actualList.length;
- String message = '';
- message += 'Expected length: $expectedLength\n';
- message += 'but $actualLength found\n';
- message += 'in $actualList';
- _fail(message);
- return false;
- }
-
- @override
- bool failIfNotNull(Object expected, Object actual) {
- if (actual != null) {
- _fail('Expected null, but found $actual');
- return false;
- }
- return true;
- }
-
- @override
- bool failIsNull(Object expected, Object actual) {
- _fail('Expected not null, but found null');
- return false;
- }
-
- @override
- bool failRuntimeType(Object expected, Object actual) {
- _fail('Expected ${expected.runtimeType}, but found ${actual.runtimeType}');
- return false;
- }
-
- @override
- bool isEqualNodes(AstNode first, AstNode second) {
- super.isEqualNodes(first, second);
- if (first is SimpleIdentifier && second is SimpleIdentifier) {
- int offset = first.offset;
- _verifyElement(
- first.staticElement, second.staticElement, 'staticElement[$offset]');
- _verifyElement(first.propagatedElement, second.propagatedElement,
- 'propagatedElement[$offset]');
- } else if (first is Declaration && second is Declaration) {
- int offset = first.offset;
- _verifyElement(first.element, second.element, 'declaration[$offset]');
- } else if (first is Directive && second is Directive) {
- int offset = first.offset;
- _verifyElement(first.element, second.element, 'directive[$offset]');
- } else if (first is Expression && second is Expression) {
- int offset = first.offset;
- _verifyType(first.staticType, second.staticType, 'staticType[$offset]');
- _verifyType(first.propagatedType, second.propagatedType,
- 'propagatedType[$offset]');
- _verifyElement(first.staticParameterElement,
- second.staticParameterElement, 'staticParameterElement[$offset]');
- _verifyElement(
- first.propagatedParameterElement,
- second.propagatedParameterElement,
- 'propagatedParameterElement[$offset]');
- }
- return true;
- }
-
- @override
- bool isEqualTokensNotNull(Token expected, Token actual) {
- _verifyEqual('lexeme', expected.lexeme, actual.lexeme);
- _verifyEqual('offset', expected.offset, actual.offset);
- _verifyEqual('offset', expected.length, actual.length);
- return true;
- }
-
- void _fail(String message) {
- throw new IncrementalResolutionMismatch(message);
- }
-
- void _verifyElement(Element a, Element b, String desc) {
- if (a is Member && b is Member) {
- a = (a as Member).baseElement;
- b = (b as Member).baseElement;
- }
- String locationA = _getElementLocationWithoutUri(a);
- String locationB = _getElementLocationWithoutUri(b);
- if (locationA != locationB) {
- _fail('$desc\nExpected: $b ($locationB)\n Actual: $a ($locationA)');
- }
- if (a == null && b == null) {
- return;
- }
- _verifyEqual('nameOffset', a.nameOffset, b.nameOffset);
- if (a is ElementImpl && b is ElementImpl) {
- _verifyEqual('codeOffset', a.codeOffset, b.codeOffset);
- _verifyEqual('codeLength', a.codeLength, b.codeLength);
- }
- if (a is LocalElement && b is LocalElement) {
- _verifyEqual('visibleRange', a.visibleRange, b.visibleRange);
- }
- _verifyEqual(
- 'documentationComment', a.documentationComment, b.documentationComment);
- }
-
- void _verifyEqual(String name, actual, expected) {
- if (actual != expected) {
- _fail('$name\nExpected: $expected\n Actual: $actual');
- }
- }
-
- void _verifyType(DartType a, DartType b, String desc) {
- if (!validateTypes) {
- return;
- }
- if (a != b) {
- _fail('$desc\nExpected: $b\n Actual: $a');
- }
- }
-
- /**
- * Returns an URI scheme independent version of the [element] location.
- */
- static String _getElementLocationWithoutUri(Element element) {
- if (element == null) {
- return '<null>';
- }
- if (element is UriReferencedElementImpl) {
- return '<ignored>';
- }
- ElementLocation location = element.location;
- List<String> components = location.components;
- String uriPrefix = '';
- Element unit = element is CompilationUnitElement
- ? element
- : element.getAncestor((e) => e is CompilationUnitElement);
- if (unit != null) {
- String libComponent = components[0];
- String unitComponent = components[1];
- components = components.sublist(2);
- uriPrefix = _getShortElementLocationUri(libComponent) +
- ':' +
- _getShortElementLocationUri(unitComponent);
- } else {
- String libComponent = components[0];
- components = components.sublist(1);
- uriPrefix = _getShortElementLocationUri(libComponent);
- }
- return uriPrefix + ':' + components.join(':');
- }
-
- /**
- * Returns a "short" version of the given [uri].
- *
- * For example:
- * /User/me/project/lib/my_lib.dart -> my_lib.dart
- * package:project/my_lib.dart -> my_lib.dart
- */
- static String _getShortElementLocationUri(String uri) {
- int index = uri.lastIndexOf('/');
- if (index == -1) {
- return uri;
- }
- return uri.substring(index + 1);
- }
-}
« no previous file with comments | « pkg/analyzer/lib/src/generated/incremental_logger.dart ('k') | pkg/analyzer/test/generated/engine_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698