Removes execution order dependency on EnumOrdinalizerTest
Review at http://gwt-code-reviews.appspot.com/1731806
Review by: skybrian@google.com
git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@11067 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/dev/core/test/com/google/gwt/dev/jjs/impl/EnumOrdinalizerTest.java b/dev/core/test/com/google/gwt/dev/jjs/impl/EnumOrdinalizerTest.java
index 1730f5f..f637b07 100644
--- a/dev/core/test/com/google/gwt/dev/jjs/impl/EnumOrdinalizerTest.java
+++ b/dev/core/test/com/google/gwt/dev/jjs/impl/EnumOrdinalizerTest.java
@@ -38,6 +38,7 @@
protected void setUp() throws Exception {
super.setUp();
EnumOrdinalizer.enableTracker();
+ EnumOrdinalizer.resetTracker();
// defaults, can be overridden by individual test cases
runTypeTightener = false;
@@ -45,11 +46,14 @@
runMethodInliner = true;
runMakeCallsStatic = true;
}
+
+ @Override
+ protected void tearDown() throws Exception {
+ super.tearDown();
+ }
public void testOrdinalizeBasicAssignment()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit apple = Fruit.APPLE;",
"Fruit orange = Fruit.ORANGE;");
@@ -60,8 +64,6 @@
public void testOrdinalizeNewArrayAndAssignmentLocalRef()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit[] fruits = new Fruit[] {Fruit.APPLE, Fruit.ORANGE, Fruit.APPLE};",
"if (fruits[0] == Fruit.APPLE) {",
@@ -74,8 +76,6 @@
public void testOrdinalizeNewArrayOfArrayAndAssignmentLocalRef()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit[][] fruits = new Fruit[][] ",
" {{Fruit.APPLE, Fruit.ORANGE},{Fruit.APPLE, Fruit.ORANGE}};",
@@ -89,8 +89,6 @@
public void testOrdinalizeNewArrayAndAssignmentFieldRef()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("private final Fruit[] fruits = new Fruit[] ",
" {Fruit.APPLE, Fruit.ORANGE, Fruit.APPLE};");
@@ -102,8 +100,6 @@
public void testOrdinalizableFinalFieldUninitializedByDefault()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("private final Fruit uninitializedFinalFruit;",
"public EntryPoint() {",
@@ -118,8 +114,6 @@
public void testOrdinalizeSwitchStatement()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
setupFruitSwitchMethod();
optimize("void", "String apple = fruitSwitch(Fruit.APPLE);",
@@ -131,8 +125,6 @@
public void testOrdinalizeIfStatement()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl(
"public static String fruitIf(Fruit fruit) {",
@@ -153,8 +145,6 @@
public void testOrdinalizeConditional()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit fruit = (true) ? Fruit.APPLE : Fruit.ORANGE;");
@@ -164,8 +154,6 @@
public void testOrdinalizeFieldRefOrdinalMethodCall()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "int i = Fruit.APPLE.ordinal();");
@@ -175,8 +163,6 @@
public void testOrdinalizeVariableRefOrdinalMethodCall()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit fruit = Fruit.APPLE;",
"int i = fruit.ordinal();");
@@ -186,8 +172,6 @@
}
public void testOrdinalizeUnusedEmptyEnum() throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupEmptyEnum();
optimize("void", "EmptyEnum myEnum;");
@@ -197,8 +181,6 @@
}
public void testOrdinalizeUnusedEnum() throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit myEnum;");
@@ -209,8 +191,6 @@
public void testOrdinalizeMethodCallExpressionOrdinalFieldRef()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static Fruit getResolvedFruit(Fruit fruit) {",
" if (fruit == Fruit.APPLE) {",
@@ -237,8 +217,6 @@
public void testOrdinalizableStaticFieldRef()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
// this will cause a static field ref in the enum clinit
setupFruitEnumWithStaticField();
optimize("void", "String y = Fruit.staticField;");
@@ -249,8 +227,6 @@
public void testOrdinalizableStaticMethod()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
// this will cause a static method enum class
setupFruitEnumWithStaticMethod();
optimize("void", "int y = Fruit.staticMethod();");
@@ -261,8 +237,6 @@
public void testNotOrdinalizableStaticMethodThatRefsValuesArray()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
// this will cause a static method that references an element
// of the values() array
setupFruitEnumWithStaticMethodThatRefsValuesArray();
@@ -275,8 +249,6 @@
public void testNotOrdinalizableStaticMethodThatRefsValuesLength()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
// this will cause a static method that references values().length
setupFruitEnumWithStaticMethodThatRefsValuesLength();
optimize("void", "Fruit y = Fruit.forInteger(0);");
@@ -288,8 +260,6 @@
public void testNotOrdinalizableInstanceStaticFieldRef()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
// this will cause a static field ref in the enum clinit
setupFruitEnumWithStaticField();
optimize("void", "Fruit fruit = Fruit.APPLE;",
@@ -302,8 +272,6 @@
public void testNotOrdinalizableInstanceStaticMethod()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
// this will cause a static method enum class
setupFruitEnumWithStaticMethod();
optimize("void", "Fruit fruit = Fruit.APPLE;",
@@ -316,8 +284,6 @@
public void testNotOrdinalizableClassLiteralReference()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Class clazz = Fruit.class;",
"String clazzStr = clazz.toString();");
@@ -329,8 +295,6 @@
public void testNotOrdinalizableEnumValueOfWithClassLiteralArg()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Object Carrot = Enum.valueOf(Fruit.class, \"APPLE\");",
"String carrot = Carrot.toString();");
@@ -342,8 +306,6 @@
public void testNotOrdinalizableGetClassMethodCall()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Class clazz = Fruit.APPLE.getClass();",
"String clazzStr = clazz.toString();");
@@ -355,8 +317,6 @@
public void testNotOrdinalizableExplicitCastToEnumClass()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Object obj = new Object();",
"Fruit fruit = (Fruit) obj;");
@@ -368,8 +328,6 @@
public void testNotOrdinalizableExplicitCastToArrayOfEnumClass()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Enum[] enumArray = new Enum[10];",
"Fruit[] fruitArray = (Fruit[]) enumArray;");
@@ -381,8 +339,6 @@
public void testNotOrdinalizableExplicitCastFromArrayOfEnumClass()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit[] fruitArray = new Fruit[10];",
"Enum[] enumArray = (Enum[]) fruitArray;");
@@ -394,8 +350,6 @@
public void testNotOrdinalizableExplicitCastToArrayOfArrayOfEnumClass()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Enum[][] enumArray = new Enum[10][10];",
"Fruit[][] fruitArray = (Fruit[][]) enumArray;");
@@ -407,8 +361,6 @@
public void testNotOrdinalizableExplicitCastFromArrayOfArrayOfEnumClass()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit[][] fruitArray = new Fruit[10][10];",
"Enum[][] enumArray = (Enum[][]) fruitArray;");
@@ -420,8 +372,6 @@
public void testNotOrdinalizableExplicitCastFromEnumClass()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Enum Carrot = (Enum) Fruit.APPLE;",
"String carrot = Carrot.toString();");
@@ -433,8 +383,6 @@
public void testNotOrdinalizableOrdinalMethodRefFromExplicitCastWithBlackListableSubExpression()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "int ord = " +
"((Fruit) Enum.valueOf(Fruit.class,\"APPLE\")).ordinal();");
@@ -446,8 +394,6 @@
public void testNotOrdinalizableInstanceFieldRef()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
// this will cause an instance field ref in the enum constructor
setupFruitEnumWithInstanceField();
optimize("void");
@@ -485,8 +431,6 @@
public void testNotOrdinalizableStaticFieldRefToVALUES()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
// this ends up inlining the values() method call, and thus $VALUES is referenced external
// to the Fruit enum class.
setupFruitEnum();
@@ -499,8 +443,6 @@
public void testNotOrdinalizableStaticMethodCallValues()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
// make sure values() method call doesn't doesn't get inlined
runMethodInliner = false;
@@ -514,8 +456,6 @@
public void testNotOrdinalizableJsniFieldRef()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static Fruit instanceFruit;");
addSnippetClassDecl("public static native void jsniMethod() /*-{",
@@ -531,8 +471,6 @@
public void testNotOrdinalizableJsniFieldRefStatic()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static native void jsniMethod() /*-{",
" var x = @test.EntryPoint.Fruit::APPLE",
@@ -546,8 +484,6 @@
public void testNotOrdinalizableJsniFieldRefClassLiteral()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static native void jsniMethod() /*-{",
" var x = @test.EntryPoint.Fruit::class",
@@ -561,8 +497,6 @@
public void testNotOrdinalizableImplicitUpcastBinaryOpAssignment()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Enum tomato;",
"tomato = Fruit.APPLE;");
@@ -574,8 +508,6 @@
public void testNotOrdinalizableImplicitUpcastFieldInitializedWithNullByDefault()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("static private Fruit uninitializedFruitAsNull;");
optimize("void", "if (uninitializedFruitAsNull != Fruit.APPLE) {",
@@ -589,8 +521,6 @@
public void testNotOrdinalizableImplicitUpcastBinaryOpEquals()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
setupVegetableEnum();
optimize("void", "Fruit fruit = Fruit.APPLE;",
@@ -606,8 +536,6 @@
public void testNotOrdinalizableImplicitUpcastBinaryOpNotEquals()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
setupVegetableEnum();
optimize("void", "Fruit fruit = Fruit.APPLE;",
@@ -624,8 +552,6 @@
public void testNotOrdinalizableImplicitUpcastBinaryOpEqualsNull()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static boolean testIsNull(Fruit fruit) {",
" if (fruit == null) {",
@@ -644,8 +570,6 @@
public void testNotOrdinalizableImplicitUpcastBinaryOpNotEqualsNull()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static boolean testIsNull(Fruit fruit) {",
" if (fruit != null) {",
@@ -664,8 +588,6 @@
public void testNotOrdinalizableImplicitUpcastBinaryOpStringConcat()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit fruit = Fruit.APPLE;",
"String str = \"A string followed by \" + fruit;");
@@ -677,8 +599,6 @@
public void testNotOrdinalizableImplicitUpcastBinaryOpStringConcat2()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit fruit = Fruit.APPLE;",
"String str = fruit + \" followed by a string\";");
@@ -690,8 +610,6 @@
public void testNotOrdinalizableImplicitUpcastBinaryOpStringConcatAssignment()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit fruit = Fruit.APPLE;",
"String str = \"A string concatenated with: \";",
@@ -704,8 +622,6 @@
public void testNotOrdinalizableImplicitUpcastDeclarationToNull()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit fruit = null;");
@@ -716,8 +632,6 @@
public void testNotOrdinalizableImplicitUpcastAssignmentToNull()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Fruit fruit;",
"fruit = null;");
@@ -729,8 +643,6 @@
public void testNotOrdinalizableImplicitUpcastDeclaration()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Enum tomato = Fruit.APPLE;");
@@ -741,8 +653,6 @@
public void testNotOrdinalizableImplicitUpcastConditional()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
setupVegetableEnum();
optimize("void", "Enum tomato = null;",
@@ -762,8 +672,6 @@
runTypeTightener = true;
runMethodCallTightener = true;
- EnumOrdinalizer.resetTracker();
-
/*
* Create methods with covariant return type, which the MethodTypeTightener
* will optimize to no longer be covariant, so make sure we check original
@@ -805,8 +713,6 @@
public void testNotOrdinalizableImplicitUpcastMethodCallArgs()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static String getEnumString(Enum myEnum) {",
// make sure this method does something so not inlined
@@ -827,8 +733,6 @@
public void testNotOrdinalizableImplicitUpcastMethodCallArgsNewArray()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static String getEnumString(Enum[] myEnumArray) {",
" String retString = \"\";",
@@ -846,8 +750,6 @@
public void testNotOrdinalizableImplicitUpcastMethodCallVarArgs()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static String getEnumString(Enum...myEnumArray) {",
" String retString = \"\";",
@@ -865,8 +767,6 @@
public void testNotOrdinalizableImplicitUpcastNewArrayElements()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Enum[] enums = new Enum[] {Fruit.APPLE, Fruit.ORANGE};");
@@ -877,8 +777,6 @@
public void testNotOrdinalizableImplicitUpcastNewArrayArrayElements()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
optimize("void", "Enum[][] enums = new Enum[][] {{Fruit.APPLE, Fruit.ORANGE},{Fruit.ORANGE, Fruit.APPLE}};");
@@ -889,8 +787,6 @@
public void testNotOrdinalizableImplicitUpcastJsniMethodBodyParams()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static native void passEnumToJsniMethod(Fruit myEnum) /*-{",
"}-*/");
@@ -903,8 +799,6 @@
public void testNotOrdinalizableImplicitUpcastJsniMethodBodyReturnType()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static native Fruit returnFruitViaJsni() /*-{",
" var myJso;",
@@ -919,8 +813,6 @@
public void testNotOrdinalizableImplicitUpcastJsniMethodRefParams()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
setupFruitSwitchMethod();
addSnippetClassDecl("public static native void fruitSwitchViaJsni() /*-{",
@@ -936,8 +828,6 @@
public void testNotOrdinalizableImplicitUpcastJsniMethodRefReturnType()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
addSnippetClassDecl("public static Fruit returnSomeFruit() {",
" return Fruit.APPLE;",
@@ -954,8 +844,6 @@
public void testNotOrdinalizableImplicitUpcastReturnStatement()
throws UnableToCompleteException {
- EnumOrdinalizer.resetTracker();
-
setupFruitEnum();
setupVegetableEnum();
addSnippetClassDecl("public static Enum returnAsEnum(int mode) {",
@@ -1115,4 +1003,4 @@
return didChange;
}
-}
\ No newline at end of file
+}