AutoTest -> 51.762%

This commit is contained in:
jeffcheasey88 2023-07-26 11:16:14 +02:00
parent 4486a43482
commit 97e0465628

View file

@ -73,6 +73,7 @@ public class JavaParser extends Parser<JavaElement> {
//- Modifier
//- Type
//- Value
//- Annotation
//- Operation
//- Variable
//- Function
@ -239,6 +240,22 @@ public class JavaParser extends Parser<JavaElement> {
return false;
}).end((a,b) -> a);
//ANNOTATION
StateTree<JavaElement> annotation = new StateTree<>();
StateTree<JavaElement> annotation_name = annotation.then((validator) -> validator.validate((token) -> token.getValue().equals("@")))
.then((validator) -> validator.validate((token) -> token.getType().equals(TokenType.NAME)));
annotation_name.then((validator) -> validator.validate((token) -> token.getValue().equals("."))).then(annotation_name);
annotation_name.end((a,b) -> a);
StateTree<JavaElement> annotation_begin = annotation_name.then((validator) -> validator.validate((token) -> token.getValue().equals("(")));
StateTree<JavaElement> annotation_end = annotation_begin.then((validator) -> validator.validate((token) -> token.getValue().equals(")")));
annotation_end.end((a,b) -> a);
StateTree<JavaElement> annotation_var = annotation_begin.then((validator) -> validator.validate((token) -> token.getType().equals(TokenType.NAME)));
StateTree<JavaElement> annotation_value = annotation_var.then((validator) -> validator.validate((token) -> token.getValue().equals("=")))
.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null)));
annotation_value.then((validator) -> validator.validate((token) -> token.getValue().equals(","))).then(annotation_var);
annotation_value.then(annotation_end);
annotation_begin.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null))).then(annotation_end);
StateTree<JavaElement> function_container = new StateTree<>();
//OPERATION
@ -313,7 +330,8 @@ public class JavaParser extends Parser<JavaElement> {
.end((a,b) -> a);
//VARIABLE
StateTree<JavaElement> variable = new StateTree<>();
InitialStateTree<JavaElement> variable = new InitialStateTree<>();
variable.multiple(annotation);
StateTree<JavaElement> variable_mod = variable.then(new RedirectStateTree<>(modifier, (global, local) -> global.set("modifier", local)));
StateTree<JavaElement> variable_type = variable.then(new RedirectStateTree<>(type, (global, local) -> global.set("type", local)));
variable_mod.then(variable_type);
@ -334,7 +352,8 @@ public class JavaParser extends Parser<JavaElement> {
function_container.then(operation);
//FUNCTION
StateTree<JavaElement> function = new StateTree<>();
InitialStateTree<JavaElement> function = new InitialStateTree<>();
function.multiple(annotation);
BuilderStateTree<JavaElement,JavaElement> function_static = function.then((validator) -> validator.validate((token) -> token.getValue().equals("static")) && validator.validate((token) -> token.getValue().equals("{"))).end((a,b) -> a);
function_static.multiple(function_container);
function_static.unique((validator) -> validator.validate((token) -> token.getValue().equals("}"))).end((a,b) -> a);
@ -365,8 +384,8 @@ public class JavaParser extends Parser<JavaElement> {
function_arg_name.then(function_end);
clazz_container.then(variable);
clazz_container.then(function);
clazz_container.then(variable);
//CLASS
StateTree<JavaElement> clazz_ = new StateTree<>();
@ -436,6 +455,7 @@ public class JavaParser extends Parser<JavaElement> {
}).end((javafile, bag) -> javafile);
main.multiple(pack);
main.multiple(importState);
main.multiple(annotation);
main.multiple(clazz_);