在 java 代码中注入带有 switch case 的代码生成器时出现 Int switch 错误

大雪馆

引起: com.android.tools.r8.ir.code.IntSwitch.valid(IntSwitch.java:67) 处的 java.lang.AssertionError com.android.tools.r8.ir.code.IntSwitch.(IntSwitch.java) :35) 在 com.android.tools.r8.ir.conversion.IRBuilder.createSwitch(IRBuilder.java:1922) 在 com.android.tools.r8.ir.conversion.IRBuilder.addSwitch(IRBuilder.java:1886) 在com.android.tools.r8.cf.code.CfSwitch.buildIR(CfSwitch.java:101) at com.android.tools.r8.ir.conversion.CfSourceCode.build(CfSourceCode.java:581) 由:com. android.builder.dexing.DexArchiveBuilderException: dexing 时出错。

java示例

 public IFactory getInjectMap(String var1) {
          byte var2 = -1;
          switch(var1.hashCode()) {
          case 2011670744:
             if (var1.equals("xxx.xxx.xxx.xxx")) {
                var2 = 0;
             }
             break;
          case -1047643106:
             if (var1.equals("xxx.xxx.xxx.xxx")) {
                var2 = 1;
             }
             break;
          }
    
          switch(var2) {
          case 0:
             var2 = (byte)(new xxxxFactory());
             break;
          case 1:
             var2 = (byte)(new xxxxFactory());
             break;
          default:
             var2 = (byte)null;
          }
    
          return var2;
       }
    }
杰西

您遇到断言错误正在验证lookupswitch指令中的值是否按照 JVM 规范的要求进行了排序这表明生成的字节码不符合规范。这段代码是否在 JVM 上运行?

这也报告为https://issuetracker.google.com/200284898#comment6

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 switch/case 上使用 xhr 代码错误 (javascript)

使用 Switch Case React Native 时出现语法错误

需要执行的 switch case 中的重复代码

如何使用react重构switch case的代码?

在 Switch Case PHP 中使用具有不同值的相同代码 Jquery 时出现的问题

使用 switch case 描述时的 TypeScript 错误 (TS2367)

什么可能是最短的代码——switch Case有可能吗?

Python“ Switch-Case”替代显示错误

使用 switch case 时的 java.lang.NullPointerException

将大量 if elses 转换为更小的代码的 switch/case

在JavaScript代码中重构switch-case语句

如何在 ReactJs 中缩短代码而不是使用 Switch case

如何用更少的代码行编写以下 switch case?

两个 switch case 语句的重构代码

如果出现“ case”之一错误,“ switch-case” javascript中的“ case”是否可以忽略错误并运行“ default”?

Switch-Case 中的 For 循环 - Java

如何在Java中使用Switch case

将if-else转换为switch case会引发错误[Java]

Switch.java在android studio中有错误

带有错误输出的switch语句

Swift 中 switch case 中的 switch case

这个 c 程序跳过了 scanf(); 命令并在 switch case 出现错误

在switch构造中生成很多case语句

Switch / case语句中的String.Empty生成编译器错误

使用带有默认大小写和lambda函数的switch语句时出现gcc错误

脚手架突然出现这个错误“运行所选代码生成器包恢复失败时出错”

请解释为什么在此代码中PHP switch case总是执行case 0

ESLint/Nodejs:由于默认 switch case 导致错误 linting

switch 语句错误:必须在语句前面加上 case 标签