Remove redundant DexItemFactory argument from evaluate()
Change-Id: Id07f013acd4011b62d9d3dc03d67a6e53ca84263
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfArithmeticBinop.java b/src/main/java/com/android/tools/r8/cf/code/CfArithmeticBinop.java
index 04ba707..2c2c461 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfArithmeticBinop.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfArithmeticBinop.java
@@ -205,11 +205,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState state,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState state, AppView<?> appView, CfAnalysisConfig config) {
// ..., value1, value2 →
// ..., result
return state
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfArrayLength.java b/src/main/java/com/android/tools/r8/cf/code/CfArrayLength.java
index deb3f3b..6562ee0 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfArrayLength.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfArrayLength.java
@@ -81,13 +81,9 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., arrayref →
// ..., length
- return frame.popArray(appView).push(config, dexItemFactory.intType);
+ return frame.popArray(appView).push(config, appView.dexItemFactory().intType);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfArrayLoad.java b/src/main/java/com/android/tools/r8/cf/code/CfArrayLoad.java
index 8306cac..3d0ab0b 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfArrayLoad.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfArrayLoad.java
@@ -101,13 +101,10 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., arrayref, index →
// ..., value
+ DexItemFactory dexItemFactory = appView.dexItemFactory();
return frame
.popInitialized(appView, config, dexItemFactory.intType)
.popInitialized(
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfArrayStore.java b/src/main/java/com/android/tools/r8/cf/code/CfArrayStore.java
index 3fb30e4..918203f 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfArrayStore.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfArrayStore.java
@@ -92,13 +92,10 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., arrayref, index, value →
// ...
+ DexItemFactory dexItemFactory = appView.dexItemFactory();
return frame
.popInitialized(appView, config, getType())
.popInitialized(appView, config, dexItemFactory.intType)
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfCheckCast.java b/src/main/java/com/android/tools/r8/cf/code/CfCheckCast.java
index 9a8d194..a45285b 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfCheckCast.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfCheckCast.java
@@ -132,13 +132,10 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., objectref →
// ..., objectref
+ DexItemFactory dexItemFactory = appView.dexItemFactory();
return frame.popInitialized(appView, config, dexItemFactory.objectType).push(config, type);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfCmp.java b/src/main/java/com/android/tools/r8/cf/code/CfCmp.java
index 437d1ce..4486ac5 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfCmp.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfCmp.java
@@ -130,16 +130,12 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., value1, value2 →
// ..., result
return frame
.popInitialized(appView, config, type)
.popInitialized(appView, config, type)
- .push(config, dexItemFactory.intType);
+ .push(config, appView.dexItemFactory().intType);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfConstClass.java b/src/main/java/com/android/tools/r8/cf/code/CfConstClass.java
index b76a1f3..b61202a 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfConstClass.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfConstClass.java
@@ -139,13 +139,9 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ... →
// ..., value
- return frame.push(config, dexItemFactory.classType);
+ return frame.push(config, appView.dexItemFactory().classType);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfConstDynamic.java b/src/main/java/com/android/tools/r8/cf/code/CfConstDynamic.java
index 48a6368..d52f83c 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfConstDynamic.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfConstDynamic.java
@@ -227,13 +227,9 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ... →
// ..., value
- return frame.push(config, dexItemFactory.classType);
+ return frame.push(config, appView.dexItemFactory().classType);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfConstMethodHandle.java b/src/main/java/com/android/tools/r8/cf/code/CfConstMethodHandle.java
index 0932c43..c58e97a 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfConstMethodHandle.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfConstMethodHandle.java
@@ -103,13 +103,9 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ... →
// ..., value
- return frame.push(config, dexItemFactory.methodHandleType);
+ return frame.push(config, appView.dexItemFactory().methodHandleType);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfConstMethodType.java b/src/main/java/com/android/tools/r8/cf/code/CfConstMethodType.java
index 74131ae..69a82a9 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfConstMethodType.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfConstMethodType.java
@@ -101,13 +101,9 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ... →
// ..., value
- return frame.push(config, dexItemFactory.methodTypeType);
+ return frame.push(config, appView.dexItemFactory().methodTypeType);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfConstNull.java b/src/main/java/com/android/tools/r8/cf/code/CfConstNull.java
index ed6f4ea..978b9df 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfConstNull.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfConstNull.java
@@ -73,11 +73,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ... →
// ..., value
return frame.push(config, DexItemFactory.nullValueType);
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfConstNumber.java b/src/main/java/com/android/tools/r8/cf/code/CfConstNumber.java
index f777da5..c5841e8 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfConstNumber.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfConstNumber.java
@@ -230,11 +230,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ... →
// ..., value
assert type.isPrimitive();
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfConstString.java b/src/main/java/com/android/tools/r8/cf/code/CfConstString.java
index a205cb7..a1cf1b8 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfConstString.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfConstString.java
@@ -104,13 +104,9 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ... →
// ..., value
- return frame.push(config, dexItemFactory.stringType);
+ return frame.push(config, appView.dexItemFactory().stringType);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfDexItemBasedConstString.java b/src/main/java/com/android/tools/r8/cf/code/CfDexItemBasedConstString.java
index 5dcc3fb..7d24f4b 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfDexItemBasedConstString.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfDexItemBasedConstString.java
@@ -123,13 +123,9 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ... →
// ..., value
- return frame.push(config, dexItemFactory.stringType);
+ return frame.push(config, appView.dexItemFactory().stringType);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfFrame.java b/src/main/java/com/android/tools/r8/cf/code/CfFrame.java
index 7d144d6..f989239 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfFrame.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfFrame.java
@@ -296,11 +296,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
return frame.check(config, this);
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfGoto.java b/src/main/java/com/android/tools/r8/cf/code/CfGoto.java
index e00ee93..ac161ae 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfGoto.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfGoto.java
@@ -108,11 +108,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
return frame;
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfIf.java b/src/main/java/com/android/tools/r8/cf/code/CfIf.java
index d9fbf6a..5858c6f 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfIf.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfIf.java
@@ -101,11 +101,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., value →
// ...
return frame.popInitialized(appView, config, type);
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfIfCmp.java b/src/main/java/com/android/tools/r8/cf/code/CfIfCmp.java
index 8389e81..63ff9ca 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfIfCmp.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfIfCmp.java
@@ -103,11 +103,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., value1, value2 →
// ...
return frame.popInitialized(appView, config, type).popInitialized(appView, config, type);
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfIinc.java b/src/main/java/com/android/tools/r8/cf/code/CfIinc.java
index 12aaec4..164bf07 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfIinc.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfIinc.java
@@ -98,11 +98,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
return frame.readLocal(
appView, config, getLocalIndex(), ValueType.INT, FunctionUtils::getFirst);
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfInitClass.java b/src/main/java/com/android/tools/r8/cf/code/CfInitClass.java
index e253413..39735cb 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfInitClass.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfInitClass.java
@@ -116,13 +116,9 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., →
// ..., value
- return frame.push(config, dexItemFactory.intType);
+ return frame.push(config, appView.dexItemFactory().intType);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfInstanceFieldRead.java b/src/main/java/com/android/tools/r8/cf/code/CfInstanceFieldRead.java
index 7e913df..089f5ee 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfInstanceFieldRead.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfInstanceFieldRead.java
@@ -9,7 +9,6 @@
import com.android.tools.r8.graph.CfCode;
import com.android.tools.r8.graph.DexClassAndMethod;
import com.android.tools.r8.graph.DexField;
-import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.graph.UseRegistry;
import com.android.tools.r8.ir.conversion.CfSourceCode;
@@ -67,11 +66,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., objectref →
// ..., value
return frame
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfInstanceFieldWrite.java b/src/main/java/com/android/tools/r8/cf/code/CfInstanceFieldWrite.java
index d971680..c492db1 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfInstanceFieldWrite.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfInstanceFieldWrite.java
@@ -11,7 +11,6 @@
import com.android.tools.r8.graph.CfCode;
import com.android.tools.r8.graph.DexClassAndMethod;
import com.android.tools.r8.graph.DexField;
-import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.graph.UseRegistry;
import com.android.tools.r8.ir.conversion.CfSourceCode;
@@ -66,11 +65,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., objectref, value →
// ...
return frame
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfInstanceOf.java b/src/main/java/com/android/tools/r8/cf/code/CfInstanceOf.java
index fd473d3..d13c3a9 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfInstanceOf.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfInstanceOf.java
@@ -126,13 +126,10 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., objectref →
// ..., result
+ DexItemFactory dexItemFactory = appView.dexItemFactory();
return frame
.popInitialized(appView, config, dexItemFactory.objectType)
.push(config, dexItemFactory.intType);
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfInstruction.java b/src/main/java/com/android/tools/r8/cf/code/CfInstruction.java
index 248cf1c..66e3d69 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfInstruction.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfInstruction.java
@@ -359,8 +359,5 @@
InliningConstraints inliningConstraints, CfCode code, ProgramMethod context);
public abstract CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory);
+ CfFrameState frame, AppView<?> appView, CfAnalysisConfig config);
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfInvoke.java b/src/main/java/com/android/tools/r8/cf/code/CfInvoke.java
index 717205b..2be9f2e 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfInvoke.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfInvoke.java
@@ -316,11 +316,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., objectref, [arg1, [arg2 ...]] →
// ... [ returnType ]
// OR, for static method calls:
@@ -331,6 +327,7 @@
if (method.getHolderType().isArrayType()) {
frame = frame.popArray(appView);
} else {
+ DexItemFactory dexItemFactory = appView.dexItemFactory();
frame =
opcode == Opcodes.INVOKESPECIAL && method.isInstanceInitializer(dexItemFactory)
? frame.popAndInitialize(appView, method, config)
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfInvokeDynamic.java b/src/main/java/com/android/tools/r8/cf/code/CfInvokeDynamic.java
index 295fbcb..45228d7 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfInvokeDynamic.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfInvokeDynamic.java
@@ -167,11 +167,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., [arg1, [arg2 ...]] →
// ...
frame =
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfJsrRet.java b/src/main/java/com/android/tools/r8/cf/code/CfJsrRet.java
index 698e91d..4eaeca8 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfJsrRet.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfJsrRet.java
@@ -83,11 +83,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
return CfFrameState.error("Unexpected JSR/RET instruction");
}
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 011f97e..4bd6f52 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
@@ -96,11 +96,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
return frame;
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfLoad.java b/src/main/java/com/android/tools/r8/cf/code/CfLoad.java
index ffa3672..9992cc8 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfLoad.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfLoad.java
@@ -128,11 +128,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ... →
// ..., objectref
return frame.readLocal(
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfLogicalBinop.java b/src/main/java/com/android/tools/r8/cf/code/CfLogicalBinop.java
index 4d8257f..a5f499d 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfLogicalBinop.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfLogicalBinop.java
@@ -177,11 +177,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., value1, value2 →
// ..., result
NumericType value1Type = type;
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfMonitor.java b/src/main/java/com/android/tools/r8/cf/code/CfMonitor.java
index 87401ca..db26e94 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfMonitor.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfMonitor.java
@@ -94,13 +94,9 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., objectref →
// ...
- return frame.popInitialized(appView, config, dexItemFactory.objectType);
+ return frame.popInitialized(appView, config, appView.dexItemFactory().objectType);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfMultiANewArray.java b/src/main/java/com/android/tools/r8/cf/code/CfMultiANewArray.java
index e512982..672db34 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfMultiANewArray.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfMultiANewArray.java
@@ -129,13 +129,10 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., count1, [count2, ...] →
// ..., arrayref
+ DexItemFactory dexItemFactory = appView.dexItemFactory();
for (int i = 0; i < dimensions; i++) {
frame = frame.popInitialized(appView, config, dexItemFactory.intType);
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfNeg.java b/src/main/java/com/android/tools/r8/cf/code/CfNeg.java
index 1b891ac..0cee97d 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfNeg.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfNeg.java
@@ -119,11 +119,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., value →
// ..., result
return frame.popInitialized(appView, config, type).push(appView, config, type);
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfNew.java b/src/main/java/com/android/tools/r8/cf/code/CfNew.java
index ec6d665..00fb189 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfNew.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfNew.java
@@ -132,11 +132,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ... →
// ..., objectref
return frame.push(config, FrameType.uninitializedNew(getLabel(), type));
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfNewArray.java b/src/main/java/com/android/tools/r8/cf/code/CfNewArray.java
index 55532ea..68494c8 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfNewArray.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfNewArray.java
@@ -165,13 +165,10 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., count →
// ..., arrayref
+ DexItemFactory dexItemFactory = appView.dexItemFactory();
return frame.popInitialized(appView, config, dexItemFactory.intType).push(config, type);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfNewUnboxedEnum.java b/src/main/java/com/android/tools/r8/cf/code/CfNewUnboxedEnum.java
index febd00e..4b759a2 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfNewUnboxedEnum.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfNewUnboxedEnum.java
@@ -117,11 +117,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ... →
// ..., objectref
return frame.push(config, type);
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfNop.java b/src/main/java/com/android/tools/r8/cf/code/CfNop.java
index 1e1cc75..b5d7d56 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfNop.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfNop.java
@@ -77,11 +77,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
return frame;
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfNumberConversion.java b/src/main/java/com/android/tools/r8/cf/code/CfNumberConversion.java
index 8ffd50a..40f7298 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfNumberConversion.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfNumberConversion.java
@@ -190,11 +190,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., value →
// ..., result
return frame.popInitialized(appView, config, from).push(appView, config, to);
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfPosition.java b/src/main/java/com/android/tools/r8/cf/code/CfPosition.java
index f6d2d6c..6e7dc78 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfPosition.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfPosition.java
@@ -110,11 +110,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
return frame;
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfRecordFieldValues.java b/src/main/java/com/android/tools/r8/cf/code/CfRecordFieldValues.java
index 07b146f..794872f 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfRecordFieldValues.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfRecordFieldValues.java
@@ -110,11 +110,8 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
+ DexItemFactory dexItemFactory = appView.dexItemFactory();
for (DexField ignored : fields) {
frame = frame.popInitialized(appView, config, dexItemFactory.objectType);
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfReturn.java b/src/main/java/com/android/tools/r8/cf/code/CfReturn.java
index 9484c70..fe5af15 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfReturn.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfReturn.java
@@ -118,11 +118,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
assert !config.getCurrentContext().getReturnType().isVoidType();
return frame
.popInitialized(appView, config, config.getCurrentContext().getReturnType())
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfReturnVoid.java b/src/main/java/com/android/tools/r8/cf/code/CfReturnVoid.java
index fa1227c..2a25414 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfReturnVoid.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfReturnVoid.java
@@ -92,11 +92,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
return frame.clear();
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfStackInstruction.java b/src/main/java/com/android/tools/r8/cf/code/CfStackInstruction.java
index 6971f49..664e746 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfStackInstruction.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfStackInstruction.java
@@ -354,11 +354,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
switch (opcode) {
case Pop:
{
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfStaticFieldRead.java b/src/main/java/com/android/tools/r8/cf/code/CfStaticFieldRead.java
index c60a5fe..73d6349 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfStaticFieldRead.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfStaticFieldRead.java
@@ -9,7 +9,6 @@
import com.android.tools.r8.graph.CfCode;
import com.android.tools.r8.graph.DexClassAndMethod;
import com.android.tools.r8.graph.DexField;
-import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.graph.UseRegistry;
import com.android.tools.r8.ir.conversion.CfSourceCode;
@@ -70,11 +69,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., →
// ..., value
return frame.push(config, getField().getType());
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfStaticFieldWrite.java b/src/main/java/com/android/tools/r8/cf/code/CfStaticFieldWrite.java
index 9688486..bdad2a3 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfStaticFieldWrite.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfStaticFieldWrite.java
@@ -8,7 +8,6 @@
import com.android.tools.r8.graph.CfCode;
import com.android.tools.r8.graph.DexClassAndMethod;
import com.android.tools.r8.graph.DexField;
-import com.android.tools.r8.graph.DexItemFactory;
import com.android.tools.r8.graph.ProgramMethod;
import com.android.tools.r8.graph.UseRegistry;
import com.android.tools.r8.ir.conversion.CfSourceCode;
@@ -66,11 +65,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., value →
// ...
return frame.popInitialized(appView, config, getField().getType());
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfStore.java b/src/main/java/com/android/tools/r8/cf/code/CfStore.java
index 1838175..6439925 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfStore.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfStore.java
@@ -125,11 +125,7 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., ref →
// ...
if (type.isObject()) {
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfSwitch.java b/src/main/java/com/android/tools/r8/cf/code/CfSwitch.java
index 089761e..75ff36d 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfSwitch.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfSwitch.java
@@ -171,13 +171,9 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., index/key →
// ...
- return frame.popInitialized(appView, config, dexItemFactory.intType);
+ return frame.popInitialized(appView, config, appView.dexItemFactory().intType);
}
}
diff --git a/src/main/java/com/android/tools/r8/cf/code/CfThrow.java b/src/main/java/com/android/tools/r8/cf/code/CfThrow.java
index 8b017e0..bf50856 100644
--- a/src/main/java/com/android/tools/r8/cf/code/CfThrow.java
+++ b/src/main/java/com/android/tools/r8/cf/code/CfThrow.java
@@ -99,13 +99,9 @@
}
@Override
- public CfFrameState evaluate(
- CfFrameState frame,
- AppView<?> appView,
- CfAnalysisConfig config,
- DexItemFactory dexItemFactory) {
+ public CfFrameState evaluate(CfFrameState frame, AppView<?> appView, CfAnalysisConfig config) {
// ..., objectref →
// objectref
- return frame.popInitialized(appView, config, dexItemFactory.throwableType).clear();
+ return frame.popInitialized(appView, config, appView.dexItemFactory().throwableType).clear();
}
}
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 79bef88..44289af 100644
--- a/src/main/java/com/android/tools/r8/graph/CfCode.java
+++ b/src/main/java/com/android/tools/r8/graph/CfCode.java
@@ -982,7 +982,7 @@
if (instruction.isLabel()) {
helper.seenLabel(instruction.asLabel());
}
- state = instruction.evaluate(state, appView, helper, appView.dexItemFactory());
+ state = instruction.evaluate(state, appView, helper);
if (instruction.isJumpWithNormalTarget()) {
CfInstruction fallthroughInstruction =
(i + 1) < instructions.size() ? instructions.get(i + 1) : null;
diff --git a/src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java b/src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
index ba03256..5ea1a20 100644
--- a/src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
+++ b/src/main/java/com/android/tools/r8/optimize/interfaces/analysis/CfOpenClosedInterfacesAnalysis.java
@@ -167,7 +167,7 @@
@Override
public TransferFunctionResult<CfFrameState> apply(
CfInstruction instruction, CfFrameState state) {
- return instruction.evaluate(state, appView, config, appView.dexItemFactory());
+ return instruction.evaluate(state, appView, config);
}
@Override