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

This commit is contained in:
Skylot
2019-11-05 08:45:23 +00:00
parent cf3e17c4b8
commit a48ce296b8
2 changed files with 8 additions and 2 deletions
@@ -139,7 +139,11 @@ public class NameGen {
}
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) {
@@ -19,7 +19,9 @@ public class CodeVar {
var.setName(mthArg.getName());
var.setDeclared(true);
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;
}