Skip to content

Commit

Permalink
runtime(go): minimum requirement go1.18
Browse files Browse the repository at this point in the history
golang.org/x/exp,
which requires newer go version,
is too heavy for previous implementation

Signed-off-by: Kyle Xiao <xiaost7@gmail.com>
  • Loading branch information
xiaost committed Jan 10, 2025
1 parent 6722835 commit 888ca4d
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,11 @@ protected CompiledState compile(RunOptions runOptions, GeneratedState generatedS
//
Exception ex = null;
if (cachedGoSum == null) {
// We need to write an empty go.sum file because `go mod tidy` may not generate it if there is no dependency.
// Or it will casue `java.io.FileNotFoundException` when readFile below
//
writeFile(getTempDirPath(), "go.sum", "")

try {
Processor.run(new String[]{getRuntimeToolPath(), "mod", "tidy"}, getTempDirPath(), environment);
} catch (InterruptedException | IOException e) {
Expand Down
4 changes: 1 addition & 3 deletions runtime/Go/antlr/v4/go.mod
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
module github.com/antlr4-go/antlr/v4

go 1.20

require golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc
go 1.18
4 changes: 0 additions & 4 deletions runtime/Go/antlr/v4/go.sum
Original file line number Diff line number Diff line change
@@ -1,4 +0,0 @@
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e h1:+WEEuIdZHnUeJJmEUjyYC2gfUMj69yZXw17EnHg/otA=
golang.org/x/exp v0.0.0-20220722155223-a9213eeb770e/go.mod h1:Kr81I6Kryrl9sr8s2FK3vxD90NdsKWRuOIl2O4CvYbA=
golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc h1:mCRnTeVUjcrhlRmO0VK8a6k6Rrf6TF9htwo2pJVSjIU=
golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w=
11 changes: 6 additions & 5 deletions runtime/Go/antlr/v4/lexer_action_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@

package antlr

import "golang.org/x/exp/slices"

// Represents an executor for a sequence of lexer actions which traversed during
// the Matching operation of a lexer rule (token).
//
Expand Down Expand Up @@ -167,7 +165,10 @@ func (l *LexerActionExecutor) Equals(other interface{}) bool {
if len(l.lexerActions) != len(othert.lexerActions) {
return false
}
return slices.EqualFunc(l.lexerActions, othert.lexerActions, func(i, j LexerAction) bool {
return i.Equals(j)
})
for i, v := range l.lexerActions {
if !v.Equals(othert.lexerActions[i]) {
return false
}
}
return true
}

0 comments on commit 888ca4d

Please sign in to comment.