Gaming32 / ArrayV

New home of https://github.com/MusicTheorist/ArrayVisualizer
MIT License
303 stars 47 forks source link

Groovy "Unsupported class file major version" #89

Closed Antwerpion closed 1 year ago

Antwerpion commented 1 year ago

Exception in thread "main" BUG! exception in phase 'semantic analysis' in source unit 'jar:file:/C:/Users/anton/Downloads/ArrayV-5.1.jar!/scripts/categories/exchange.groovy' Unsupported class file major version 63 at org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:861) at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:653) at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:627) at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:368) at groovy.lang.GroovyClassLoader.lambda$parseClass$2(GroovyClassLoader.java:311) at org.codehaus.groovy.runtime.memoize.StampedCommonCache.compute(StampedCommonCache.java:163) at org.codehaus.groovy.runtime.memoize.StampedCommonCache.getAndPut(StampedCommonCache.java:154) at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:309) at groovy.lang.GroovyShell.parseClass(GroovyShell.java:543) at groovy.lang.GroovyShell.parse(GroovyShell.java:556) at groovy.lang.GroovyShell.parse(GroovyShell.java:568) at groovy.lang.GroovyShell.parse(GroovyShell.java:586) at io.github.arrayv.groovyapi.ScriptManager.loadScript(ScriptManager.java:232) at io.github.arrayv.groovyapi.ScriptManager.loadBuiltinScripts(ScriptManager.java:310) at io.github.arrayv.groovyapi.ScriptManager.loadDefaultScripts(ScriptManager.java:274) at io.github.arrayv.main.ArrayVisualizer.(ArrayVisualizer.java:556) at io.github.arrayv.main.ArrayVisualizer.main(ArrayVisualizer.java:1526) Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 63 at groovyjarjarasm.asm.ClassReader.(ClassReader.java:199) at groovyjarjarasm.asm.ClassReader.(ClassReader.java:180) at groovyjarjarasm.asm.ClassReader.(ClassReader.java:166) at groovyjarjarasm.asm.ClassReader.(ClassReader.java:287) at org.codehaus.groovy.ast.decompiled.AsmDecompiler.parseClass(AsmDecompiler.java:83) at org.codehaus.groovy.control.ClassNodeResolver.findDecompiled(ClassNodeResolver.java:255) at org.codehaus.groovy.control.ClassNodeResolver.tryAsLoaderClassOrScript(ClassNodeResolver.java:193) at org.codehaus.groovy.control.ClassNodeResolver.findClassNode(ClassNodeResolver.java:175) at org.codehaus.groovy.control.ClassNodeResolver.resolveName(ClassNodeResolver.java:129) at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClassNullable(AsmReferenceResolver.java:57) at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClass(AsmReferenceResolver.java:44) at org.codehaus.groovy.ast.decompiled.TypeSignatureParser.visitEnd(TypeSignatureParser.java:113) at groovyjarjarasm.asm.signature.SignatureReader.parseType(SignatureReader.java:206) at groovyjarjarasm.asm.signature.SignatureReader.accept(SignatureReader.java:122) at org.codehaus.groovy.ast.decompiled.ClassSignatureParser.parseClassSignature(ClassSignatureParser.java:104) at org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:36) at org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:222) at org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getUnresolvedSuperClass(DecompiledClassNode.java:129) at org.codehaus.groovy.ast.ClassNode.getUnresolvedSuperClass(ClassNode.java:1049) at org.codehaus.groovy.ast.ClassNode.getSuperClass(ClassNode.java:1043) at org.codehaus.groovy.control.ResolveVisitor.transformPropertyExpression(ResolveVisitor.java:944) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:790) at org.codehaus.groovy.ast.expr.Expression.transformExpressions(Expression.java:49) at org.codehaus.groovy.ast.expr.ArgumentListExpression.transformExpression(ArgumentListExpression.java:67) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:805) at org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1146) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:796) at org.codehaus.groovy.ast.expr.BooleanExpression.transformExpression(BooleanExpression.java:46) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:805) at org.codehaus.groovy.ast.expr.TernaryExpression.transformExpression(TernaryExpression.java:50) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:805) at org.codehaus.groovy.control.ResolveVisitor.transformPropertyExpression(ResolveVisitor.java:913) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:790) at org.codehaus.groovy.ast.expr.Expression.transformExpressions(Expression.java:49) at org.codehaus.groovy.ast.expr.ArgumentListExpression.transformExpression(ArgumentListExpression.java:67) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:805) at org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1146) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:796) at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:108) at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:41) at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:168) at org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1413) at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:70) at org.codehaus.groovy.control.ResolveVisitor.transformClosureExpression(ResolveVisitor.java:1124) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:798) at org.codehaus.groovy.ast.expr.Expression.transformExpressions(Expression.java:49) at org.codehaus.groovy.ast.expr.ArgumentListExpression.transformExpression(ArgumentListExpression.java:67) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:805) at org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1146) at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:796) at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:108) at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:41) at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:86) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:168) at org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1413) at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:70) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:142) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:115) at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:66) at org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:299) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:110) at org.codehaus.groovy.control.ResolveVisitor.visitMethod(ResolveVisitor.java:269) at org.codehaus.groovy.ast.ClassNode.visitMethods(ClassNode.java:1135) at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1128) at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:52) at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1357) at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:259) at org.codehaus.groovy.control.CompilationUnit.lambda$addPhaseOperations$3(CompilationUnit.java:204) at org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:857) ... 16 more

Gaming32 commented 1 year ago

Appears like the version of Groovy we use doesn't support Java 19.

Antwerpion commented 1 year ago

When I installed Java 8 and then opened the 'ArrayV-5.1.jar' file, the window named "w0rthy's Array Visualizer" ran. But after installing JDK19 and then opening the 'ArrayV-5.1.jar' file, it failed to do so. It also no longer works on Java 8. However, the 'ArrayV-5.0.jar' file still has no issues to speak of whatsoever on both Java 8 and JDK19 as of right now.