Implement evaluate for label
Change-Id: Ia5dc040b210cc8282d30ed9bbb73eca68591e90d
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfLabel.java b/src/main/java/com/android/tools/r8/cf/code/CfLabel.java
index 4bd20a2..0e1ee11 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfLabel.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfLabel.java
@@ -4,7 +4,6 @@
package com.android.tools.r8.cf.code;
import com.android.tools.r8.cf.CfPrinter;
-import com.android.tools.r8.errors.Unimplemented;
import com.android.tools.r8.graph.AppView;
import com.android.tools.r8.graph.CfCode;
import com.android.tools.r8.graph.CfCompareHelper;
@@ -102,7 +101,7 @@
DexMethod context,
AppView<?> appView,
DexItemFactory dexItemFactory) {
- frameBuilder.seenLabel(this);
+ // Intentionally empty.
}
@Override
@@ -111,7 +110,6 @@
ProgramMethod context,
AppView<?> appView,
DexItemFactory dexItemFactory) {
- // TODO(b/214496607): Implement this.
- throw new Unimplemented();
+ return frame;
}
}
diff --git a/src/main/java/com/android/tools/r8/graph/CfCode.java b/src/main/java/com/android/tools/r8/graph/CfCode.java
index 51c9868..62eb396 100644
--- a/src/main/java/com/android/tools/r8/graph/CfCode.java
+++ b/src/main/java/com/android/tools/r8/graph/CfCode.java
@@ -981,6 +981,9 @@
assert !instruction.isStore();
builder.checkExceptionEdges();
}
+ if (instruction.isLabel()) {
+ builder.seenLabel(instruction.asLabel());
+ }
instruction.evaluate(builder, previousMethodSignature, appView, appView.dexItemFactory());
} catch (CfCodeStackMapValidatingException ex) {
return reportStackMapError(