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