use of com.trigersoft.jaque.expression.Expression in project yyl_example by Relucent.
the class JaqueExample method property.
public static <T> void property(Property<T, ?> propertyRef) {
LambdaExpression<Function<T, ?>> parsed = LambdaExpression.parse(propertyRef);
// Use parsed Expression Tree...
Expression body = parsed.getBody();
Expression methodCall = body;
System.out.println("body:\n" + body);
// remove casts
while (methodCall instanceof UnaryExpression) {
methodCall = ((UnaryExpression) methodCall).getFirst();
}
// checks are omitted for brevity
MemberExpression invexp = (MemberExpression) ((InvocationExpression) methodCall).getTarget();
Member member = invexp.getMember();
System.out.println("member:\n" + member);
System.out.println();
}
Aggregations