Exemple #1
0
  static <E extends ValueNode> E createNode(NodeFactory<E> factory, Object... constants) {
    ArgumentNode[] argumentNodes = arguments(factory.getExecutionSignature().size());

    List<Object> argumentList = new ArrayList<>();
    argumentList.addAll(Arrays.asList(constants));
    if (ChildrenNode.class.isAssignableFrom(factory.getNodeClass())
        || BuiltinNode.class.isAssignableFrom(factory.getNodeClass())) {
      argumentList.add(argumentNodes);
    } else {
      argumentList.addAll(Arrays.asList(argumentNodes));
    }
    return factory.createNode(argumentList.toArray(new Object[argumentList.size()]));
  }