Index: pkg/analyzer_experimental/test/generated/resolver_test.dart |
diff --git a/pkg/analyzer-experimental/test/generated/resolver_test.dart b/pkg/analyzer_experimental/test/generated/resolver_test.dart |
similarity index 98% |
rename from pkg/analyzer-experimental/test/generated/resolver_test.dart |
rename to pkg/analyzer_experimental/test/generated/resolver_test.dart |
index 3567e4c3742b0aa93108321dcb173799aa1505ff..e1343b46a3dd5e17b811f946fea6cb6ff6a8346e 100644 |
--- a/pkg/analyzer-experimental/test/generated/resolver_test.dart |
+++ b/pkg/analyzer_experimental/test/generated/resolver_test.dart |
@@ -4,18 +4,18 @@ |
library engine.resolver_test; |
import 'dart:collection'; |
-import 'package:analyzer-experimental/src/generated/java_core.dart'; |
-import 'package:analyzer-experimental/src/generated/java_engine.dart'; |
-import 'package:analyzer-experimental/src/generated/java_junit.dart'; |
-import 'package:analyzer-experimental/src/generated/source_io.dart'; |
-import 'package:analyzer-experimental/src/generated/error.dart'; |
-import 'package:analyzer-experimental/src/generated/scanner.dart'; |
-import 'package:analyzer-experimental/src/generated/element.dart'; |
-import 'package:analyzer-experimental/src/generated/resolver.dart'; |
-import 'package:analyzer-experimental/src/generated/engine.dart'; |
-import 'package:analyzer-experimental/src/generated/java_engine_io.dart'; |
-import 'package:analyzer-experimental/src/generated/ast.dart' hide Annotation; |
-import 'package:analyzer-experimental/src/generated/sdk.dart' show DartSdk; |
+import 'package:analyzer_experimental/src/generated/java_core.dart'; |
+import 'package:analyzer_experimental/src/generated/java_engine.dart'; |
+import 'package:analyzer_experimental/src/generated/java_junit.dart'; |
+import 'package:analyzer_experimental/src/generated/source_io.dart'; |
+import 'package:analyzer_experimental/src/generated/error.dart'; |
+import 'package:analyzer_experimental/src/generated/scanner.dart'; |
+import 'package:analyzer_experimental/src/generated/element.dart'; |
+import 'package:analyzer_experimental/src/generated/resolver.dart'; |
+import 'package:analyzer_experimental/src/generated/engine.dart'; |
+import 'package:analyzer_experimental/src/generated/java_engine_io.dart'; |
+import 'package:analyzer_experimental/src/generated/ast.dart' hide Annotation; |
+import 'package:analyzer_experimental/src/generated/sdk.dart' show DartSdk; |
import 'package:unittest/unittest.dart' as _ut; |
import 'test_support.dart'; |
import 'ast_test.dart' show ASTFactory; |
@@ -915,12 +915,6 @@ class CompileTimeErrorCodeTest extends ResolverTestCase { |
assertErrors([CompileTimeErrorCode.AMBIGUOUS_IMPORT]); |
verify([source]); |
} |
- void fail_caseExpressionTypeImplementsEquals() { |
- Source source = addSource("/test.dart", EngineTestCase.createSource(["class IntWrapper {", " final int value;", " const IntWrapper(this.value);", " bool operator ==(IntWrapper x) {", " return value == x.value;", " }", "}", "", "f(IntWrapper a) {", " switch(a) {", " case(const IntWrapper(1)) : return 1;", " default: return 0;", " }", "}"])); |
- resolve(source, []); |
- assertErrors([CompileTimeErrorCode.CASE_EXPRESSION_TYPE_IMPLEMENTS_EQUALS]); |
- verify([source]); |
- } |
void fail_compileTimeConstantRaisesException() { |
Source source = addSource("/test.dart", EngineTestCase.createSource([])); |
resolve(source, []); |
@@ -933,12 +927,6 @@ class CompileTimeErrorCodeTest extends ResolverTestCase { |
assertErrors([CompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION]); |
verify([source]); |
} |
- void fail_constWithNonConst() { |
- Source source = addSource("/test.dart", EngineTestCase.createSource(["class T {", " T(a, b, {c, d}) {};", "}", "f() { return const T(0, 1, c: 2, d: 3); }"])); |
- resolve(source, []); |
- assertErrors([CompileTimeErrorCode.CONST_WITH_NON_CONST]); |
- verify([source]); |
- } |
void fail_constWithNonConstantArgument() { |
Source source = addSource("/test.dart", EngineTestCase.createSource(["class T {", " T(a) {};", "}", "f(p) { return const T(p); }"])); |
resolve(source, []); |
@@ -1327,12 +1315,6 @@ class CompileTimeErrorCodeTest extends ResolverTestCase { |
assertErrors([CompileTimeErrorCode.NON_CONSTANT_DEFAULT_VALUE]); |
verify([source]); |
} |
- void fail_nonConstCaseExpression() { |
- Source source = addSource("/test.dart", EngineTestCase.createSource(["f(int p) {", " switch (p) {", " case 3 + 4:", " break;", " }", "}"])); |
- resolve(source, []); |
- assertErrors([CompileTimeErrorCode.NON_CONSTANT_CASE_EXPRESSION]); |
- verify([source]); |
- } |
void fail_nonConstMapAsExpressionStatement() { |
Source source = addSource("/test.dart", EngineTestCase.createSource(["f() {", " {'a' : 0, 'b' : 1};", "}"])); |
resolve(source, []); |
@@ -1640,6 +1622,12 @@ class CompileTimeErrorCodeTest extends ResolverTestCase { |
assertErrors([CompileTimeErrorCode.BUILT_IN_IDENTIFIER_AS_TYPE_VARIABLE_NAME]); |
verify([source]); |
} |
+ void test_caseExpressionTypeImplementsEquals() { |
+ Source source = addSource("/test.dart", EngineTestCase.createSource(["class IntWrapper {", " final int value;", " const IntWrapper(this.value);", " bool operator ==(IntWrapper x) {", " return value == x.value;", " }", "}", "", "f(IntWrapper a) {", " switch(a) {", " case(const IntWrapper(1)) : return 1;", " default: return 0;", " }", "}"])); |
+ resolve(source, []); |
+ assertErrors([CompileTimeErrorCode.CASE_EXPRESSION_TYPE_IMPLEMENTS_EQUALS]); |
+ verify([source]); |
+ } |
void test_compileTimeConstantRaisesExceptionDivideByZero() { |
Source source = addSource("/test.dart", EngineTestCase.createSource(["const int INF = 0 / 0;"])); |
resolve(source, []); |
@@ -1688,6 +1676,12 @@ class CompileTimeErrorCodeTest extends ResolverTestCase { |
assertErrors([CompileTimeErrorCode.CONST_WITH_INVALID_TYPE_PARAMETERS]); |
verify([source]); |
} |
+ void test_constWithNonConst() { |
+ Source source = addSource("/test.dart", EngineTestCase.createSource(["class T {", " T(a, b, {c, d}) {}", "}", "f() { return const T(0, 1, c: 2, d: 3); }"])); |
+ resolve(source, []); |
+ assertErrors([CompileTimeErrorCode.CONST_WITH_NON_CONST]); |
+ verify([source]); |
+ } |
void test_duplicateMemberError() { |
Source librarySource = addSource("/lib.dart", EngineTestCase.createSource(["library lib;", "", "part 'a.dart';", "part 'b.dart';"])); |
Source sourceA = addSource("/a.dart", EngineTestCase.createSource(["part of lib;", "", "class A {}"])); |
@@ -1729,6 +1723,12 @@ class CompileTimeErrorCodeTest extends ResolverTestCase { |
assertErrors([CompileTimeErrorCode.NEW_WITH_INVALID_TYPE_PARAMETERS]); |
verify([source]); |
} |
+ void test_nonConstCaseExpression() { |
+ Source source = addSource("/test.dart", EngineTestCase.createSource(["f(int p, int q) {", " switch (p) {", " case 3 + q:", " break;", " }", "}"])); |
+ resolve(source, []); |
+ assertErrors([CompileTimeErrorCode.NON_CONSTANT_CASE_EXPRESSION]); |
+ verify([source]); |
+ } |
void test_nonConstListElement() { |
Source source = addSource("/test.dart", EngineTestCase.createSource(["f(a) {", " return const [a];", "}"])); |
resolve(source, []); |
@@ -1777,6 +1777,10 @@ class CompileTimeErrorCodeTest extends ResolverTestCase { |
final __test = new CompileTimeErrorCodeTest(); |
runJUnitTest(__test, __test.test_builtInIdentifierAsTypedefName_functionTypeAlias); |
}); |
+ _ut.test('test_caseExpressionTypeImplementsEquals', () { |
+ final __test = new CompileTimeErrorCodeTest(); |
+ runJUnitTest(__test, __test.test_caseExpressionTypeImplementsEquals); |
+ }); |
_ut.test('test_compileTimeConstantRaisesExceptionDivideByZero', () { |
final __test = new CompileTimeErrorCodeTest(); |
runJUnitTest(__test, __test.test_compileTimeConstantRaisesExceptionDivideByZero); |
@@ -1809,6 +1813,10 @@ class CompileTimeErrorCodeTest extends ResolverTestCase { |
final __test = new CompileTimeErrorCodeTest(); |
runJUnitTest(__test, __test.test_constWithInvalidTypeParameters); |
}); |
+ _ut.test('test_constWithNonConst', () { |
+ final __test = new CompileTimeErrorCodeTest(); |
+ runJUnitTest(__test, __test.test_constWithNonConst); |
+ }); |
_ut.test('test_duplicateMemberError', () { |
final __test = new CompileTimeErrorCodeTest(); |
runJUnitTest(__test, __test.test_duplicateMemberError); |
@@ -1837,6 +1845,10 @@ class CompileTimeErrorCodeTest extends ResolverTestCase { |
final __test = new CompileTimeErrorCodeTest(); |
runJUnitTest(__test, __test.test_newWithInvalidTypeParameters); |
}); |
+ _ut.test('test_nonConstCaseExpression', () { |
+ final __test = new CompileTimeErrorCodeTest(); |
+ runJUnitTest(__test, __test.test_nonConstCaseExpression); |
+ }); |
_ut.test('test_nonConstListElement', () { |
final __test = new CompileTimeErrorCodeTest(); |
runJUnitTest(__test, __test.test_nonConstListElement); |
@@ -2328,9 +2340,9 @@ class ElementResolverTest extends EngineTestCase { |
SimpleIdentifier node = ASTFactory.identifier2(fieldName); |
ASTFactory.assignmentExpression(node, TokenType.EQ, ASTFactory.integer(0)); |
resolveInClass(node, classA); |
- Element element47 = node.element; |
- EngineTestCase.assertInstanceOf(PropertyAccessorElement, element47); |
- JUnitTestCase.assertTrue(((element47 as PropertyAccessorElement)).isSetter()); |
+ Element element50 = node.element; |
+ EngineTestCase.assertInstanceOf(PropertyAccessorElement, element50); |
+ JUnitTestCase.assertTrue(((element50 as PropertyAccessorElement)).isSetter()); |
_listener.assertNoErrors(); |
} |
void test_visitSuperConstructorInvocation() { |
@@ -2909,7 +2921,7 @@ class StaticWarningCodeTest extends ResolverTestCase { |
verify([source]); |
} |
void test_constWithAbstractClass() { |
- Source source = addSource("/test.dart", EngineTestCase.createSource(["abstract class A {}", "void f() {", " A a = const A();", "}"])); |
+ Source source = addSource("/test.dart", EngineTestCase.createSource(["abstract class A {", " const A() {}", "}", "void f() {", " A a = const A();", "}"])); |
resolve(source, []); |
assertErrors([StaticWarningCode.CONST_WITH_ABSTRACT_CLASS]); |
verify([source]); |
@@ -3115,6 +3127,7 @@ class TestTypeProvider implements TypeProvider { |
ClassElementImpl listElement = ElementFactory.classElement2("List", ["E"]); |
_listType = listElement.type; |
Type2 eType = listElement.typeVariables[0].type; |
+ listElement.accessors = <PropertyAccessorElement> [ElementFactory.getterElement("last", false, eType)]; |
listElement.methods = <MethodElement> [ElementFactory.methodElement("[]", eType, [_intType]), ElementFactory.methodElement("[]=", VoidTypeImpl.instance, [_intType, eType])]; |
} |
return _listType; |
@@ -3301,10 +3314,10 @@ class ResolutionVerifier extends RecursiveASTVisitor<Object> { |
* structures that are expected to have been resolved have an element associated with them. |
*/ |
ResolutionVerifier() { |
- _jtd_constructor_306_impl(); |
+ _jtd_constructor_317_impl(); |
} |
- _jtd_constructor_306_impl() { |
- _jtd_constructor_307_impl(null); |
+ _jtd_constructor_317_impl() { |
+ _jtd_constructor_318_impl(null); |
} |
/** |
* Initialize a newly created verifier to verify that all of the identifiers in the visited AST |
@@ -3315,9 +3328,9 @@ class ResolutionVerifier extends RecursiveASTVisitor<Object> { |
* therefore not cause the test to fail |
*/ |
ResolutionVerifier.con1(Set<ASTNode> knownExceptions2) { |
- _jtd_constructor_307_impl(knownExceptions2); |
+ _jtd_constructor_318_impl(knownExceptions2); |
} |
- _jtd_constructor_307_impl(Set<ASTNode> knownExceptions2) { |
+ _jtd_constructor_318_impl(Set<ASTNode> knownExceptions2) { |
this._knownExceptions = knownExceptions2; |
} |
/** |
@@ -4152,12 +4165,12 @@ class StaticTypeAnalyzerTest extends EngineTestCase { |
* @param variableName the name of the variable |
* @return a simple identifier that has been resolved to a variable element with the given type |
*/ |
- SimpleIdentifier resolvedVariable(InterfaceType type36, String variableName) { |
+ SimpleIdentifier resolvedVariable(InterfaceType type37, String variableName) { |
SimpleIdentifier identifier = ASTFactory.identifier2(variableName); |
VariableElementImpl element = ElementFactory.localVariableElement(identifier); |
- element.type = type36; |
+ element.type = type37; |
identifier.element = element; |
- identifier.staticType = type36; |
+ identifier.staticType = type37; |
return identifier; |
} |
/** |
@@ -4165,14 +4178,14 @@ class StaticTypeAnalyzerTest extends EngineTestCase { |
* @param parameter the parameter whose type is to be set |
* @param type the new type of the given parameter |
*/ |
- void setType(FormalParameter parameter, Type2 type37) { |
+ void setType(FormalParameter parameter, Type2 type38) { |
SimpleIdentifier identifier17 = parameter.identifier; |
- Element element48 = identifier17.element; |
- if (element48 is! ParameterElement) { |
- element48 = new ParameterElementImpl(identifier17); |
- identifier17.element = element48; |
+ Element element51 = identifier17.element; |
+ if (element51 is! ParameterElement) { |
+ element51 = new ParameterElementImpl(identifier17); |
+ identifier17.element = element51; |
} |
- ((element48 as ParameterElementImpl)).type = type37; |
+ ((element51 as ParameterElementImpl)).type = type38; |
} |
static dartSuite() { |
_ut.group('StaticTypeAnalyzerTest', () { |
@@ -4497,7 +4510,7 @@ class LibraryElementBuilderTest extends EngineTestCase { |
JUnitTestCase.assertEquals(element, unit.library); |
EngineTestCase.assertLength(0, unit.accessors); |
EngineTestCase.assertLength(0, unit.functions); |
- EngineTestCase.assertLength(0, unit.typeAliases); |
+ EngineTestCase.assertLength(0, unit.functionTypeAliases); |
EngineTestCase.assertLength(0, unit.types); |
EngineTestCase.assertLength(0, unit.topLevelVariables); |
} |
@@ -4711,12 +4724,6 @@ class ScopeTest_TestScope extends Scope { |
Element lookup3(String name, LibraryElement referencingLibrary) => localLookup(name, referencingLibrary); |
} |
class SimpleResolverTest extends ResolverTestCase { |
- void fail_caseExpressionTypeImplementsEquals_Object() { |
- Source source = addSource("/test.dart", EngineTestCase.createSource(["class IntWrapper {", " final int value;", " const IntWrapper(this.value);", "}", "", "f(IntWrapper intWrapper) {", " switch(intWrapper) {", " case(const IntWrapper(1)) : return 1;", " default: return 0;", " }", "}"])); |
- resolve(source, []); |
- assertNoErrors(); |
- verify([source]); |
- } |
void fail_staticInvocation() { |
Source source = addSource("/test.dart", EngineTestCase.createSource(["class A {", " static int get g => (a,b) => 0;", "}", "class B {", " f() {", " A.g(1,0);", " }", "}"])); |
resolve(source, []); |
@@ -4759,6 +4766,12 @@ class SimpleResolverTest extends ResolverTestCase { |
assertNoErrors(); |
verify([source]); |
} |
+ void test_caseExpressionTypeImplementsEquals_Object() { |
+ Source source = addSource("/test.dart", EngineTestCase.createSource(["class IntWrapper {", " final int value;", " const IntWrapper(this.value);", "}", "", "f(IntWrapper intWrapper) {", " switch(intWrapper) {", " case(const IntWrapper(1)) : return 1;", " default: return 0;", " }", "}"])); |
+ resolve(source, []); |
+ assertNoErrors(); |
+ verify([source]); |
+ } |
void test_caseExpressionTypeImplementsEquals_String() { |
Source source = addSource("/test.dart", EngineTestCase.createSource(["f(String s) {", " switch(s) {", " case('1') : return 1;", " default: return 0;", " }", "}"])); |
resolve(source, []); |
@@ -4783,6 +4796,12 @@ class SimpleResolverTest extends ResolverTestCase { |
assertNoErrors(); |
verify([source]); |
} |
+ void test_constConstructorWithNonFinalField_syntheticField() { |
+ Source source = addSource("/test.dart", EngineTestCase.createSource(["class A {", " const A();", " set x(value) {}", " get x {return 0;}", "}"])); |
+ resolve(source, []); |
+ assertNoErrors(); |
+ verify([source]); |
+ } |
void test_duplicateDefinition_getter() { |
Source source = addSource("/test.dart", EngineTestCase.createSource(["bool get a => true;"])); |
resolve(source, []); |
@@ -4849,6 +4868,12 @@ class SimpleResolverTest extends ResolverTestCase { |
assertNoErrors(); |
verify([source]); |
} |
+ void test_invoke_dynamicThroughGetter() { |
+ Source source = addSource("/test.dart", EngineTestCase.createSource(["class A {", " List get X => [() => 0];", " m(A a) {", " X.last();", " }", "}"])); |
+ resolve(source, []); |
+ assertNoErrors(); |
+ verify([source]); |
+ } |
void test_isValidMixin_badSuperclass() { |
Source source = addSource("/test.dart", EngineTestCase.createSource(["class A extends B {}", "class B {}"])); |
LibraryElement library = resolve(source, []); |
@@ -4985,6 +5010,10 @@ class SimpleResolverTest extends ResolverTestCase { |
final __test = new SimpleResolverTest(); |
runJUnitTest(__test, __test.test_builtInIdentifierAsType_dynamic); |
}); |
+ _ut.test('test_caseExpressionTypeImplementsEquals_Object', () { |
+ final __test = new SimpleResolverTest(); |
+ runJUnitTest(__test, __test.test_caseExpressionTypeImplementsEquals_Object); |
+ }); |
_ut.test('test_caseExpressionTypeImplementsEquals_String', () { |
final __test = new SimpleResolverTest(); |
runJUnitTest(__test, __test.test_caseExpressionTypeImplementsEquals_String); |
@@ -5005,6 +5034,10 @@ class SimpleResolverTest extends ResolverTestCase { |
final __test = new SimpleResolverTest(); |
runJUnitTest(__test, __test.test_constConstructorWithNonFinalField_final); |
}); |
+ _ut.test('test_constConstructorWithNonFinalField_syntheticField', () { |
+ final __test = new SimpleResolverTest(); |
+ runJUnitTest(__test, __test.test_constConstructorWithNonFinalField_syntheticField); |
+ }); |
_ut.test('test_duplicateDefinition_getter', () { |
final __test = new SimpleResolverTest(); |
runJUnitTest(__test, __test.test_duplicateDefinition_getter); |
@@ -5049,6 +5082,10 @@ class SimpleResolverTest extends ResolverTestCase { |
final __test = new SimpleResolverTest(); |
runJUnitTest(__test, __test.test_invocationOfNonFunction_localVariable); |
}); |
+ _ut.test('test_invoke_dynamicThroughGetter', () { |
+ final __test = new SimpleResolverTest(); |
+ runJUnitTest(__test, __test.test_invoke_dynamicThroughGetter); |
+ }); |
_ut.test('test_isValidMixin_badSuperclass', () { |
final __test = new SimpleResolverTest(); |
runJUnitTest(__test, __test.test_isValidMixin_badSuperclass); |
@@ -5113,19 +5150,19 @@ class SimpleResolverTest extends ResolverTestCase { |
} |
} |
main() { |
- /*ElementResolverTest.dartSuite(); |
- LibraryElementBuilderTest.dartSuite(); |
- LibraryTest.dartSuite(); |
- StaticTypeAnalyzerTest.dartSuite(); |
- TypeProviderImplTest.dartSuite(); |
- TypeResolverVisitorTest.dartSuite(); |
- EnclosedScopeTest.dartSuite(); |
- LibraryImportScopeTest.dartSuite(); |
- LibraryScopeTest.dartSuite(); |
- ScopeTest.dartSuite(); |
- CompileTimeErrorCodeTest.dartSuite(); |
- ErrorResolverTest.dartSuite(); |
- SimpleResolverTest.dartSuite(); |
- StaticTypeWarningCodeTest.dartSuite(); |
- StaticWarningCodeTest.dartSuite();*/ |
+// ElementResolverTest.dartSuite(); |
+// LibraryElementBuilderTest.dartSuite(); |
+// LibraryTest.dartSuite(); |
+// StaticTypeAnalyzerTest.dartSuite(); |
+// TypeProviderImplTest.dartSuite(); |
+// TypeResolverVisitorTest.dartSuite(); |
+// EnclosedScopeTest.dartSuite(); |
+// LibraryImportScopeTest.dartSuite(); |
+// LibraryScopeTest.dartSuite(); |
+// ScopeTest.dartSuite(); |
+// CompileTimeErrorCodeTest.dartSuite(); |
+// ErrorResolverTest.dartSuite(); |
+// SimpleResolverTest.dartSuite(); |
+// StaticTypeWarningCodeTest.dartSuite(); |
+// StaticWarningCodeTest.dartSuite(); |
} |