Index: compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java |
diff --git a/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java b/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java |
index cba5892d4dbcdcf5cdfad2494c178405a81e587a..e39ef928b92fdfc43ab5dcd21668b44052030de2 100644 |
--- a/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java |
+++ b/compiler/javatests/com/google/dart/compiler/type/TypeAnalyzerCompilerTest.java |
@@ -1803,7 +1803,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
} |
public void test_typesPropagation_assignAtDeclaration() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"f() {", |
" var v0 = true;", |
" var v1 = true && false;", |
@@ -1830,47 +1830,50 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
// check each "v" type |
for (int i = 0; i < expectedList.size(); i++) { |
String expectedTypeString = expectedList.get(i); |
- assertInferredElementTypeString(libraryResult, "v" + i, expectedTypeString); |
+ assertInferredElementTypeString(testUnit, "v" + i, expectedTypeString); |
} |
} |
public void test_typesPropagation_secondAssign_sameType() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f() {", |
" var v = true;", |
" v = false;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v", "bool"); |
+ assertInferredElementTypeString(testUnit, "v", "bool"); |
} |
public void test_typesPropagation_secondAssign_differentType() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f() {", |
" var v = true;", |
" v = 0;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v", "<dynamic>"); |
} |
/** |
* When we can not identify type of assigned value we should keep "Dynamic" as type of variable. |
*/ |
public void test_typesPropagation_assign_newUnknownType() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"// filler filler filler filler filler filler filler filler filler filler", |
"f() {", |
" var v1 = new Unknown();", |
" var v2 = new Unknown.name();", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "<dynamic>"); |
- assertInferredElementTypeString(libraryResult, "v2", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v2", "<dynamic>"); |
} |
public void test_typesPropagation_ifAsType() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" if ((v as String).length != 0) {", |
" var v1 = v;", |
@@ -1878,8 +1881,8 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v2 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "String"); |
- assertInferredElementTypeString(libraryResult, "v2", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "String"); |
+ assertInferredElementTypeString(testUnit, "v2", "<dynamic>"); |
} |
/** |
@@ -1887,7 +1890,8 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
* successful. |
*/ |
public void test_typesPropagation_ifAsType_negation() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" if (!(v as String).isEmpty()) {", |
" var v1 = v;", |
@@ -1895,12 +1899,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v2 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "String"); |
- assertInferredElementTypeString(libraryResult, "v2", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "String"); |
+ assertInferredElementTypeString(testUnit, "v2", "<dynamic>"); |
} |
public void test_typesPropagation_ifIsType() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"f(var v) {", |
" if (v is List<String>) {", |
" var v1 = v;", |
@@ -1911,16 +1915,16 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v3 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "List<String>"); |
- assertInferredElementTypeString(libraryResult, "v2", "Map<int, String>"); |
- assertInferredElementTypeString(libraryResult, "v3", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "List<String>"); |
+ assertInferredElementTypeString(testUnit, "v2", "Map<int, String>"); |
+ assertInferredElementTypeString(testUnit, "v3", "<dynamic>"); |
} |
/** |
* We should not make variable type less specific, even if there is such (useless) user code. |
*/ |
public void test_typesPropagation_ifIsType_mostSpecific() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"f() {", |
" int a;", |
" num b;", |
@@ -1935,9 +1939,9 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" }", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "a1", "int"); |
- assertInferredElementTypeString(libraryResult, "a2", "int"); |
- assertInferredElementTypeString(libraryResult, "b1", "int"); |
+ assertInferredElementTypeString(testUnit, "a1", "int"); |
+ assertInferredElementTypeString(testUnit, "a2", "int"); |
+ assertInferredElementTypeString(testUnit, "b1", "int"); |
} |
/** |
@@ -1945,18 +1949,19 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
* instead we fall back to "Dynamic". |
*/ |
public void test_typesPropagation_ifIsType_conflictingTypes() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(int v) {", |
" if (v is String) {", |
" var v1 = v;", |
" }", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "<dynamic>"); |
} |
public void test_typesPropagation_ifIsType_negation() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"f(var v) {", |
" if (v is! String) {", |
" var v1 = v;", |
@@ -1969,13 +1974,14 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" }", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "<dynamic>"); |
- assertInferredElementTypeString(libraryResult, "v2", "<dynamic>"); |
- assertInferredElementTypeString(libraryResult, "v3", "String"); |
+ assertInferredElementTypeString(testUnit, "v1", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v2", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v3", "String"); |
} |
public void test_typesPropagation_ifIsType_and() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var a, var b) {", |
" if (a is String && b is List<String>) {", |
" var a1 = a;", |
@@ -1983,12 +1989,13 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" }", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "a1", "String"); |
- assertInferredElementTypeString(libraryResult, "b1", "List<String>"); |
+ assertInferredElementTypeString(testUnit, "a1", "String"); |
+ assertInferredElementTypeString(testUnit, "b1", "List<String>"); |
} |
public void test_typesPropagation_ifIsType_or() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" if (true || v is String) {", |
" var v1 = v;", |
@@ -1998,12 +2005,13 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" }", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "<dynamic>"); |
- assertInferredElementTypeString(libraryResult, "v2", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v2", "<dynamic>"); |
} |
public void test_typesPropagation_whileIsType() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" var v = null;", |
" while (v is String) {", |
@@ -2012,12 +2020,13 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v2 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "String"); |
- assertInferredElementTypeString(libraryResult, "v2", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "String"); |
+ assertInferredElementTypeString(testUnit, "v2", "<dynamic>"); |
} |
public void test_typesPropagation_forIsType() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" var v = null;", |
" for (; v is String; () {var v2 = v;} ()) {", |
@@ -2026,13 +2035,14 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v3 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "String"); |
- assertInferredElementTypeString(libraryResult, "v2", "String"); |
- assertInferredElementTypeString(libraryResult, "v3", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "String"); |
+ assertInferredElementTypeString(testUnit, "v2", "String"); |
+ assertInferredElementTypeString(testUnit, "v3", "<dynamic>"); |
} |
public void test_typesPropagation_forEach() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" List<String> values = [];", |
" for (var v in values) {", |
@@ -2040,11 +2050,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" }", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "String"); |
+ assertInferredElementTypeString(testUnit, "v1", "String"); |
} |
public void test_typesPropagation_ifIsNotType_withElse() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" if (v is! String) {", |
" var v1 = v;", |
@@ -2055,15 +2066,16 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
"}", |
""); |
// we don't know type, but not String |
- assertInferredElementTypeString(libraryResult, "v1", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "<dynamic>"); |
// we know that String |
- assertInferredElementTypeString(libraryResult, "v2", "String"); |
+ assertInferredElementTypeString(testUnit, "v2", "String"); |
// again, we don't know after "if" |
- assertInferredElementTypeString(libraryResult, "v3", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v3", "<dynamic>"); |
} |
public void test_typesPropagation_ifIsNotType_hasThenReturn() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" var v1 = v;", |
" if (v is! String) {", |
@@ -2072,12 +2084,13 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v2 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "<dynamic>"); |
- assertInferredElementTypeString(libraryResult, "v2", "String"); |
+ assertInferredElementTypeString(testUnit, "v1", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v2", "String"); |
} |
public void test_typesPropagation_ifIsNotType_hasThenThrow() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" if (v is! String) {", |
" throw new Exception();", |
@@ -2085,22 +2098,24 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v1 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "String"); |
+ assertInferredElementTypeString(testUnit, "v1", "String"); |
} |
public void test_typesPropagation_ifIsNotType_emptyThen() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" if (v is! String) {", |
" }", |
" var v1 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "<dynamic>"); |
} |
public void test_typesPropagation_ifIsNotType_otherThen() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" if (v is! String) {", |
" ;", |
@@ -2108,11 +2123,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v1 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "<dynamic>"); |
} |
public void test_typesPropagation_ifIsNotType_hasThenThrow_withCatch() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" try {", |
" if (v is! String) {", |
@@ -2123,11 +2139,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v1 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "<dynamic>"); |
} |
public void test_typesPropagation_ifIsNotType_or() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var p1, var p2) {", |
" if (p1 is! int || p2 is! String) {", |
" return;", |
@@ -2136,12 +2153,13 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v2 = p2;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "int"); |
- assertInferredElementTypeString(libraryResult, "v2", "String"); |
+ assertInferredElementTypeString(testUnit, "v1", "int"); |
+ assertInferredElementTypeString(testUnit, "v2", "String"); |
} |
public void test_typesPropagation_ifIsNotType_and() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" if (v is! String && true) {", |
" return;", |
@@ -2149,11 +2167,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v1 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "<dynamic>"); |
} |
public void test_typesPropagation_ifIsNotType_not() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" if (!(v is! String)) {", |
" return;", |
@@ -2161,11 +2180,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v1 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "<dynamic>"); |
+ assertInferredElementTypeString(testUnit, "v1", "<dynamic>"); |
} |
public void test_typesPropagation_ifIsNotType_not2() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" if (!!(v is! String)) {", |
" return;", |
@@ -2173,11 +2193,12 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v1 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "String"); |
+ assertInferredElementTypeString(testUnit, "v1", "String"); |
} |
public void test_typesPropagation_ifNotIsType() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
+ "// filler filler filler filler filler filler filler filler filler filler", |
"f(var v) {", |
" if (!(v is String)) {", |
" return;", |
@@ -2185,11 +2206,11 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v1 = v;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "String"); |
+ assertInferredElementTypeString(testUnit, "v1", "String"); |
} |
public void test_typesPropagation_field_inClass() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"// filler filler filler filler filler filler filler filler filler filler", |
"class A {", |
" var v1 = 123;", |
@@ -2197,25 +2218,25 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v3 = 1 + 2.0;", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "int"); |
- assertInferredElementTypeString(libraryResult, "v2", "double"); |
- assertInferredElementTypeString(libraryResult, "v3", "double"); |
+ assertInferredElementTypeString(testUnit, "v1", "int"); |
+ assertInferredElementTypeString(testUnit, "v2", "double"); |
+ assertInferredElementTypeString(testUnit, "v3", "double"); |
} |
public void test_typesPropagation_field_topLevel() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"// filler filler filler filler filler filler filler filler filler filler", |
"var v1 = 123;", |
"var v2 = Math.random();", |
"var v3 = 1 + 2.0;", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "int"); |
- assertInferredElementTypeString(libraryResult, "v2", "double"); |
- assertInferredElementTypeString(libraryResult, "v3", "double"); |
+ assertInferredElementTypeString(testUnit, "v1", "int"); |
+ assertInferredElementTypeString(testUnit, "v2", "double"); |
+ assertInferredElementTypeString(testUnit, "v3", "double"); |
} |
public void test_typesPropagation_FunctionAliasType() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"// filler filler filler filler filler filler filler filler filler filler", |
"typedef F();", |
"foo(F f) {", |
@@ -2224,7 +2245,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
"}", |
"", |
""); |
- assertInferredElementTypeString(libraryResult, "v", "F"); |
+ assertInferredElementTypeString(testUnit, "v", "F"); |
} |
/** |
@@ -2236,7 +2257,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
* http://code.google.com/p/dart/issues/detail?id=3712 |
*/ |
public void test_typesPropagation_parameterOfClosure_invocationNormalParameter() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"// filler filler filler filler filler filler filler filler filler filler", |
"class Event {}", |
"typedef void EventListener(Event event);", |
@@ -2248,7 +2269,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" });", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v", "Event"); |
+ assertInferredElementTypeString(testUnit, "v", "Event"); |
} |
/** |
@@ -2256,7 +2277,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
* http://code.google.com/p/dart/issues/detail?id=3712 |
*/ |
public void test_typesPropagation_parameterOfClosure_invocationNamedPositionalParameter() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"// filler filler filler filler filler filler filler filler filler filler", |
"class Event {}", |
"typedef void EventListener(Event event);", |
@@ -2268,7 +2289,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" });", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v", "Event"); |
+ assertInferredElementTypeString(testUnit, "v", "Event"); |
} |
/** |
@@ -2276,7 +2297,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
* http://code.google.com/p/dart/issues/detail?id=3712 |
*/ |
public void test_typesPropagation_parameterOfClosure_invocationNamedParameter() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"// filler filler filler filler filler filler filler filler filler filler", |
"class Event {}", |
"typedef void EventListener(Event event);", |
@@ -2288,14 +2309,14 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" });", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v", "Event"); |
+ assertInferredElementTypeString(testUnit, "v", "Event"); |
} |
/** |
* http://code.google.com/p/dart/issues/detail?id=3712 |
*/ |
public void test_typesPropagation_parameterOfClosure_invocationOfMethod() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"// filler filler filler filler filler filler filler filler filler filler", |
"class Event {}", |
"typedef void EventListener(Event event);", |
@@ -2310,7 +2331,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" });", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v", "Event"); |
+ assertInferredElementTypeString(testUnit, "v", "Event"); |
} |
/** |
@@ -2318,7 +2339,7 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
* without using {@link FunctionAliasType}. |
*/ |
public void test_typesPropagation_parameterOfClosure_functionType() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"// filler filler filler filler filler filler filler filler filler filler", |
"class Event {}", |
"class Button<T> {", |
@@ -2332,11 +2353,11 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" });", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v", "Event"); |
+ assertInferredElementTypeString(testUnit, "v", "Event"); |
} |
public void test_getType_binaryExpression() throws Exception { |
- AnalyzeLibraryResult libraryResult = analyzeLibrary( |
+ analyzeLibrary( |
"f(var arg) {", |
" var v1 = 1 + 2;", |
" var v2 = 1 - 2;", |
@@ -2357,23 +2378,23 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
" var v17 = arg as int", |
"}", |
""); |
- assertInferredElementTypeString(libraryResult, "v1", "int"); |
- assertInferredElementTypeString(libraryResult, "v2", "int"); |
- assertInferredElementTypeString(libraryResult, "v3", "int"); |
- assertInferredElementTypeString(libraryResult, "v4", "int"); |
- assertInferredElementTypeString(libraryResult, "v5", "int"); |
- assertInferredElementTypeString(libraryResult, "v6", "double"); |
- assertInferredElementTypeString(libraryResult, "v7", "double"); |
- assertInferredElementTypeString(libraryResult, "v8", "double"); |
- assertInferredElementTypeString(libraryResult, "v9", "double"); |
- assertInferredElementTypeString(libraryResult, "v10", "double"); |
- assertInferredElementTypeString(libraryResult, "v11", "double"); |
- assertInferredElementTypeString(libraryResult, "v12", "double"); |
- assertInferredElementTypeString(libraryResult, "v13", "double"); |
- assertInferredElementTypeString(libraryResult, "v14", "double"); |
- assertInferredElementTypeString(libraryResult, "v15", "double"); |
- assertInferredElementTypeString(libraryResult, "v16", "double"); |
- assertInferredElementTypeString(libraryResult, "v17", "int"); |
+ assertInferredElementTypeString(testUnit, "v1", "int"); |
+ assertInferredElementTypeString(testUnit, "v2", "int"); |
+ assertInferredElementTypeString(testUnit, "v3", "int"); |
+ assertInferredElementTypeString(testUnit, "v4", "int"); |
+ assertInferredElementTypeString(testUnit, "v5", "int"); |
+ assertInferredElementTypeString(testUnit, "v6", "double"); |
+ assertInferredElementTypeString(testUnit, "v7", "double"); |
+ assertInferredElementTypeString(testUnit, "v8", "double"); |
+ assertInferredElementTypeString(testUnit, "v9", "double"); |
+ assertInferredElementTypeString(testUnit, "v10", "double"); |
+ assertInferredElementTypeString(testUnit, "v11", "double"); |
+ assertInferredElementTypeString(testUnit, "v12", "double"); |
+ assertInferredElementTypeString(testUnit, "v13", "double"); |
+ assertInferredElementTypeString(testUnit, "v14", "double"); |
+ assertInferredElementTypeString(testUnit, "v15", "double"); |
+ assertInferredElementTypeString(testUnit, "v16", "double"); |
+ assertInferredElementTypeString(testUnit, "v17", "int"); |
} |
/** |
@@ -2426,8 +2447,8 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
"}", |
""); |
assertErrors(libraryResult.getErrors()); |
- assertInferredElementTypeString(libraryResult, "v1", "int"); |
- assertInferredElementTypeString(libraryResult, "v2", "bool"); |
+ assertInferredElementTypeString(testUnit, "v1", "int"); |
+ assertInferredElementTypeString(testUnit, "v2", "bool"); |
} |
public void test_getType_getterInNegation_generic() throws Exception { |
@@ -2451,8 +2472,8 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
"}", |
""); |
assertErrors(libraryResult.getErrors()); |
- assertInferredElementTypeString(libraryResult, "v1", "bool"); |
- assertInferredElementTypeString(libraryResult, "v2", "bool"); |
+ assertInferredElementTypeString(testUnit, "v1", "bool"); |
+ assertInferredElementTypeString(testUnit, "v2", "bool"); |
} |
public void test_getType_getterInSwitch_default() throws Exception { |
@@ -2509,44 +2530,6 @@ public class TypeAnalyzerCompilerTest extends CompilerTestCase { |
} |
/** |
- * Asserts that {@link Element} with given name has expected type. |
- */ |
- private void assertInferredElementTypeString( |
- AnalyzeLibraryResult libraryResult, |
- String variableName, |
- String expectedType) { |
- // find element |
- Element element = getNamedElement(libraryResult, variableName); |
- assertNotNull(element); |
- // check type |
- Type actualType = element.getType(); |
- assertEquals(element.getName(), expectedType, actualType.toString()); |
- // should be inferred |
- if (TypeKind.of(actualType) != TypeKind.DYNAMIC) { |
- assertTrue("Should be marked as inferred", actualType.isInferred()); |
- } |
- } |
- |
- /** |
- * @return the {@link Element} with given name, may be <code>null</code>. |
- */ |
- private Element getNamedElement(AnalyzeLibraryResult libraryResult, final String name) { |
- DartUnit unit = libraryResult.getLibraryUnitResult().getUnit(getName()); |
- final Element[] result = {null}; |
- unit.accept(new ASTVisitor<Void>() { |
- @Override |
- public Void visitIdentifier(DartIdentifier node) { |
- Element element = node.getElement(); |
- if (element != null && element.getName().equals(name)) { |
- result[0] = element; |
- } |
- return super.visitIdentifier(node); |
- } |
- }); |
- return result[0]; |
- } |
- |
- /** |
* <p> |
* http://code.google.com/p/dart/issues/detail?id=3272 |
*/ |