visitor

    5热度

    2回答

    被警告:在我们遇到真正的问题之前,有很多背景信息。 我有一个相当宽的C++类层次结构(代表像不同类型的表达式): class BaseValue { virtual ~BaseValue(); }; class IntValue final : public BaseValue { int get() const; }; class DoubleValue final : public Bas

    1热度

    1回答

    我试图为boost::variant写一个vistor,它需要一个参数包类型并为每个类型生成一个operator()。在调用正确的函数的同时,当试图从访问者的变量中保存get-ed对象时,仍然会出现错误。 我的观众是这样的: #include <boost/variant.hpp> #include <iostream> template <class T> class GenericGe

    1热度

    1回答

    以下字符串: x=92 and y=29 产生一个有效的输出:x=92 AND y=29和正常工作与CCJSqlParserUtil.parseCondExpression,但它不应该抛出异常以下? x=92 lasd y=29 但产量只是:x=92 而且它表达我应该用它来实现自己的访客?即, CCJSqlParser c= new CCJSqlParser(new StringReade

    4热度

    4回答

    当使用Visitor Pattern时,visit(object)方法是否可以更新或修改它所访问的对象,或者只是简单地假定只使用该对象执行某些计算并返回计算结果? 感谢

    0热度

    1回答

    我想了解Java的ObjectWeb ASM库(框架?)如何通过阅读文档和查看示例代码的组合。我慢慢地意识到它背后的想法,但是我发现了一些我只是不理解的示例代码,所以我希望这里有人能向我解释它。 代码获取mv,从ClassWriter的visitMethod方法得到的MethodVisitor中,并开始操纵这样的方法: mv.visitCode(); String methodSigna

    1热度

    1回答

    我正在尝试使用模板,访问者模式和CRTPs的帮助编写邮件系统。我理解这些概念,但仍然处于这种情况下,我必须回顾一种“迷失”类型。我有一个Base班,我想找到一个Derived<T>。这是推断“两种”的类型,即使它被认为是一种类型,任何东西都可以是T。 我试图利用第二个访客模式,这看起来很沉重而且很疯狂,但我没有找到任何工作解决方案。即使它与游戏有关,它只是一个例子,它可以应用于其他程序,我想,我不

    6热度

    2回答

    我正在使用antlr v4为其他目的提取Java程序的分析树。我从这个样本开始:ANTLR v4 visitor sample 而且我已经测试给定链路上的步骤检查是否正常工作,一切都消失了右: java Run a = 1+2 b = a^2 c = a+b*(a-1) a+b+c ^Z Result: 33.0 然后我写我自己来解析Java程序的结构如下: |_Java.g4

    1热度

    1回答

    假设我们有以下的,我们不能改变类: interface Base { void accept(Visitor visitor); } class Foo implements Base { short getShortValue() { return 1; } @Override public void accept(Visit

    0热度

    1回答

    我正在尝试使atrl4 4.6。工作,但我得到4先进的错误,我不能通过他们。任何人都可以帮我吗?也许需要匿名课程。 另外super()错误,我有它在正确的位置,但它否认工作。 Yoco.java:34: error: YocoVisitor is abstract; cannot be instantiated YocoVisitor eval = new YocoVisitor(di

    2热度

    2回答

    我正试图提取C++源代码的信息。 一个是字段的类型。 当下面的源代码想要在调用info.call()时提取info的Type。 Info info; //skip info.call(); //<- from here 槽使访问者访问IASTName节点,我试图提取类型信息,如下。 public class CDTVisitor extends ASTVisitor { pub