AutoTest -> 99.37%
This commit is contained in:
parent
ff27fd1d79
commit
e328dd12eb
1 changed files with 27 additions and 56 deletions
|
@ -105,7 +105,6 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
int m = getModifier(token.getValue());
|
int m = getModifier(token.getValue());
|
||||||
Integer current = bag.get();
|
Integer current = bag.get();
|
||||||
bag.set(current == null ? m : current+m);
|
bag.set(current == null ? m : current+m);
|
||||||
System.out.println("mod "+token);
|
|
||||||
})) mod = true;
|
})) mod = true;
|
||||||
return mod;
|
return mod;
|
||||||
}).end((a,b) -> a);
|
}).end((a,b) -> a);
|
||||||
|
@ -128,6 +127,8 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
|
|
||||||
StateTree<JavaElement> type_generic_unknow = type_begin.then((validator) -> validator.validate((token) -> token.getValue().equals("?")));
|
StateTree<JavaElement> type_generic_unknow = type_begin.then((validator) -> validator.validate((token) -> token.getValue().equals("?")));
|
||||||
type_generic_unknow.then(type_generic_end);
|
type_generic_unknow.then(type_generic_end);
|
||||||
|
type_generic_split.then(type_generic_unknow);
|
||||||
|
type_generic_unknow.then(type_generic_split);
|
||||||
StateTree<JavaElement> type_generic_unknow_extends = type_generic_unknow.then((validator) -> validator.validate((token) -> token.getValue().equals("extends")))
|
StateTree<JavaElement> type_generic_unknow_extends = type_generic_unknow.then((validator) -> validator.validate((token) -> token.getValue().equals("extends")))
|
||||||
.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)));
|
.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)));
|
||||||
type_generic_unknow_extends.then(type_generic_end);
|
type_generic_unknow_extends.then(type_generic_end);
|
||||||
|
@ -137,12 +138,11 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
type_generic_unknow_super.then(type_generic_end);
|
type_generic_unknow_super.then(type_generic_end);
|
||||||
type_generic_unknow_super.then(type_generic_split);
|
type_generic_unknow_super.then(type_generic_split);
|
||||||
|
|
||||||
StateTree<JavaElement> type_generic_named = type_begin.then((validator) -> validator.validate((token) -> token.getType().equals(TokenType.NAME)));
|
StateTree<JavaElement> type_generic_named_extends = type_generic.then((validator) -> validator.validate((token) -> token.getValue().equals("extends")))
|
||||||
StateTree<JavaElement> type_generic_named_extends = type_generic_named.then((validator) -> validator.validate((token) -> token.getValue().equals("extends")))
|
|
||||||
.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)));
|
.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)));
|
||||||
type_generic_named_extends.then(type_generic_end);
|
type_generic_named_extends.then(type_generic_end);
|
||||||
type_generic_named_extends.then(type_generic_split);
|
type_generic_named_extends.then(type_generic_split);
|
||||||
StateTree<JavaElement> type_generic_named_super = type_generic_named.then((validator) -> validator.validate((token) -> token.getValue().equals("super")))
|
StateTree<JavaElement> type_generic_named_super = type_generic.then((validator) -> validator.validate((token) -> token.getValue().equals("super")))
|
||||||
.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)));
|
.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)));
|
||||||
type_generic_named_super.then(type_generic_end);
|
type_generic_named_super.then(type_generic_end);
|
||||||
type_generic_named_super.then(type_generic_split);
|
type_generic_named_super.then(type_generic_split);
|
||||||
|
@ -161,6 +161,9 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
clazz_container.then((validator) -> validator.validate((token) -> token.getValue().equals(";"))).end((a,b) -> a);
|
clazz_container.then((validator) -> validator.validate((token) -> token.getValue().equals(";"))).end((a,b) -> a);
|
||||||
StateTree<JavaElement> braces_container = new StateTree<>();
|
StateTree<JavaElement> braces_container = new StateTree<>();
|
||||||
|
|
||||||
|
StateTree<JavaElement> function_container = new StateTree<>();
|
||||||
|
function_container.then((validator) -> validator.validate((token) -> token.getValue().equals(";"))).end((a,b) -> a);
|
||||||
|
|
||||||
//VALUE
|
//VALUE
|
||||||
StateTree<JavaElement> value = new StateTree<>();
|
StateTree<JavaElement> value = new StateTree<>();
|
||||||
|
|
||||||
|
@ -170,24 +173,18 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
StateTree<JavaElement> value_name = new StateTree<JavaElement>();
|
StateTree<JavaElement> value_name = new StateTree<JavaElement>();
|
||||||
value.then(value_name);
|
value.then(value_name);
|
||||||
value_instance.then(new RedirectStateTree<>(value_name, (global, local) -> global.set(local)))
|
value_instance.then(new RedirectStateTree<>(value_name, (global, local) -> global.set(local)))
|
||||||
.end((a,b) -> {
|
.end((a,b) -> a)
|
||||||
System.out.println("new "+b);
|
|
||||||
return a;
|
|
||||||
})
|
|
||||||
.then((validator) -> validator.validate((token) -> token.getValue().equals("{")))
|
.then((validator) -> validator.validate((token) -> token.getValue().equals("{")))
|
||||||
.end((a,b) -> a)
|
.end((a,b) -> a)
|
||||||
.multiple(braces_container)
|
.multiple(braces_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);
|
||||||
value_name = value_name.then((validator) -> validator.validate(
|
value_name = value_name.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)));
|
||||||
(token) -> token.getType().equals(TokenType.NAME),
|
|
||||||
(bag, token) -> {
|
|
||||||
Token current = bag.get();
|
|
||||||
if(current == null) current = token;
|
|
||||||
else current = current.concat(token);
|
|
||||||
bag.set(current);
|
|
||||||
}));
|
|
||||||
value_name.end((a,b) -> a);
|
value_name.end((a,b) -> a);
|
||||||
|
|
||||||
|
value_name.then((validator) -> validator.validate((token) -> token.getValue().equals(":")) && validator.validate((token) -> token.getValue().equals(":")))
|
||||||
|
.then((validator) -> validator.validate((token) -> token.getType().equals(TokenType.NAME)))
|
||||||
|
.end((a,b) -> a);
|
||||||
|
|
||||||
StateTree<JavaElement> value_call = value_name.then((validator) -> validator.validate((token) -> token.getValue().equals(".")));
|
StateTree<JavaElement> value_call = value_name.then((validator) -> validator.validate((token) -> token.getValue().equals(".")));
|
||||||
value_call.end((a,b) -> a);
|
value_call.end((a,b) -> a);
|
||||||
value_call.then(value_name);
|
value_call.then(value_name);
|
||||||
|
@ -218,25 +215,17 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
if(count == null) count = 0;
|
if(count == null) count = 0;
|
||||||
global.set("arg"+count, local);
|
global.set("arg"+count, local);
|
||||||
global.set("args", (count+1));
|
global.set("args", (count+1));
|
||||||
System.out.println("inside of method call");
|
|
||||||
}));
|
}));
|
||||||
value_arg.then((validator) -> validator.validate((token) -> token.getValue().equals(",")))
|
value_arg.then((validator) -> validator.validate((token) -> token.getValue().equals(",")))
|
||||||
.then(value_arg);
|
.then(value_arg);
|
||||||
value_arg.then(value_arg_end);
|
value_arg.then(value_arg_end);
|
||||||
|
|
||||||
StateTree<JavaElement> value_left = new StateTree<>();
|
StateTree<JavaElement> value_left = new StateTree<>();
|
||||||
value_container.then((v) -> v.validate((t) -> {
|
|
||||||
System.out.println("value container "+t);
|
|
||||||
return false;
|
|
||||||
}));
|
|
||||||
StateTree<JavaElement> value_parenthesis = value_container.then((validator) -> validator.validate((token) -> token.getValue().equals("(")));
|
StateTree<JavaElement> value_parenthesis = value_container.then((validator) -> validator.validate((token) -> token.getValue().equals("(")));
|
||||||
value_parenthesis.then((v) -> v.validate((t) -> {
|
StateTree<JavaElement> value_cast = value_parenthesis.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)))
|
||||||
System.out.println("value parenthesis "+t);
|
|
||||||
return false;
|
|
||||||
}));
|
|
||||||
StateTree<JavaElement> value_cast = value_parenthesis.then(new RedirectStateTree<>(type, (global, local) -> System.out.println("can u casted ?")))
|
|
||||||
.then((validator) -> validator.validate((token) -> token.getValue().equals(")")))
|
.then((validator) -> validator.validate((token) -> token.getValue().equals(")")))
|
||||||
.then(new RedirectStateTree<>(value_container, (global, local) -> System.out.println("casted")));
|
.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null)));
|
||||||
value_cast.then(value_left);
|
value_cast.then(value_left);
|
||||||
StateTree<JavaElement> value_lambda_arg = value_parenthesis.then((validator) -> validator.validate((token) -> token.getType().equals(TokenType.NAME)));
|
StateTree<JavaElement> value_lambda_arg = value_parenthesis.then((validator) -> validator.validate((token) -> token.getType().equals(TokenType.NAME)));
|
||||||
value_lambda_arg.then((validator) -> validator.validate((token) -> token.getValue().equals(",")))
|
value_lambda_arg.then((validator) -> validator.validate((token) -> token.getValue().equals(",")))
|
||||||
|
@ -247,18 +236,14 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
validator.validate((token) -> token.getValue().equals(">")));
|
validator.validate((token) -> token.getValue().equals(">")));
|
||||||
value_lambda.then((validator) -> validator.validate((token) -> token.getValue().equals("{")))
|
value_lambda.then((validator) -> validator.validate((token) -> token.getValue().equals("{")))
|
||||||
.end((a,b) -> a).end((a,b) -> a)
|
.end((a,b) -> a).end((a,b) -> a)
|
||||||
.multiple(braces_container)
|
.multiple(function_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);
|
||||||
value_lambda.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null))).end((a,b) -> a);
|
value_lambda.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null))).end((a,b) -> a);
|
||||||
value_lambda_arg.then(value_lambda);
|
value_lambda_arg.then(value_lambda);
|
||||||
StateTree<JavaElement> value_parenthesis_end = value_parenthesis.then(new RedirectStateTree<>(value_container, (global, local) -> System.out.println("in a container")))
|
StateTree<JavaElement> value_parenthesis_end = value_parenthesis.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null)))
|
||||||
.then((validator) -> validator.validate((token) -> token.getValue().equals(")")));
|
.then((validator) -> validator.validate((token) -> token.getValue().equals(")")));
|
||||||
value_parenthesis_end.end((a,b) -> {
|
value_parenthesis_end.end((a,b) -> a);
|
||||||
System.out.println("we got a container");
|
|
||||||
return a;
|
|
||||||
});
|
|
||||||
value_parenthesis_end.then((v) -> v.validate((t) -> {
|
value_parenthesis_end.then((v) -> v.validate((t) -> {
|
||||||
System.out.println("so then, left or call ?");
|
|
||||||
return false;
|
return false;
|
||||||
}));
|
}));
|
||||||
value_parenthesis_end.then(value_call);
|
value_parenthesis_end.then(value_call);
|
||||||
|
@ -317,9 +302,10 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
.then((validator) -> validator.validate((token) -> token.getValue().equals(":")))
|
.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)))
|
||||||
.end((a,b) -> a);
|
.end((a,b) -> a);
|
||||||
value_left.then((validator) -> validator.validate((token) -> token.getValue().equals("instanceof")))
|
StateTree<JavaElement> value_instanceof = value_left.then((validator) -> validator.validate((token) -> token.getValue().equals("instanceof")))
|
||||||
.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)))
|
.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)));
|
||||||
.end((a,b) -> a);
|
value_instanceof.end((a,b) -> a);
|
||||||
|
value_instanceof.then(value_left);
|
||||||
|
|
||||||
value.then((validator) -> {
|
value.then((validator) -> {
|
||||||
if(validator.validate((token) -> token.getValue().equals("'"))){
|
if(validator.validate((token) -> token.getValue().equals("'"))){
|
||||||
|
@ -400,9 +386,6 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
annotation_value.then(annotation_end);
|
annotation_value.then(annotation_end);
|
||||||
annotation_begin.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null))).then(annotation_end);
|
annotation_begin.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null))).then(annotation_end);
|
||||||
|
|
||||||
StateTree<JavaElement> function_container = new StateTree<>();
|
|
||||||
function_container.then((validator) -> validator.validate((token) -> token.getValue().equals(";"))).end((a,b) -> a);
|
|
||||||
|
|
||||||
//VARIABLE
|
//VARIABLE
|
||||||
InitialStateTree<JavaElement> variable = new InitialStateTree<>();
|
InitialStateTree<JavaElement> variable = new InitialStateTree<>();
|
||||||
variable.multiple(annotation);
|
variable.multiple(annotation);
|
||||||
|
@ -442,7 +425,7 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
operation_value.then((validator) -> validator.validate((token) -> token.getValue().equals(","))).then(operation_value);
|
operation_value.then((validator) -> validator.validate((token) -> token.getValue().equals(","))).then(operation_value);
|
||||||
|
|
||||||
StateTree<JavaElement> operation_return = operation.then((validator) -> validator.validate((token) -> token.getValue().equals("return")));
|
StateTree<JavaElement> operation_return = operation.then((validator) -> validator.validate((token) -> token.getValue().equals("return")));
|
||||||
operation_return.then(new RedirectStateTree<>(value_container, (global, local) -> System.out.println("return value")))
|
operation_return.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null)))
|
||||||
.then((validator) -> validator.validate((token) -> token.getValue().equals(";")))
|
.then((validator) -> validator.validate((token) -> token.getValue().equals(";")))
|
||||||
.end((a,b) -> a);
|
.end((a,b) -> a);
|
||||||
operation_return.then((validator) -> validator.validate((token) -> token.getValue().equals(";")))
|
operation_return.then((validator) -> validator.validate((token) -> token.getValue().equals(";")))
|
||||||
|
@ -485,6 +468,7 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
// .unique((validator) -> validator.validate((token) -> token.getValue().equals("}")))
|
// .unique((validator) -> validator.validate((token) -> token.getValue().equals("}")))
|
||||||
// .end((a,b) -> a);
|
// .end((a,b) -> a);
|
||||||
//
|
//
|
||||||
|
|
||||||
StateTree<JavaElement> operation_catch_named = operation_try_end.then((validator) -> validator.validate((token) -> token.getValue().equals("catch")))
|
StateTree<JavaElement> operation_catch_named = operation_try_end.then((validator) -> validator.validate((token) -> token.getValue().equals("catch")))
|
||||||
.then((validator) -> validator.validate((token) -> token.getValue().equals("(")))
|
.then((validator) -> validator.validate((token) -> token.getValue().equals("(")))
|
||||||
.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)));
|
.then(new RedirectStateTree<>(type, (global, local) -> global.set(null)));
|
||||||
|
@ -643,15 +627,9 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
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("{")))
|
||||||
.end((a,b) -> {
|
.end((a,b) -> a)
|
||||||
System.out.println("build function "+b);
|
|
||||||
return a;
|
|
||||||
})
|
|
||||||
.multiple(function_container)
|
.multiple(function_container)
|
||||||
.unique((validator) -> validator.validate((token) -> token.getValue().equals("}"))).end((a,b) -> {
|
.unique((validator) -> validator.validate((token) -> token.getValue().equals("}"))).end((a,b) -> a);
|
||||||
System.out.println("inside of the function "+b);
|
|
||||||
return a;
|
|
||||||
});
|
|
||||||
function_end.then((validator) -> validator.validate((token) -> token.getValue().equals(";"))).end((a,b) -> a);
|
function_end.then((validator) -> validator.validate((token) -> token.getValue().equals(";"))).end((a,b) -> a);
|
||||||
function_end.then((validator) -> validator.validate((token) -> token.getValue().equals("default")))
|
function_end.then((validator) -> validator.validate((token) -> token.getValue().equals("default")))
|
||||||
.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null)))
|
.then(new RedirectStateTree<>(value_container, (global, local) -> global.set(null)))
|
||||||
|
@ -750,12 +728,6 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
mult_clazz_container.multiple(clazz_container);
|
mult_clazz_container.multiple(clazz_container);
|
||||||
mult_clazz_container.end((a,b) -> a);
|
mult_clazz_container.end((a,b) -> a);
|
||||||
|
|
||||||
StateTree<JavaElement> debug = new StateTree<>();
|
|
||||||
debug.then((v) -> v.validate((t) -> {
|
|
||||||
System.out.println("debug "+t);
|
|
||||||
return false;
|
|
||||||
}));
|
|
||||||
|
|
||||||
//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")))
|
||||||
|
@ -765,7 +737,6 @@ public class JavaParser extends Parser<JavaElement> {
|
||||||
enum_start.end((a,b) -> a)
|
enum_start.end((a,b) -> a)
|
||||||
.unique(enum_value)
|
.unique(enum_value)
|
||||||
.unique(mult_clazz_container)
|
.unique(mult_clazz_container)
|
||||||
.unique(debug)
|
|
||||||
.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_implement = enum_base.then((validator) -> validator.validate((token) -> token.getValue().equals("implements")));
|
StateTree<JavaElement> enum_implement = enum_base.then((validator) -> validator.validate((token) -> token.getValue().equals("implements")));
|
||||||
|
|
Loading…
Add table
Reference in a new issue