提交 a48ce296 编写于 作者: S Skylot

fix: resolve code generation error for interface methods (#775)

上级 cf3e17c4
...@@ -139,7 +139,11 @@ public class NameGen { ...@@ -139,7 +139,11 @@ public class NameGen {
} }
private String getFallbackName(CodeVar var) { private String getFallbackName(CodeVar var) {
return getFallbackName(var.getSsaVars().get(0).getAssign()); List<SSAVar> ssaVars = var.getSsaVars();
if (ssaVars.isEmpty()) {
return "v";
}
return getFallbackName(ssaVars.get(0).getAssign());
} }
private String getFallbackName(RegisterArg arg) { private String getFallbackName(RegisterArg arg) {
......
...@@ -19,7 +19,9 @@ public class CodeVar { ...@@ -19,7 +19,9 @@ public class CodeVar {
var.setName(mthArg.getName()); var.setName(mthArg.getName());
var.setDeclared(true); var.setDeclared(true);
var.setThis(mthArg.isThis()); var.setThis(mthArg.isThis());
var.setSsaVars(Collections.singletonList(new SSAVar(mthArg.getRegNum(), 0, mthArg))); SSAVar ssaVar = new SSAVar(mthArg.getRegNum(), 0, mthArg);
ssaVar.setCodeVar(var);
var.setSsaVars(Collections.singletonList(ssaVar));
return var; return var;
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册