java: beware not to alias the locations of the various symbols

* examples/java/calc/Calc.y, tests/calc.at, tests/local.at
(getStartPos, getEndPos): Always return a new object.
* doc/bison.texi: Clarify this.
This commit is contained in:
Akim Demaille
2020-02-11 20:42:05 +01:00
parent cdb42f7730
commit 163a35d6dd
4 changed files with 22 additions and 7 deletions

View File

@@ -99,11 +99,11 @@ class CalcLexer implements Calc.Lexer {
Position end = new Position (1, 0);
public Position getStartPos () {
return start;
return new Position (start);
}
public Position getEndPos () {
return end;
return new Position (end);
}
public void yyreportSyntaxError (Calc.Context ctx)
@@ -175,6 +175,12 @@ class Position {
column = t;
}
public Position (Position p)
{
line = p.line;
column = p.column;
}
public void set (Position p)
{
line = p.line;