java: avoid Integer(String), use parseInt

Akim Demaille <[email protected]>
Newsgroups gmane.comp.parsers.bison.patches
Message-ID <[email protected]>
commit f7a7310433b894aaf1ef2f88654b1d5323bb872a
Author: Akim Demaille <[email protected]>
Date:   Tue Nov 3 08:34:00 2020 +0100

    java: avoid Integer(String), use parseInt
    
        examples/java/calc/Calc.java:1531: warning: [deprecation] Integer(String) in Integer has been deprecated
              yylval = new Integer(st.sval);
                       ^
    
    * examples/java/calc/Calc.y, examples/java/simple/Calc.y,
    * tests/calc.at, tests/scanner.at: Use Integer.parseInt.

diff --git a/examples/java/calc/Calc.y b/examples/java/calc/Calc.y
index b0c2ba7d..216b1db6 100644
--- a/examples/java/calc/Calc.y
+++ b/examples/java/calc/Calc.y
@@ -205,7 +205,7 @@ class CalcLexer implements Calc.Lexer {
       end.column = 0;
       return EOL;
     case StreamTokenizer.TT_WORD:
-      yylval = new Integer(st.sval);
+      yylval = Integer.parseInt(st.sval);
       end.set(reader.getPreviousPosition());
       return NUM;
     case ' ': case '\t':
diff --git a/examples/java/simple/Calc.y b/examples/java/simple/Calc.y
index 958bcd5e..d7b27b96 100644
--- a/examples/java/simple/Calc.y
+++ b/examples/java/simple/Calc.y
@@ -116,7 +116,7 @@ class CalcLexer implements Calc.Lexer {
     case StreamTokenizer.TT_EOL:
       return (int) '\n';
     case StreamTokenizer.TT_WORD:
-      yylval = new Integer(st.sval);
+      yylval = Integer.parseInt(st.sval);
       return NUM;
     default:
       return ttype;
diff --git a/tests/calc.at b/tests/calc.at
index a8b9ed67..94a5fdb0 100644
--- a/tests/calc.at
+++ b/tests/calc.at
@@ -797,10 +797,10 @@ m4_define([AT_CALC_YYLEX(java)],
     return yylval;
   }
 
-  public int yylex () throws IOException {;]AT_LOCATION_IF([[
-    start.set (reader.getPosition ());]])[
-    int tkind = st.nextToken ();]AT_LOCATION_IF([[
-    end.set (reader.getPosition ());]])[
+  public int yylex() throws IOException {;]AT_LOCATION_IF([[
+    start.set(reader.getPosition());]])[
+    int tkind = st.nextToken();]AT_LOCATION_IF([[
+    end.set(reader.getPosition());]])[
     switch (tkind)
       {
       case StreamTokenizer.TT_EOF:
@@ -810,11 +810,11 @@ m4_define([AT_CALC_YYLEX(java)],
         end.column = 0;]])[
         return (int) '\n';
       case StreamTokenizer.TT_WORD:
-        yylval = new Integer (st.sval);]AT_LOCATION_IF([[
-        end.set (reader.getPreviousPosition ());]])[
+        yylval = Integer.parseInt(st.sval);]AT_LOCATION_IF([[
+        end.set(reader.getPreviousPosition());]])[
         return NUM;
       case ' ': case '\t':
-        return yylex ();
+        return yylex();
       case '#':
         System.err.println(]AT_LOCATION_IF([[start + ": " + ]])["syntax error: invalid character: '#'");
         return YYerror;
diff --git a/tests/scanner.at b/tests/scanner.at
index b65895c9..1d1041b5 100644
--- a/tests/scanner.at
+++ b/tests/scanner.at
@@ -199,8 +199,8 @@ m4_define([AT_RAW_YYLEX(java)],
     return yylval;
   }
 
-  public int yylex () throws IOException {
-    int ttype = st.nextToken ();
+  public int yylex() throws IOException {
+    int ttype = st.nextToken();
     switch (ttype)
       {
       case StreamTokenizer.TT_EOF:
@@ -208,7 +208,7 @@ m4_define([AT_RAW_YYLEX(java)],
       case StreamTokenizer.TT_EOL:
         return (int) '\n';
       case StreamTokenizer.TT_WORD:
-        yylval = new Integer (st.sval);
+        yylval = Integer.parseInt(st.sval);
         return NUM;
       case '+':
         return PLUS;
@@ -223,7 +223,7 @@ m4_define([AT_RAW_YYLEX(java)],
       case ')':
         return RPAR;
       default:
-        throw new AssertionError ("invalid character: " + ttype);
+        throw new AssertionError("invalid character: " + ttype);
       }
   }
 }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.