AutoTest -> 94.151%

This commit is contained in:
jeffcheasey88 2023-08-14 16:05:00 +02:00
parent f1d843df46
commit 3aeba124e3

View file

@ -117,7 +117,9 @@ public class JavaParser extends Parser<JavaElement> {
validator.validate( validator.validate(
(token) -> token.getType().equals(TokenType.NAME), (token) -> token.getType().equals(TokenType.NAME),
(bag, token) -> bag.set(token))); (bag, token) -> bag.set(token)));
StateTree<JavaElement> type_begin = type_.then((validator) -> validator.validate((token) -> token.getValue().equals("<"))); StateTree<JavaElement> gen = new StateTree<>();
type_.then(gen);
StateTree<JavaElement> type_begin = gen.then((validator) -> validator.validate((token) -> token.getValue().equals("<")));
StateTree<JavaElement> type_generic = type_begin.then(new RedirectStateTree<>(type, (global, local) -> global.set(null))); StateTree<JavaElement> type_generic = type_begin.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)));
StateTree<JavaElement> type_generic_end = type_generic.then((validator) -> validator.validate((token) -> token.getValue().equals(">"))); StateTree<JavaElement> type_generic_end = type_generic.then((validator) -> validator.validate((token) -> token.getValue().equals(">")));
StateTree<JavaElement> type_generic_split = type_generic.then((validator) -> validator.validate((token) -> token.getValue().equals(","))); StateTree<JavaElement> type_generic_split = type_generic.then((validator) -> validator.validate((token) -> token.getValue().equals(",")));
@ -334,16 +336,18 @@ public class JavaParser extends Parser<JavaElement> {
//ENUM VALUE //ENUM VALUE
StateTree<JavaElement> enum_value = new StateTree<>(); StateTree<JavaElement> enum_value = new StateTree<>();
enum_value.then((validator) -> validator.validate((token) -> token.getValue().equals(",")) || validator.validate((token) -> token.getValue().equals(";"))).end((a,b) -> a);
StateTree<JavaElement> enum_name = enum_value.then((validator) -> validator.validate((token) -> token.getType().equals(TokenType.NAME))); StateTree<JavaElement> enum_name = enum_value.then((validator) -> validator.validate((token) -> token.getType().equals(TokenType.NAME)));
enum_name.end((a,b) -> a); enum_name.end((a,b) -> a);
enum_name.then((validator) -> validator.validate((token) -> token.getValue().equals(";"))).end((a,b) -> a);
enum_name.then((validator) -> validator.validate((token) -> token.getValue().equals(","))).then(enum_name);
StateTree<JavaElement> enum_arg = enum_name.then((validator) -> validator.validate((token) -> token.getValue().equals("("))) StateTree<JavaElement> enum_arg = enum_name.then((validator) -> validator.validate((token) -> token.getValue().equals("(")))
.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null))); .then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null)));
StateTree<JavaElement> enum_end = enum_arg.then((validator) -> validator.validate((token) -> token.getValue().equals(")"))); StateTree<JavaElement> enum_end = enum_arg.then((validator) -> validator.validate((token) -> token.getValue().equals(")")));
enum_end.end((a,b) -> a); enum_end.end((a,b) -> a);
enum_end.then((validator) -> validator.validate((token) -> token.getValue().equals(",")) || validator.validate((token) -> token.getValue().equals(";"))).end((a,b) -> a); enum_end.then((validator) -> validator.validate((token) -> token.getValue().equals(";"))).end((a,b) -> a);
enum_arg.then((validator) -> validator.validate((token) -> token.getValue().equals(","))) enum_arg.then((validator) -> validator.validate((token) -> token.getValue().equals(",")))
.then(enum_arg); .then(enum_arg);
enum_end.then((validator) -> validator.validate((token) -> token.getValue().equals(","))).then(enum_name);
//ANNOTATION //ANNOTATION
StateTree<JavaElement> annotation = new StateTree<>(); StateTree<JavaElement> annotation = new StateTree<>();
@ -540,15 +544,16 @@ public class JavaParser extends Parser<JavaElement> {
function_static.multiple(function_container); function_static.multiple(function_container);
function_static.unique((validator) -> validator.validate((token) -> token.getValue().equals("}"))).end((a,b) -> a); function_static.unique((validator) -> validator.validate((token) -> token.getValue().equals("}"))).end((a,b) -> a);
StateTree<JavaElement> function_mod = function.then(new RedirectStateTree<>(modifier, (global, local) -> global.set("modifier", local))); StateTree<JavaElement> function_mod = function.then(new RedirectStateTree<>(modifier, (global, local) -> global.set("modifier", local)));
StateTree<JavaElement> function_generic = function.then(new RedirectStateTree<>(type_begin, (global, local) -> global.set("generic", local))); StateTree<JavaElement> function_generic = function.then(new RedirectStateTree<>(gen, (global, local) -> global.set("generic", local)));
StateTree<JavaElement> function_type = function.then(new RedirectStateTree<>(type, (global, local) -> global.set("type", local))); StateTree<JavaElement> function_type = function.then(new RedirectStateTree<>(type, (global, local) -> global.set("type", local)));
function_mod.then(function_generic); function_mod.then(function_generic);
function_mod.then(function_type); function_mod.then(function_type);
function_generic.then(function_type); function_generic.then(function_type);
StateTree<JavaElement> function_name = function_type.then((validator) -> validator.validate( StateTree<JavaElement> function_name = function.then((validator) -> validator.validate(
(token) -> token.getType().equals(TokenType.NAME), (token) -> token.getType().equals(TokenType.NAME),
(bag, token) -> bag.set(token))); (bag, token) -> bag.set(token)));
function_type.then(function_name);
StateTree<JavaElement> function_begin = function_name.then((validator) -> validator.validate((token) -> token.getValue().equals("("))); StateTree<JavaElement> function_begin = function_name.then((validator) -> validator.validate((token) -> token.getValue().equals("(")));
StateTree<JavaElement> function_end = function_begin.then((validator) -> validator.validate((token) -> token.getValue().equals(")"))); StateTree<JavaElement> function_end = function_begin.then((validator) -> validator.validate((token) -> token.getValue().equals(")")));
function_end.then((validator) -> validator.validate((token) -> token.getValue().equals("{"))) function_end.then((validator) -> validator.validate((token) -> token.getValue().equals("{")))
@ -635,14 +640,17 @@ public class JavaParser extends Parser<JavaElement> {
clazz_.then(interfaces); clazz_.then(interfaces);
interface_mod.then(interfaces); interface_mod.then(interfaces);
InitialStateTree<JavaElement> mult_clazz_container = new InitialStateTree<>();
mult_clazz_container.multiple(clazz_container);
//ENUM //ENUM
StateTree<JavaElement> enums = new StateTree<>(); StateTree<JavaElement> enums = new StateTree<>();
StateTree<JavaElement> enum_base = enums.then((validator) -> validator.validate((token) -> token.getValue().equals("enum"))) StateTree<JavaElement> enum_base = enums.then((validator) -> validator.validate((token) -> token.getValue().equals("enum")))
.then((validator) -> validator.validate((token) -> token.getType().equals(TokenType.NAME))); .then((validator) -> validator.validate((token) -> token.getType().equals(TokenType.NAME)));
enum_base.then((validator) -> validator.validate((token) -> token.getValue().equals("{"))) enum_base.then((validator) -> validator.validate((token) -> token.getValue().equals("{")))
.end((a,b) -> a) .end((a,b) -> a)
.multiple(enum_value) .unique(enum_value)
.multiple(clazz_container) .unique(mult_clazz_container)
.unique((validator) -> validator.validate((token) -> token.getValue().equals("}"))).end((a,b) -> a); .unique((validator) -> validator.validate((token) -> token.getValue().equals("}"))).end((a,b) -> a);
StateTree<JavaElement> enum_mod = clazz_.then(new RedirectStateTree<>(modifier, (global, local) -> global.set("modifier", local))); StateTree<JavaElement> enum_mod = clazz_.then(new RedirectStateTree<>(modifier, (global, local) -> global.set("modifier", local)));