private int? GetChannelConstantValue([Nullable] string channelName, [Nullable] IToken token)
{
if (channelName == null)
{
return null;
}
if (channelName.Equals("HIDDEN"))
{
return Lexer.Hidden;
}
if (channelName.Equals("DEFAULT_TOKEN_CHANNEL"))
{
return Lexer.DefaultTokenChannel;
}
if (COMMON_CONSTANTS.ContainsKey(channelName))
{
g.tool.errMgr.GrammarError(ErrorType.CHANNEL_CONFLICTS_WITH_COMMON_CONSTANTS, g.fileName, token, token.Text);
return null;
}
int channelValue = g.GetChannelValue(channelName);
if (channelValue >= Antlr4.Runtime.TokenConstants.MinUserChannelValue)
{
return channelValue;
}
int result;
if (int.TryParse(channelName, out result))
return result;
g.tool.errMgr.GrammarError(ErrorType.CONSTANT_VALUE_IS_NOT_A_RECOGNIZED_CHANNEL_NAME, g.fileName, token, token.Text);
return null;
}
}