InnerClass definition like a lambda

This commit is contained in:
jeffcheasey88 2023-07-25 18:11:19 +02:00
parent fd47cf4f35
commit ee5dc9501e

View file

@ -131,11 +131,18 @@ public class JavaParser extends Parser<JavaElement> {
type_array_end.then(type_array_end);
type_array_end.then(type_generic_end);
StateTree<JavaElement> clazz_container = new StateTree<>();
//VALUE
StateTree<JavaElement> value = new StateTree<>();
value.then((validator) -> validator.validate((token) -> token.getValue().equals("new"))).then(value);
StateTree<JavaElement> value_name = value.then((validator) -> validator.validate(
(token) -> token.getType().equals(TokenType.NAME),
StateTree<JavaElement> value_instance = value.then((validator) -> validator.validate((token) -> token.getValue().equals("new")));
StateTree<JavaElement> value_name = new StateTree<JavaElement>();
value.then(value_name);
value_instance = value_instance
.then(new RedirectStateTree<>(value_name, (global, local) -> {
}));
value_name = value_name.then((validator) -> validator.validate(
(token) -> token.getType().equals(TokenType.NAME),
(bag, token) -> {
Token current = bag.get();
if(current == null) current = token;
@ -143,6 +150,12 @@ public class JavaParser extends Parser<JavaElement> {
bag.set(current);
}));
value_name.end((a,b) -> a);
value_instance.end((a,b) -> a);
value_instance.then((validator) -> validator.validate((token) -> token.getValue().equals("{")))
.end((a,b) -> a)
.multiple(clazz_container);
StateTree<JavaElement> value_call = value_name.then((validator) -> validator.validate((token) -> token.getValue().equals(".")));
value_call.then(value_name);
StateTree<JavaElement> value_arg_begin = value_name.then((validator) -> validator.validate((token) -> token.getValue().equals("(")));
@ -307,13 +320,8 @@ public class JavaParser extends Parser<JavaElement> {
function_arg_name.then(function_end);
StateTree<JavaElement> clazz_container = new StateTree<>();
clazz_container.then(variable);
clazz_container.then(function);
clazz_container.then((v) -> v.validate((t)->{
System.out.println(t);
return false;
}));
//CLASS
StateTree<JavaElement> clazz_ = new StateTree<>();