| Index: pkg/analyzer_experimental/test/generated/test_support.dart
|
| diff --git a/pkg/analyzer_experimental/test/generated/test_support.dart b/pkg/analyzer_experimental/test/generated/test_support.dart
|
| index 6b39ac893947353d6ccb31717997d9358f49bc95..72d98aeecf122c9ae45ee85c1758df066dedc9b6 100644
|
| --- a/pkg/analyzer_experimental/test/generated/test_support.dart
|
| +++ b/pkg/analyzer_experimental/test/generated/test_support.dart
|
| @@ -8,6 +8,7 @@ import 'package:analyzer_experimental/src/generated/java_junit.dart';
|
| import 'package:analyzer_experimental/src/generated/source.dart';
|
| import 'package:analyzer_experimental/src/generated/error.dart';
|
| import 'package:analyzer_experimental/src/generated/scanner.dart';
|
| +import 'package:analyzer_experimental/src/generated/ast.dart' show ASTNode, NodeLocator;
|
| import 'package:analyzer_experimental/src/generated/element.dart' show InterfaceType, MethodElement, PropertyAccessorElement;
|
| import 'package:analyzer_experimental/src/generated/engine.dart' show AnalysisContext, AnalysisContextImpl, RecordingErrorListener;
|
| import 'package:unittest/unittest.dart' as _ut;
|
| @@ -65,6 +66,7 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
|
|
| /**
|
| * Add all of the errors recorded by the given listener to this listener.
|
| + *
|
| * @param listener the listener that has recorded the errors to be added
|
| */
|
| void addAll(RecordingErrorListener listener) {
|
| @@ -77,9 +79,10 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
| * Assert that the number of errors that have been gathered matches the number of errors that are
|
| * given and that they have the expected error codes and locations. The order in which the errors
|
| * were gathered is ignored.
|
| + *
|
| * @param errorCodes the errors that should have been gathered
|
| * @throws AssertionFailedError if a different number of errors have been gathered than were
|
| - * expected or if they do not have the same codes and locations
|
| + * expected or if they do not have the same codes and locations
|
| */
|
| void assertErrors(List<AnalysisError> expectedErrors) {
|
| if (_errors.length != expectedErrors.length) {
|
| @@ -100,9 +103,10 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
| * Assert that the number of errors that have been gathered matches the number of errors that are
|
| * given and that they have the expected error codes. The order in which the errors were gathered
|
| * is ignored.
|
| + *
|
| * @param expectedErrorCodes the error codes of the errors that should have been gathered
|
| * @throws AssertionFailedError if a different number of errors have been gathered than were
|
| - * expected
|
| + * expected
|
| */
|
| void assertErrors2(List<ErrorCode> expectedErrorCodes) {
|
| JavaStringBuilder builder = new JavaStringBuilder();
|
| @@ -184,9 +188,10 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
| * Assert that the number of errors that have been gathered matches the number of severities that
|
| * are given and that there are the same number of errors and warnings as specified by the
|
| * argument. The order in which the errors were gathered is ignored.
|
| + *
|
| * @param expectedSeverities the severities of the errors that should have been gathered
|
| * @throws AssertionFailedError if a different number of errors have been gathered than were
|
| - * expected
|
| + * expected
|
| */
|
| void assertErrors3(List<ErrorSeverity> expectedSeverities) {
|
| int expectedErrorCount = 0;
|
| @@ -214,6 +219,7 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
|
|
| /**
|
| * Assert that no errors have been gathered.
|
| + *
|
| * @throws AssertionFailedError if any errors have been gathered
|
| */
|
| void assertNoErrors() {
|
| @@ -222,6 +228,7 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
|
|
| /**
|
| * Return the errors that were collected.
|
| + *
|
| * @return the errors that were collected
|
| */
|
| List<AnalysisError> get errors => _errors;
|
| @@ -229,6 +236,7 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
| /**
|
| * Return the line information associated with the given source, or `null` if no line
|
| * information has been associated with the source.
|
| + *
|
| * @param source the source with which the line information is associated
|
| * @return the line information associated with the source
|
| */
|
| @@ -236,6 +244,7 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
|
|
| /**
|
| * Return `true` if an error with the given error code has been gathered.
|
| + *
|
| * @param errorCode the error code being searched for
|
| * @return `true` if an error with the given error code has been gathered
|
| */
|
| @@ -250,6 +259,7 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
|
|
| /**
|
| * Return `true` if at least one error has been gathered.
|
| + *
|
| * @return `true` if at least one error has been gathered
|
| */
|
| bool hasErrors() => _errors.length > 0;
|
| @@ -264,6 +274,7 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
|
|
| /**
|
| * Set the line information associated with the given source to the given information.
|
| + *
|
| * @param source the source with which the line information is associated
|
| * @param lineStarts the line start information to be associated with the source
|
| */
|
| @@ -273,6 +284,7 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
|
|
| /**
|
| * Set the line information associated with the given source to the given information.
|
| + *
|
| * @param source the source with which the line information is associated
|
| * @param lineInfo the line information to be associated with the source
|
| */
|
| @@ -282,6 +294,7 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
|
|
| /**
|
| * Return `true` if the two errors are equivalent.
|
| + *
|
| * @param firstError the first error being compared
|
| * @param secondError the second error being compared
|
| * @return `true` if the two errors are equivalent
|
| @@ -290,6 +303,7 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
|
|
| /**
|
| * Return `true` if the two sources are equivalent.
|
| + *
|
| * @param firstSource the first source being compared
|
| * @param secondSource the second source being compared
|
| * @return `true` if the two sources are equivalent
|
| @@ -307,6 +321,7 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
| * Assert that the number of errors that have been gathered matches the number of errors that are
|
| * given and that they have the expected error codes. The order in which the errors were gathered
|
| * is ignored.
|
| + *
|
| * @param errorCodes the errors that should have been gathered
|
| * @throws AssertionFailedError with
|
| */
|
| @@ -348,7 +363,9 @@ class GatheringErrorListener implements AnalysisErrorListener {
|
|
|
| /**
|
| * Search through the given list of errors for an error that is equal to the target error. If one
|
| - * is found, remove it from the list and return `true`, otherwise return `false`without modifying the list.
|
| + * is found, remove it from the list and return `true`, otherwise return `false`
|
| + * without modifying the list.
|
| + *
|
| * @param errors the errors through which we are searching
|
| * @param targetError the error being searched for
|
| * @return `true` if the error is found and removed from the list
|
| @@ -373,6 +390,7 @@ class EngineTestCase extends JUnitTestCase {
|
| * Assert that the tokens in the actual stream of tokens have the same types and lexemes as the
|
| * tokens in the expected stream of tokens. Note that this does not assert anything about the
|
| * offsets of the tokens (although the lengths will be equal).
|
| + *
|
| * @param expectedStream the head of the stream of tokens that were expected
|
| * @param actualStream the head of the stream of tokens that were actually found
|
| * @throws AssertionFailedError if the two streams of tokens are not the same
|
| @@ -390,10 +408,11 @@ class EngineTestCase extends JUnitTestCase {
|
| /**
|
| * Assert that the given array is non-`null` and contains the expected elements. The
|
| * elements can appear in any order.
|
| + *
|
| * @param array the array being tested
|
| * @param expectedElements the expected elements
|
| * @throws AssertionFailedError if the array is `null` or does not contain the expected
|
| - * elements
|
| + * elements
|
| */
|
| static void assertContains(List<Object> array, List<Object> expectedElements) {
|
| int expectedSize = expectedElements.length;
|
| @@ -413,6 +432,7 @@ class EngineTestCase extends JUnitTestCase {
|
| * Assert that the array of actual values contain exactly the same values as those in the array of
|
| * expected value, with the exception that the order of the elements is not required to be the
|
| * same.
|
| + *
|
| * @param expectedValues the values that are expected to be found
|
| * @param actualValues the actual values that are being compared against the expected values
|
| */
|
| @@ -441,6 +461,7 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Assert that a given String is equal to an expected value.
|
| + *
|
| * @param expected the expected String value
|
| * @param actual the actual String value
|
| */
|
| @@ -467,6 +488,7 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Assert that the given list is non-`null` and has exactly expected elements.
|
| + *
|
| * @param list the list being tested
|
| * @param expectedElements the expected elements
|
| * @throws AssertionFailedError if the list is `null` or does not have the expected elements
|
| @@ -490,10 +512,11 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Assert that the given array is non-`null` and has exactly expected elements.
|
| + *
|
| * @param array the array being tested
|
| * @param expectedElements the expected elements
|
| * @throws AssertionFailedError if the array is `null` or does not have the expected
|
| - * elements
|
| + * elements
|
| */
|
| static void assertExactElements2(List<Object> array, List<Object> expectedElements) {
|
| int expectedSize = expectedElements.length;
|
| @@ -514,6 +537,7 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Assert that the given list is non-`null` and has exactly expected elements.
|
| + *
|
| * @param set the list being tested
|
| * @param expectedElements the expected elements
|
| * @throws AssertionFailedError if the list is `null` or does not have the expected elements
|
| @@ -536,6 +560,7 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Assert that the given object is an instance of the expected class.
|
| + *
|
| * @param expectedClass the class that the object is expected to be an instance of
|
| * @param object the object being tested
|
| * @return the object that was being tested
|
| @@ -550,10 +575,11 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Assert that the given array is non-`null` and has the expected number of elements.
|
| + *
|
| * @param expectedLength the expected number of elements
|
| * @param array the array being tested
|
| * @throws AssertionFailedError if the array is `null` or does not have the expected number
|
| - * of elements
|
| + * of elements
|
| */
|
| static void assertLength(int expectedLength, List<Object> array) {
|
| if (array == null) {
|
| @@ -566,6 +592,7 @@ class EngineTestCase extends JUnitTestCase {
|
| /**
|
| * Assert that the actual token has the same type and lexeme as the expected token. Note that this
|
| * does not assert anything about the offsets of the tokens (although the lengths will be equal).
|
| + *
|
| * @param expectedToken the token that was expected
|
| * @param actualToken the token that was found
|
| * @throws AssertionFailedError if the two tokens are not the same
|
| @@ -583,10 +610,11 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Assert that the given list is non-`null` and has the expected number of elements.
|
| + *
|
| * @param expectedSize the expected number of elements
|
| * @param list the list being tested
|
| * @throws AssertionFailedError if the list is `null` or does not have the expected number
|
| - * of elements
|
| + * of elements
|
| */
|
| static void assertSize(int expectedSize, List<Object> list) {
|
| if (list == null) {
|
| @@ -598,10 +626,11 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Assert that the given map is non-`null` and has the expected number of elements.
|
| + *
|
| * @param expectedSize the expected number of elements
|
| * @param map the map being tested
|
| * @throws AssertionFailedError if the map is `null` or does not have the expected number of
|
| - * elements
|
| + * elements
|
| */
|
| static void assertSize2(int expectedSize, Map<Object, Object> map) {
|
| if (map == null) {
|
| @@ -613,10 +642,11 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Assert that the given set is non-`null` and has the expected number of elements.
|
| + *
|
| * @param expectedSize the expected number of elements
|
| * @param set the set being tested
|
| * @throws AssertionFailedError if the set is `null` or does not have the expected number of
|
| - * elements
|
| + * elements
|
| */
|
| static void assertSize3(int expectedSize, Set<Object> set) {
|
| if (set == null) {
|
| @@ -628,6 +658,7 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Convert the given array of lines into a single source string.
|
| + *
|
| * @param lines the lines to be merged into a single source string
|
| * @return the source string composed of the given lines
|
| */
|
| @@ -638,6 +669,18 @@ class EngineTestCase extends JUnitTestCase {
|
| }
|
| return writer.toString();
|
| }
|
| +
|
| + /**
|
| + * @return the [ASTNode] with requested type at offset of the "prefix".
|
| + */
|
| + static ASTNode findNode(ASTNode root, String code, String prefix, Type clazz) {
|
| + int offset = code.indexOf(prefix);
|
| + if (offset == -1) {
|
| + throw new IllegalArgumentException("Not found '${prefix}'.");
|
| + }
|
| + ASTNode node = new NodeLocator.con1(offset).searchWithin(root);
|
| + return node.getAncestor(clazz);
|
| + }
|
| static void assertContains2(List<Object> array, List<bool> found, Object element) {
|
| if (element == null) {
|
| for (int i = 0; i < array.length; i++) {
|
| @@ -664,6 +707,7 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Calculate the offset where the given strings differ.
|
| + *
|
| * @param str1 the first String to compare
|
| * @param str2 the second String to compare
|
| * @return the offset at which the strings differ (or <code>-1</code> if they do not)
|
| @@ -690,6 +734,7 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Return the getter in the given type with the given name. Inherited getters are ignored.
|
| + *
|
| * @param type the type in which the getter is declared
|
| * @param getterName the name of the getter to be returned
|
| * @return the property accessor element representing the getter with the given name
|
| @@ -706,6 +751,7 @@ class EngineTestCase extends JUnitTestCase {
|
|
|
| /**
|
| * Return the method in the given type with the given name. Inherited methods are ignored.
|
| + *
|
| * @param type the type in which the method is declared
|
| * @param methodName the name of the method to be returned
|
| * @return the method element representing the method with the given name
|
|
|