From 0970f5a5074da34fffaea70f3b42d012edb501c5 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 14 Jul 2016 22:50:55 +0100 Subject: Simplify dynamic visitor creation --- .../java/org/zwobble/couscous/interpreter/Executor.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'src/main/java/org/zwobble/couscous/interpreter/Executor.java') diff --git a/src/main/java/org/zwobble/couscous/interpreter/Executor.java b/src/main/java/org/zwobble/couscous/interpreter/Executor.java index 50fdcff..eba214b 100644 --- a/src/main/java/org/zwobble/couscous/interpreter/Executor.java +++ b/src/main/java/org/zwobble/couscous/interpreter/Executor.java @@ -1,6 +1,5 @@ package org.zwobble.couscous.interpreter; -import net.bytebuddy.description.type.TypeDescription; import org.zwobble.couscous.ast.*; import org.zwobble.couscous.ast.visitors.DynamicNodeMapper; import org.zwobble.couscous.ast.visitors.StatementNodeMapper; @@ -65,17 +64,13 @@ public class Executor implements StatementNodeMapper> private static Stream findDeclarations(List body) { return body.stream() .flatMap(statement -> descendantNodesAndSelf(statement, node -> node instanceof StatementNode)) - .flatMap(findDirectDeclarations); + .flatMap(FindDirectDeclarations.VISITOR); } - private static final Function> findDirectDeclarations = - DynamicNodeMapper.>build( - FindDirectDeclarations.class, - new TypeDescription.ForLoadedType(Stream.class), - "visit" - ).instantiate(new FindDirectDeclarations()); - public static class FindDirectDeclarations { + private static final Function> VISITOR = + DynamicNodeMapper.instantiate(new FindDirectDeclarations(), "visit"); + public Stream visit(Node node) { return Stream.empty(); } -- cgit v1.2.3