diff --git a/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp b/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp index df6c26550..ca164fc81 100755 --- a/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp +++ b/runtime/Cpp/runtime/src/atn/LexerATNConfig.cpp @@ -82,7 +82,7 @@ size_t LexerATNConfig::hashCode() const { hashCode = misc::MurmurHash::update(hashCode, context); hashCode = misc::MurmurHash::update(hashCode, semanticContext); hashCode = misc::MurmurHash::update(hashCode, _passedThroughNonGreedyDecision ? 1 : 0); - hashCode = misc::MurmurHash::update(hashCode, _lexerActionExecutor ? _lexerActionExecutor->hashCode() : 0); + hashCode = misc::MurmurHash::update(hashCode, _lexerActionExecutor); hashCode = misc::MurmurHash::finish(hashCode, 6); return hashCode; } diff --git a/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp b/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp index 91198b074..7603bf953 100755 --- a/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp +++ b/runtime/Cpp/runtime/src/atn/LexerActionExecutor.cpp @@ -118,7 +118,7 @@ bool LexerActionExecutor::operator == (const LexerActionExecutor &obj) const { size_t LexerActionExecutor::generateHashCode() const { size_t hash = MurmurHash::initialize(); for (auto lexerAction : _lexerActions) { - hash = MurmurHash::update(hash, (size_t)lexerAction->hashCode()); + hash = MurmurHash::update(hash, lexerAction); } MurmurHash::finish(hash, _lexerActions.size()); diff --git a/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp b/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp index a6110197f..e01bd8801 100755 --- a/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp +++ b/runtime/Cpp/runtime/src/atn/LexerIndexedCustomAction.cpp @@ -67,7 +67,7 @@ void LexerIndexedCustomAction::execute(Lexer *lexer) { size_t LexerIndexedCustomAction::hashCode() const { size_t hash = MurmurHash::initialize(); hash = MurmurHash::update(hash, _offset); - hash = MurmurHash::update(hash, _action->hashCode()); + hash = MurmurHash::update(hash, _action); return MurmurHash::finish(hash, 2); }