forked from openrs2/openrs2
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
459 B
20 lines
459 B
package dev.openrs2.deob.ast.util;
|
|
|
|
import java.util.function.Consumer;
|
|
|
|
import com.github.javaparser.ast.Node;
|
|
|
|
public final class NodeUtils {
|
|
@SuppressWarnings("unchecked")
|
|
public static <T extends Node> void walk(Node node, Node.TreeTraversal traversal, Class<T> type, Consumer<T> consumer) {
|
|
node.walk(traversal, n -> {
|
|
if (type.isAssignableFrom(n.getClass())) {
|
|
consumer.accept((T) n);
|
|
}
|
|
});
|
|
}
|
|
|
|
private NodeUtils() {
|
|
/* empty */
|
|
}
|
|
}
|
|
|