Index: tests/compiler/dart2js/class_set_test.dart |
diff --git a/tests/compiler/dart2js/class_set_test.dart b/tests/compiler/dart2js/class_set_test.dart |
index 1d3b04f3a1159a5440bc35fcff1366505c66bc01..52f436f314e8abd5d962ecee1048e960ef61d47a 100644 |
--- a/tests/compiler/dart2js/class_set_test.dart |
+++ b/tests/compiler/dart2js/class_set_test.dart |
@@ -9,8 +9,7 @@ library class_set_test; |
import 'package:expect/expect.dart'; |
import 'package:async_helper/async_helper.dart'; |
import 'type_test_helper.dart'; |
-import 'package:compiler/src/elements/elements.dart' |
- show Element, ClassElement; |
+import 'package:compiler/src/elements/elements.dart' show Element, ClassElement; |
import 'package:compiler/src/universe/class_set.dart'; |
import 'package:compiler/src/util/enumset.dart'; |
import 'package:compiler/src/util/util.dart'; |
@@ -24,7 +23,8 @@ void main() { |
} |
testIterators() async { |
- var env = await TypeEnvironment.create(r""" |
+ var env = await TypeEnvironment.create( |
+ r""" |
/// A |
/// / \ |
/// B C |
@@ -39,7 +39,7 @@ testIterators() async { |
class F extends C {} |
class G extends C {} |
""", |
- mainSource: r""" |
+ mainSource: r""" |
main() { |
new A(); |
new C(); |
@@ -61,8 +61,7 @@ testIterators() async { |
ClassElement G = env.getElement("G"); |
void checkClass(ClassElement cls, |
- {bool directlyInstantiated: false, |
- bool indirectlyInstantiated: false}) { |
+ {bool directlyInstantiated: false, bool indirectlyInstantiated: false}) { |
ClassHierarchyNode node = world.getClassHierarchyNode(cls); |
Expect.isNotNull(node, "Expected ClassHierarchyNode for $cls."); |
Expect.equals( |
@@ -81,7 +80,6 @@ testIterators() async { |
"$cls."); |
} |
- |
checkClass(A, directlyInstantiated: true, indirectlyInstantiated: true); |
checkClass(B, indirectlyInstantiated: true); |
checkClass(C, directlyInstantiated: true, indirectlyInstantiated: true); |
@@ -92,11 +90,8 @@ testIterators() async { |
ClassHierarchyNodeIterator iterator; |
- void checkState( |
- ClassElement root, |
- {ClassElement currentNode, |
- List<List<ClassElement>> stack}) { |
- |
+ void checkState(ClassElement root, |
+ {ClassElement currentNode, List<List<ClassElement>> stack}) { |
ClassElement classOf(ClassHierarchyNode node) { |
return node != null ? node.cls : null; |
} |
@@ -115,11 +110,10 @@ testIterators() async { |
sb.write('\n currentNode: $foundCurrentNode'); |
sb.write('\n stack: $foundStack\n}'); |
- Expect.equals(root, foundRoot, |
- "Expected root $root in $sb."); |
+ Expect.equals(root, foundRoot, "Expected root $root in $sb."); |
if (currentNode == null) { |
- Expect.isNull(iterator.currentNode, |
- "Unexpected non-null currentNode in $sb."); |
+ Expect.isNull( |
+ iterator.currentNode, "Unexpected non-null currentNode in $sb."); |
} else { |
Expect.isNotNull(foundCurrentNode, |
"Expected non-null currentNode ${currentNode} in $sb."); |
@@ -127,20 +121,20 @@ testIterators() async { |
"Expected currentNode $currentNode in $sb."); |
} |
if (stack == null) { |
- Expect.isNull(foundStack, |
- "Unexpected non-null stack in $sb."); |
+ Expect.isNull(foundStack, "Unexpected non-null stack in $sb."); |
} else { |
- Expect.isNotNull(foundStack, |
- "Expected non-null stack ${stack} in $sb."); |
- Expect.listEquals(stack, foundStack, |
+ Expect.isNotNull(foundStack, "Expected non-null stack ${stack} in $sb."); |
+ Expect.listEquals( |
+ stack, |
+ foundStack, |
"Expected stack ${stack}, " |
"found ${foundStack} in $sb."); |
} |
} |
iterator = new ClassHierarchyNodeIterable( |
- world.getClassHierarchyNode(G), |
- ClassHierarchyNode.ALL).iterator; |
+ world.getClassHierarchyNode(G), ClassHierarchyNode.ALL) |
+ .iterator; |
checkState(G, currentNode: null, stack: null); |
Expect.isNull(iterator.current); |
Expect.isTrue(iterator.moveNext()); |
@@ -151,9 +145,9 @@ testIterators() async { |
Expect.isNull(iterator.current); |
iterator = new ClassHierarchyNodeIterable( |
- world.getClassHierarchyNode(G), |
- ClassHierarchyNode.ALL, |
- includeRoot: false).iterator; |
+ world.getClassHierarchyNode(G), ClassHierarchyNode.ALL, |
+ includeRoot: false) |
+ .iterator; |
checkState(G, currentNode: null, stack: null); |
Expect.isNull(iterator.current); |
Expect.isFalse(iterator.moveNext()); |
@@ -161,8 +155,8 @@ testIterators() async { |
Expect.isNull(iterator.current); |
iterator = new ClassHierarchyNodeIterable( |
- world.getClassHierarchyNode(C), |
- ClassHierarchyNode.ALL).iterator; |
+ world.getClassHierarchyNode(C), ClassHierarchyNode.ALL) |
+ .iterator; |
checkState(C, currentNode: null, stack: null); |
Expect.isNull(iterator.current); |
Expect.isTrue(iterator.moveNext()); |
@@ -182,8 +176,8 @@ testIterators() async { |
Expect.isNull(iterator.current); |
iterator = new ClassHierarchyNodeIterable( |
- world.getClassHierarchyNode(D), |
- ClassHierarchyNode.ALL).iterator; |
+ world.getClassHierarchyNode(D), ClassHierarchyNode.ALL) |
+ .iterator; |
checkState(D, currentNode: null, stack: null); |
Expect.isNull(iterator.current); |
Expect.isTrue(iterator.moveNext()); |
@@ -194,8 +188,8 @@ testIterators() async { |
Expect.isNull(iterator.current); |
iterator = new ClassHierarchyNodeIterable( |
- world.getClassHierarchyNode(B), |
- ClassHierarchyNode.ALL).iterator; |
+ world.getClassHierarchyNode(B), ClassHierarchyNode.ALL) |
+ .iterator; |
checkState(B, currentNode: null, stack: null); |
Expect.isNull(iterator.current); |
Expect.isTrue(iterator.moveNext()); |
@@ -209,9 +203,9 @@ testIterators() async { |
Expect.isNull(iterator.current); |
iterator = new ClassHierarchyNodeIterable( |
- world.getClassHierarchyNode(B), |
- ClassHierarchyNode.ALL, |
- includeRoot: false).iterator; |
+ world.getClassHierarchyNode(B), ClassHierarchyNode.ALL, |
+ includeRoot: false) |
+ .iterator; |
checkState(B, currentNode: null, stack: null); |
Expect.isNull(iterator.current); |
Expect.isTrue(iterator.moveNext()); |
@@ -224,8 +218,9 @@ testIterators() async { |
iterator = new ClassHierarchyNodeIterable( |
world.getClassHierarchyNode(B), |
new EnumSet<Instantiation>.fromValues(<Instantiation>[ |
- Instantiation.DIRECTLY_INSTANTIATED, |
- Instantiation.UNINSTANTIATED])).iterator; |
+ Instantiation.DIRECTLY_INSTANTIATED, |
+ Instantiation.UNINSTANTIATED |
+ ])).iterator; |
checkState(B, currentNode: null, stack: null); |
Expect.isNull(iterator.current); |
Expect.isTrue(iterator.moveNext()); |
@@ -236,8 +231,8 @@ testIterators() async { |
Expect.isNull(iterator.current); |
iterator = new ClassHierarchyNodeIterable( |
- world.getClassHierarchyNode(A), |
- ClassHierarchyNode.ALL).iterator; |
+ world.getClassHierarchyNode(A), ClassHierarchyNode.ALL) |
+ .iterator; |
checkState(A, currentNode: null, stack: null); |
Expect.isNull(iterator.current); |
Expect.isTrue(iterator.moveNext()); |
@@ -266,9 +261,9 @@ testIterators() async { |
Expect.isNull(iterator.current); |
iterator = new ClassHierarchyNodeIterable( |
- world.getClassHierarchyNode(A), |
- ClassHierarchyNode.ALL, |
- includeRoot: false).iterator; |
+ world.getClassHierarchyNode(A), ClassHierarchyNode.ALL, |
+ includeRoot: false) |
+ .iterator; |
checkState(A, currentNode: null, stack: null); |
Expect.isNull(iterator.current); |
Expect.isTrue(iterator.moveNext()); |
@@ -296,8 +291,9 @@ testIterators() async { |
iterator = new ClassHierarchyNodeIterable( |
world.getClassHierarchyNode(A), |
new EnumSet<Instantiation>.fromValues(<Instantiation>[ |
- Instantiation.DIRECTLY_INSTANTIATED, |
- Instantiation.UNINSTANTIATED])).iterator; |
+ Instantiation.DIRECTLY_INSTANTIATED, |
+ Instantiation.UNINSTANTIATED |
+ ])).iterator; |
checkState(A, currentNode: null, stack: null); |
Expect.isNull(iterator.current); |
Expect.isTrue(iterator.moveNext()); |
@@ -323,11 +319,13 @@ testIterators() async { |
Expect.isNull(iterator.current); |
iterator = new ClassHierarchyNodeIterable( |
- world.getClassHierarchyNode(A), |
- new EnumSet<Instantiation>.fromValues(<Instantiation>[ |
- Instantiation.DIRECTLY_INSTANTIATED, |
- Instantiation.UNINSTANTIATED]), |
- includeRoot: false).iterator; |
+ world.getClassHierarchyNode(A), |
+ new EnumSet<Instantiation>.fromValues(<Instantiation>[ |
+ Instantiation.DIRECTLY_INSTANTIATED, |
+ Instantiation.UNINSTANTIATED |
+ ]), |
+ includeRoot: false) |
+ .iterator; |
checkState(A, currentNode: null, stack: null); |
Expect.isNull(iterator.current); |
Expect.isTrue(iterator.moveNext()); |
@@ -351,7 +349,8 @@ testIterators() async { |
} |
testForEach() async { |
- var env = await TypeEnvironment.create(r""" |
+ var env = await TypeEnvironment.create( |
+ r""" |
/// A |
/// / \ |
/// B C |
@@ -371,7 +370,7 @@ testForEach() async { |
class I extends F {} |
class X {} |
""", |
- mainSource: r""" |
+ mainSource: r""" |
main() { |
new A(); |
new C(); |
@@ -404,7 +403,9 @@ testForEach() async { |
visited.add(cls); |
}, ClassHierarchyNode.ALL); |
- Expect.listEquals(expected, visited, |
+ Expect.listEquals( |
+ expected, |
+ visited, |
"Unexpected classes on $cls.forEachSubclass:\n" |
"Actual: $visited, expected: $expected\n$classSet"); |
@@ -414,7 +415,9 @@ testForEach() async { |
return IterationStep.CONTINUE; |
}, ClassHierarchyNode.ALL); |
- Expect.listEquals(expected, visited, |
+ Expect.listEquals( |
+ expected, |
+ visited, |
"Unexpected classes on $cls.forEachSubclass:\n" |
"Actual: $visited, expected: $expected\n$classSet"); |
} |
@@ -437,7 +440,9 @@ testForEach() async { |
visited.add(cls); |
}, ClassHierarchyNode.ALL); |
- Expect.listEquals(expected, visited, |
+ Expect.listEquals( |
+ expected, |
+ visited, |
"Unexpected classes on $cls.forEachSubtype:\n" |
"Actual: $visited, expected: $expected\n$classSet"); |
@@ -447,7 +452,9 @@ testForEach() async { |
return IterationStep.CONTINUE; |
}, ClassHierarchyNode.ALL); |
- Expect.listEquals(expected, visited, |
+ Expect.listEquals( |
+ expected, |
+ visited, |
"Unexpected classes on $cls.forEachSubtype:\n" |
"Actual: $visited, expected: $expected\n$classSet"); |
} |
@@ -463,14 +470,11 @@ testForEach() async { |
checkForEachSubtype(I, [I]); |
checkForEachSubtype(X, [X, A, B, D, C, G, F, I, H, E]); |
- void checkForEach( |
- ClassElement cls, |
- List<ClassElement> expected, |
+ void checkForEach(ClassElement cls, List<ClassElement> expected, |
{ClassElement stop, |
- List<ClassElement> skipSubclasses: const <ClassElement>[], |
- bool forEachSubtype: false, |
- EnumSet<Instantiation> mask}) { |
- |
+ List<ClassElement> skipSubclasses: const <ClassElement>[], |
+ bool forEachSubtype: false, |
+ EnumSet<Instantiation> mask}) { |
if (mask == null) { |
mask = ClassHierarchyNode.ALL; |
} |
@@ -494,7 +498,9 @@ testForEach() async { |
classSet.forEachSubclass(visit, mask); |
} |
- Expect.listEquals(expected, visited, |
+ Expect.listEquals( |
+ expected, |
+ visited, |
"Unexpected classes on $cls." |
"forEach${forEachSubtype ? 'Subtype' : 'Subclass'} " |
"(stop:$stop, skipSubclasses:$skipSubclasses):\n" |
@@ -511,7 +517,8 @@ testForEach() async { |
checkForEach(B, [B, D], stop: D, forEachSubtype: true); |
checkForEach(B, [B, D, F, G], skipSubclasses: [F], forEachSubtype: true); |
checkForEach(B, [B, F, I, H, G], skipSubclasses: [B], forEachSubtype: true); |
- checkForEach(B, [B, D, F, I, H, G], skipSubclasses: [D], forEachSubtype: true); |
+ checkForEach(B, [B, D, F, I, H, G], |
+ skipSubclasses: [D], forEachSubtype: true); |
checkForEach(X, [X, A, B, D, C, G, F, I, H, E], forEachSubtype: true); |
checkForEach(X, [X, A, B, D], stop: D, forEachSubtype: true); |
@@ -522,18 +529,12 @@ testForEach() async { |
checkForEach(X, [X, A, B, D, C, G, F, I, H, E], |
skipSubclasses: [D], forEachSubtype: true); |
checkForEach(X, [A, D, C, G, F, I, H, E], |
- forEachSubtype: true, |
- mask: ClassHierarchyNode.DIRECTLY_INSTANTIATED); |
+ forEachSubtype: true, mask: ClassHierarchyNode.DIRECTLY_INSTANTIATED); |
checkForEach(X, [A, B, D, C, G, F, I, H, E], |
- forEachSubtype: true, |
- mask: ClassHierarchyNode.INSTANTIATED); |
- |
- void checkAny( |
- ClassElement cls, |
- List<ClassElement> expected, |
- {ClassElement find, |
- bool expectedResult, |
- bool anySubtype: false}) { |
+ forEachSubtype: true, mask: ClassHierarchyNode.INSTANTIATED); |
+ |
+ void checkAny(ClassElement cls, List<ClassElement> expected, |
+ {ClassElement find, bool expectedResult, bool anySubtype: false}) { |
ClassSet classSet = world.getClassSet(cls); |
List<ClassElement> visited = <ClassElement>[]; |
@@ -549,12 +550,16 @@ testForEach() async { |
result = classSet.anySubclass(visit, ClassHierarchyNode.ALL); |
} |
- Expect.equals(expectedResult, result, |
+ Expect.equals( |
+ expectedResult, |
+ result, |
"Unexpected result on $cls." |
"any${anySubtype ? 'Subtype' : 'Subclass'} " |
"(find:$find)."); |
- Expect.listEquals(expected, visited, |
+ Expect.listEquals( |
+ expected, |
+ visited, |
"Unexpected classes on $cls." |
"any${anySubtype ? 'Subtype' : 'Subclass'} " |
"(find:$find):\n" |
@@ -568,17 +573,13 @@ testForEach() async { |
checkAny(B, [B, D, F, I, H, G], anySubtype: true, expectedResult: false); |
checkAny(B, [B, D, F, I, H, G], |
find: A, anySubtype: true, expectedResult: false); |
- checkAny(B, [B, D], |
- find: D, anySubtype: true, expectedResult: true); |
- checkAny(B, [B, D, F, I], |
- find: I, anySubtype: true, expectedResult: true); |
+ checkAny(B, [B, D], find: D, anySubtype: true, expectedResult: true); |
+ checkAny(B, [B, D, F, I], find: I, anySubtype: true, expectedResult: true); |
checkAny(X, [X, A, B, D, C, G, F, I, H, E], |
anySubtype: true, expectedResult: false); |
- checkAny(X, [X, A], |
- find: A, anySubtype: true, expectedResult: true); |
- checkAny(X, [X, A, B, D], |
- find: D, anySubtype: true, expectedResult: true); |
+ checkAny(X, [X, A], find: A, anySubtype: true, expectedResult: true); |
+ checkAny(X, [X, A, B, D], find: D, anySubtype: true, expectedResult: true); |
checkAny(X, [X, A, B, D, C, G, F, I], |
find: I, anySubtype: true, expectedResult: true); |
} |