Go target, cannot use superClass for the lexer grammar!

I'm trying to use the superClass option in a lexer grammar. It works fine for a parser grammar, but for a lexer grammar, it fails at runtime with a null pointer dereference in the generated constructor NewFOOBARLexer().

For example,

type CSharpLexer struct {
	*CSharpLexerBase
	channelNames []string
	modeNames    []string
	// TODO: EOF string
}

func NewCSharpLexer(input antlr.CharStream) *CSharpLexer {
	l := new(CSharpLexer)
	...
	l.BaseLexer = antlr.NewBaseLexer(input)  <<<<<< CRASHES HERE WITH NULL PTR DEREF.
	...
	return l
}

It crashes on l.BaseLexer = antlr.NewBaseLexer(input), specifically on the assignment to l.BaseLexer, and not on the call to the constructor antlr.NewBaseLexer(input).

Contrast this with the parser code:

type CSharpParser struct {
	CSharpParserBase
}

func NewCSharpParser(input antlr.TokenStream) *CSharpParser {
	this := new(CSharpParser)
	...
	this.BaseParser = antlr.NewBaseParser(input)
	...
	return this
}

This code works for the parser. The assignment to this.BaseParser works fine as it's not a null pointer.

The constructor code for the lexer fails because the type CSharpLexer struct is wrong. It defines the struct to contain*CSharpLexerBase, whereas in the parser type CSharpParser struct, the struct contains CSharpParserBase not a pointer. Changing the type struct declation for the generated lexer to CSharpLexerBase instead of *CSharpLexerBase fixes the crash, and my parser/lexer work just fine.

The problem is here-- the line erroneously contains *, whereas for the parser here, it is declared directly.