update: 移除 Optional 字段
This commit is contained in:
parent
7a9cfc1861
commit
2f8e181b13
@ -36,7 +36,7 @@ public class IRContext {
|
||||
/**
|
||||
* 当前声明变量的类型,不在声明变量时为空
|
||||
*/
|
||||
private Optional<String> varType;
|
||||
private String varType;
|
||||
|
||||
/**
|
||||
* 构造一个新的 IRContext,并将指定的 IRFunction 与作用域关联。
|
||||
@ -48,7 +48,7 @@ public class IRContext {
|
||||
this.scope = new IRBuilderScope();
|
||||
// 关联作用域与 IRFunction,以便在声明变量时申请寄存器
|
||||
this.scope.attachFunction(function);
|
||||
this.varType = Optional.empty();
|
||||
this.varType = null;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -99,7 +99,7 @@ public class IRContext {
|
||||
*
|
||||
* @return 当前 declare 的变量类型
|
||||
*/
|
||||
public Optional<String> getVarType() {
|
||||
public String getVarType() {
|
||||
return varType;
|
||||
}
|
||||
|
||||
@ -108,7 +108,7 @@ public class IRContext {
|
||||
*
|
||||
*/
|
||||
public void setVarType(String type) {
|
||||
this.varType = Optional.of(type);
|
||||
this.varType = type;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -116,6 +116,6 @@ public class IRContext {
|
||||
*
|
||||
*/
|
||||
public void clearVarType() {
|
||||
this.varType = Optional.empty();
|
||||
this.varType = null;
|
||||
}
|
||||
}
|
||||
|
||||
@ -66,8 +66,8 @@ public class ExpressionUtils {
|
||||
String digits = switch (suffix) {
|
||||
case 'b','s','l','f','d' -> value.substring(0, value.length() - 1);
|
||||
default -> {
|
||||
if (ctx.getVarType().isPresent()) {
|
||||
final var receiverType = ctx.getVarType().get();
|
||||
if (ctx.getVarType() != null) {
|
||||
final var receiverType = ctx.getVarType();
|
||||
switch (receiverType) {
|
||||
case "byte" -> suffix = 'b';
|
||||
case "short" -> suffix = 's';
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user