docs: 修改注释
This commit is contained in:
parent
6ea8f88b0a
commit
50cf0abf80
@ -380,7 +380,7 @@ public record ExpressionBuilder(IRContext ctx) {
|
|||||||
// 1. 递归生成所有参数的寄存器
|
// 1. 递归生成所有参数的寄存器
|
||||||
List<IRVirtualRegister> argv = call.arguments().stream().map(this::build).toList();
|
List<IRVirtualRegister> argv = call.arguments().stream().map(this::build).toList();
|
||||||
|
|
||||||
// TODO: 注释
|
// 2. 生成参数列表描述,即(类型_类型)这种格式
|
||||||
StringJoiner sj = new StringJoiner("_");
|
StringJoiner sj = new StringJoiner("_");
|
||||||
for (ExpressionNode param : call.arguments()) {
|
for (ExpressionNode param : call.arguments()) {
|
||||||
switch (param) {
|
switch (param) {
|
||||||
@ -417,7 +417,7 @@ public record ExpressionBuilder(IRContext ctx) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// 2. 规范化被调用方法名(区分成员方法与普通函数)
|
// 3. 规范化被调用方法名(区分成员方法与普通函数)
|
||||||
String callee = switch (call.callee()) {
|
String callee = switch (call.callee()) {
|
||||||
// 成员方法调用,如 obj.method()
|
// 成员方法调用,如 obj.method()
|
||||||
case MemberExpressionNode m when m.object() instanceof IdentifierNode id -> {
|
case MemberExpressionNode m when m.object() instanceof IdentifierNode id -> {
|
||||||
@ -447,7 +447,7 @@ public record ExpressionBuilder(IRContext ctx) {
|
|||||||
"不支持的调用目标: " + call.callee().getClass().getSimpleName());
|
"不支持的调用目标: " + call.callee().getClass().getSimpleName());
|
||||||
};
|
};
|
||||||
|
|
||||||
// 3. 分配用于存放返回值的新寄存器,并生成 Call 指令
|
// 4. 分配用于存放返回值的新寄存器,并生成 Call 指令
|
||||||
IRVirtualRegister dest = ctx.newRegister();
|
IRVirtualRegister dest = ctx.newRegister();
|
||||||
ctx.addInstruction(new CallInstruction(dest, callee, new ArrayList<>(argv)));
|
ctx.addInstruction(new CallInstruction(dest, callee, new ArrayList<>(argv)));
|
||||||
return dest;
|
return dest;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user