1.17 skip doc text or class/member name by regexp | 根据正则表达式跳过指定注释文本或类成员名字的注释

This commit is contained in:
林万程
2022-06-06 01:23:55 +08:00
parent 6476dd5edd
commit c8a83f09ea
18 changed files with 311 additions and 180 deletions

View File

@@ -4,12 +4,12 @@
77 不能被细分项
88 条件名
9\( ( 数字
A\( ( 字母
X\( ( 字母数字
V\( ( 隐式小数
S\( ( 符号
P\( ( 假定小数
9\( ( 数字
A\( ( 字母
X\( ( 字母数字
V\( ( 隐式小数
S\( ( 符号
P\( ( 假定小数
数据
VALUE =
1 COBOL 数据类型【关键字】
4 88 条件名
5 9\( 9\( ( 数字
6 A\( A\( ( 字母
7 X\( X\( ( 字母数字
8 V\( V\( ( 隐式小数
9 S\( S\( ( 符号
10 P\( P\( ( 假定小数
11 数据
12 VALUE =
13
14
15

View File

@@ -6,9 +6,10 @@ import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.util.function.BiPredicate;
import java.util.regex.Pattern;
/**
* @see PsiClassSkip
* @see SkipUtils
*/
class PsiClassSkipTest {
@@ -16,17 +17,17 @@ class PsiClassSkipTest {
public static final boolean x = false;
String[] names = {"java", "io.a", "io.b"};
String[][] includes = {
{},
{"java"},
{"io"},
{"java", "io"},
Pattern[] includes = {
Pattern.compile(""),
Pattern.compile("java"),
Pattern.compile("io"),
Pattern.compile("java|io"),
};
String[][] excludes = {
{},
{"java"},
{"io.b"},
{"java", "io.b"},
Pattern[] excludes = {
Pattern.compile(""),
Pattern.compile("java"),
Pattern.compile("io\\.b"),
Pattern.compile("java|io\\.b"),
};
@Test
@@ -62,10 +63,10 @@ class PsiClassSkipTest {
private void loopTest(String name, boolean[][] results) {
for (int includeIndex = 0, includesLength = includes.length; includeIndex < includesLength; includeIndex++) {
String[] include = includes[includeIndex];
Pattern include = includes[includeIndex];
for (int excludeIndex = 0, excludesLength = excludes.length; excludeIndex < excludesLength; excludeIndex++) {
String[] exclude = excludes[excludeIndex];
boolean isSkip = PsiClassSkip.skipName(name, include, exclude);
Pattern exclude = excludes[excludeIndex];
boolean isSkip = SkipUtils.skipText(name, include, exclude);
String tip =
name + "==" + JsonOutput.toJson(include) + "!=" + JsonOutput.toJson(exclude) + "=>" + isSkip;
System.out.println(tip);
@@ -85,7 +86,7 @@ class PsiClassSkipTest {
{x, o, o}, // {"io"},
{o, o, o}, // {"java", "io"},
};
loopTest(PsiClassSkip::include, results);
loopTest(SkipUtils::include, results);
}
@Test
@@ -97,12 +98,12 @@ class PsiClassSkipTest {
{x, o, o}, // {"io"},
{o, o, o}, // {"java", "io"},
};
loopTest(PsiClassSkip::exclude, results);
loopTest(SkipUtils::exclude, results);
}
private void loopTest(BiPredicate<String, String[]> biPredicate, boolean[][] results) {
private void loopTest(BiPredicate<String, Pattern> biPredicate, boolean[][] results) {
for (int includeIndex = 0, includesLength = includes.length; includeIndex < includesLength; includeIndex++) {
String[] include = includes[includeIndex];
Pattern include = includes[includeIndex];
for (int nameIndex = 0, namesLength = names.length; nameIndex < namesLength; nameIndex++) {
String name = names[nameIndex];
boolean result = biPredicate.test(name, include);