docs: 移除废弃的后缀 i、d
This commit is contained in:
parent
92bd94a563
commit
6b56e65bce
@ -35,7 +35,7 @@ public final class ExpressionUtils {
|
|||||||
/**
|
/**
|
||||||
* 设置当前线程的默认类型后缀。
|
* 设置当前线程的默认类型后缀。
|
||||||
*
|
*
|
||||||
* @param suffix 类型后缀字符(b/s/i/l/f/d),'\0'表示无
|
* @param suffix 类型后缀字符(b/s/l/f),'\0'表示无
|
||||||
*/
|
*/
|
||||||
public static void setDefaultSuffix(char suffix) { DEFAULT_SUFFIX.set(suffix); }
|
public static void setDefaultSuffix(char suffix) { DEFAULT_SUFFIX.set(suffix); }
|
||||||
|
|
||||||
@ -47,21 +47,21 @@ public final class ExpressionUtils {
|
|||||||
// ───────────── 字面量常量解析 ─────────────
|
// ───────────── 字面量常量解析 ─────────────
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 安全解析整数字面量字符串,自动去除单字符类型后缀(b/s/l/f/d,大小写均可),并转换为 int。
|
* 安全解析整数字面量字符串,自动去除单字符类型后缀(b/s/l/f,大小写均可),并转换为 int。
|
||||||
*
|
*
|
||||||
* @param literal 字面量字符串
|
* @param literal 字面量字符串
|
||||||
* @return 字面量对应的 int 数值
|
* @return 字面量对应的 int 数值
|
||||||
* @throws NumberFormatException 如果字面量无法转换为整数
|
* @throws NumberFormatException 如果字面量无法转换为整数
|
||||||
*/
|
*/
|
||||||
public static int parseIntSafely(String literal) {
|
public static int parseIntSafely(String literal) {
|
||||||
String digits = literal.replaceAll("[bslfdBSDLF]$", "");
|
String digits = literal.replaceAll("[bslfBSLF]$", "");
|
||||||
return Integer.parseInt(digits);
|
return Integer.parseInt(digits);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 根据数字字面量字符串推断类型并生成对应的 IRConstant 常量值。
|
* 根据数字字面量字符串推断类型并生成对应的 IRConstant 常量值。
|
||||||
* <p>
|
* <p>
|
||||||
* 支持的字面量后缀有 b/s/l/f/d(大小写均可)。
|
* 支持的字面量后缀有 b/s/l/f(大小写均可)。
|
||||||
* 无后缀时,优先参考 IRContext 当前变量类型,否则根据字面量格式(含'.'或'e'等)判断为 double,否则为 int。
|
* 无后缀时,优先参考 IRContext 当前变量类型,否则根据字面量格式(含'.'或'e'等)判断为 double,否则为 int。
|
||||||
*
|
*
|
||||||
* @param ctx IRContext,允许参考变量声明类型
|
* @param ctx IRContext,允许参考变量声明类型
|
||||||
@ -73,7 +73,7 @@ public final class ExpressionUtils {
|
|||||||
: Character.toLowerCase(value.charAt(value.length() - 1));
|
: Character.toLowerCase(value.charAt(value.length() - 1));
|
||||||
|
|
||||||
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' -> value.substring(0, value.length() - 1);
|
||||||
default -> {
|
default -> {
|
||||||
// 无后缀,优先参考变量类型
|
// 无后缀,优先参考变量类型
|
||||||
if (ctx.getVarType() != null) {
|
if (ctx.getVarType() != null) {
|
||||||
@ -249,7 +249,7 @@ public final class ExpressionUtils {
|
|||||||
* @param digits 字面量字符串
|
* @param digits 字面量字符串
|
||||||
* @return 是浮点格式则返回 true
|
* @return 是浮点格式则返回 true
|
||||||
*/
|
*/
|
||||||
private static boolean looksLikeFloat(String digits) {
|
public static boolean looksLikeFloat(String digits) {
|
||||||
return digits.indexOf('.') >= 0
|
return digits.indexOf('.') >= 0
|
||||||
|| digits.indexOf('e') >= 0
|
|| digits.indexOf('e') >= 0
|
||||||
|| digits.indexOf('E') >= 0;
|
|| digits.indexOf('E') >= 0;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user