ParserRuleContext的这个方法有什么意义
<T extends ParserRuleContext> List<T>
T getRuleContext(Class<? extends T> ctxType)
当我尝试使用此方法获取父级的子上下文时,它始终返回null。 例如
parentRuleContext.getRuleContext(ChildOneContext.class,MyParser.Rule_ChildOne)
我假设应该返回所有ChildOneContexts但总是返回null。
我错误地使用这种方法,它的目的是不同的?由于没有关于此的文档,不清楚使用。
答案 0 :(得分:0)
getRuleContext
应该返回第i个子节点(来自带有i参数的变体)或给定类类型的所有子节点。如果你回到null,我说你没有给定类型的孩子。您可以通过检查children
成员轻松检查这一点,看看是否存在ChildOneContext
个孩子。