提交 9cb548e1 编写于 作者: 水滴come's avatar 水滴come

添加注释功能-添加工具类

上级 922529c9
......@@ -644,9 +644,9 @@ public class ExpressRunner {
* @return
* @throws Exception
*/
public Object execute(String expressString, IExpressContext<String, Object> context, List<String> errorList,
boolean isCache, boolean isTrace, Log log) throws Exception {
public Object execute(String expressString, IExpressContext<String, Object> context, List<String> errorList, boolean isCache, boolean isTrace, Log log) throws Exception {
InstructionSet parseResult;
expressString = FilterExpressString.filterAllUseless(expressString);
if (isCache) {
parseResult = expressInstructionSetCache.get(expressString);
if (parseResult == null) {
......@@ -837,4 +837,8 @@ public class ExpressRunner {
return false;
}
}
}
package com.ql.util.express;
/**
* @description: 过滤 程序文本 无用参数
* @author: xingyipeng
* @create: 22/4/20
**/
public class FilterExpressString {
/**
* 过滤无用代码执行段
*
* @param expressString
* @return
* @author xingyipeng
* @email 1103914483@qq.com
*/
public static String filterAllUseless(String expressString) {
expressString = filterNotes(expressString);
expressString = filterLF(expressString);
return expressString;
}
/**
* <p>
* 过滤笔记注释块
* <ul>
* 过滤:
* <li>/** ... ** /</li>
* <li>//...</li>
* </ul>
* </p>
*
* @param expressString 程序文本
* @return
* @author xingyipeng
* @email 1103914483@qq.com
*/
public static String filterNotes(String expressString) {
return expressString.replaceAll("\\/\\*\\*{1,2}[\\s\\S]*?\\*{1,2}\\/|\\/\\/[\\s\\S]*?\\n|\\/\\/[\\s\\S]*?$", "");
}
/**
* 过滤多余换行
*
* @param expressString 程序文本
* @return
* @author xingyipeng
* @email 1103914483@qq.com
*/
public static String filterLF(String expressString) {
return expressString.replaceAll("\n+", "\n");
}
}
......@@ -11,7 +11,7 @@ import org.junit.Test;
public class DateTest {
@Test
public void testDateCompare() throws Exception {
String express = "a = new Date(); b = a; a == b;";
String express = "a = new Date();/**:::**/ b = a; a == b; // 22323323";
DefaultContext<String, Object> context = new DefaultContext<>();
ExpressRunner runner = new ExpressRunner();
Object r = runner.execute(express, context, null, false, false);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册