Method: Trees.getNodeText

Defined in:
lib/antlr4/tree/Trees.rb

.getNodeText(t, ruleNames = nil, recog = nil) ⇒ Object



34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/antlr4/tree/Trees.rb', line 34

def self.getNodeText(t, ruleNames=nil, recog=nil) 
    if not recog.nil? then 
        ruleNames = recog.ruleNames
    end
    if not ruleNames.nil? then 
        if t.kind_of? RuleNode then
            return ruleNames[t.getRuleContext().getRuleIndex()]
        elsif t.kind_of? ErrorNode then
            return t.to_s
        elsif t.kind_of? TerminalNode then
            if not t.symbol.nil? then 
                return t.symbol.text
            end
        end
    end
    # no recog for rule names
    payload = t.getPayload()
    if payload.kind_of? Token then
        return payload.text
    end
    return t.getPayload().to_s
end