antlr / antlr/antlr4

[Java vs CSharp runtime] Different args to constructor for ParserATNInterpreter

Open
#4,473 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
19k
Forks
3.5k
PR merge metrics
No merged PRs in 30d

Description

This code in C# have null passed for the 3rd and 4th args. https://github.com/antlr/antlr4/blob/d25d421780286e3de0714831a5f82eca59234249/runtime/CSharp/src/Parser.cs#L1202

This code in Java *do not have* null passed for the 3rd and 4th args. https://github.com/antlr/antlr4/blob/d25d421780286e3de0714831a5f82eca59234249/runtime/Java/src/org/antlr/v4/runtime/Parser.java#L923

This is inconsistent. It is not clear off hand why they are different, and whether they end up doing the same thing in the constructor. But, this code doesn't look right.

Contributor guide

Open the contributing guide

Research direction

Compare the constructor call sites in runtime/CSharp/src/Parser.cs around line 1202 and runtime/Java/src/org/antlr/v4/runtime/Parser.java around line 923. Start by reading the ParserATNInterpreter constructor and checking what the third and fourth arguments represent in each runtime. Done means the calls are shown to be equivalent, corrected for consistency, or their intentional difference is documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, java
Domain
compilers
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.