net.sourceforge.pmd.lang.kotlin.ast.KotlinInnerNode Maven / Gradle / Ivy
/*
* BSD-style license; for more info see http://pmd.sourceforge.net/license.html
*/
package net.sourceforge.pmd.lang.kotlin.ast;
import org.antlr.v4.runtime.ParserRuleContext;
import net.sourceforge.pmd.lang.ast.AstVisitor;
import net.sourceforge.pmd.lang.ast.impl.antlr4.BaseAntlrInnerNode;
abstract class KotlinInnerNode extends BaseAntlrInnerNode implements KotlinNode {
KotlinInnerNode(ParserRuleContext parent, int invokingStateNumber) {
super(parent, invokingStateNumber);
}
@Override
public R acceptVisitor(AstVisitor super P, ? extends R> visitor, P data) {
if (visitor instanceof KotlinVisitor) {
// some of the generated antlr nodes have no accept method...
return ((KotlinVisitor super P, ? extends R>) visitor).visitKotlinNode(this, data);
}
return visitor.visitNode(this, data);
}
@Override // override to make visible in package
protected PmdAsAntlrInnerNode asAntlrNode() {
return super.asAntlrNode();
}
@Override
public String getXPathNodeName() {
return KotlinParser.DICO.getXPathNameOfRule(getRuleIndex());
}
}