/* * Copyright (c) 2012-2017 The ANTLR Project. All rights reserved. * Use of this file is governed by the BSD 3-clause license that * can be found in the LICENSE.txt file in the project root. */ package org.antlr.v4.codegen.model; import org.antlr.v4.codegen.OutputModelFactory; import org.antlr.v4.tool.Grammar; import org.antlr.v4.tool.LexerGrammar; import org.antlr.v4.tool.Rule; import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; public class Lexer extends Recognizer { public Map<String,Integer> channels; public LexerFile file; public Collection<String> modes; @ModelElement public LinkedHashMap<Rule, RuleActionFunction> actionFuncs = new LinkedHashMap<Rule, RuleActionFunction>(); public Lexer(OutputModelFactory factory, LexerFile file) { super(factory); this.file = file; // who contains us? Grammar g = factory.getGrammar(); channels = new LinkedHashMap<String, Integer>(g.channelNameToValueMap); modes = ((LexerGrammar)g).modes.keySet(); } }