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.
21 lines
459 B
21 lines
459 B
5 years ago
|
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 */
|
||
|
}
|
||
|
}
|