Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Language IDEs » Java Development Tools (JDT) » Switch/default->null caused a building problem.
Switch/default->null caused a building problem. [message #1872072] Mon, 21 October 2024 09:45 Go to next message
d w is currently offline d wFriend
Messages: 1
Registered: October 2024
Junior Member
public static void main(String[] args) {
    int i = 3;
    int[] arr = { 1, 2, 3 };
    System.out.println((switch (i) {
        case 3 -> arr;
        default -> null; // Replacing null with a non-null value can avoid this issue.
    })[0]);
}


This code caused the following error.

Problems occurred when invoking code from plug-in: "org.eclipse.jdt.core.manipulation".

java.lang.ClassCastException: class org.eclipse.jdt.internal.compiler.lookup.NullTypeBinding cannot be cast to class org.eclipse.jdt.internal.compiler.lookup.ArrayBinding (org.eclipse.jdt.internal.compiler.lookup.NullTypeBinding and org.eclipse.jdt.internal.compiler.lookup.ArrayBinding are in unnamed module of loader org.eclipse.osgi.internal.loader.EquinoxClassLoader @697f9f69)
	at org.eclipse.jdt.internal.compiler.codegen.OperandStack.xaload(OperandStack.java:156)
	at org.eclipse.jdt.internal.compiler.codegen.CodeStream.iaload(CodeStream.java:3867)
	at org.eclipse.jdt.internal.compiler.codegen.CodeStream.arrayAt(CodeStream.java:433)
	at org.eclipse.jdt.internal.compiler.ast.ArrayReference.generateCode(ArrayReference.java:113)
	at org.eclipse.jdt.internal.compiler.ast.Statement.generateArguments(Statement.java:440)
	at org.eclipse.jdt.internal.compiler.ast.MessageSend.generateCode(MessageSend.java:626)
	at org.eclipse.jdt.internal.compiler.ast.Expression.generateCode(Expression.java:771)
	at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:387)
	at org.eclipse.jdt.internal.compiler.ast.AbstractMethodDeclaration.generateCode(AbstractMethodDeclaration.java:323)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:759)
	at org.eclipse.jdt.internal.compiler.ast.TypeDeclaration.generateCode(TypeDeclaration.java:829)
	at org.eclipse.jdt.internal.compiler.ast.CompilationUnitDeclaration.generateCode(CompilationUnitDeclaration.java:412)
	at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:1378)
	at org.eclipse.jdt.core.dom.CompilationUnitResolver.resolve(CompilationUnitResolver.java:837)
	at org.eclipse.jdt.core.dom.CompilationUnitResolver.toCompilationUnit(CompilationUnitResolver.java:1467)
	at org.eclipse.jdt.core.dom.CompilationUnitResolver$ECJCompilationUnitResolver.toCompilationUnit(CompilationUnitResolver.java:117)
	at org.eclipse.jdt.core.dom.ASTParser.internalCreateASTCached(ASTParser.java:1263)
	at org.eclipse.jdt.core.dom.ASTParser.lambda$0(ASTParser.java:1142)
	at org.eclipse.jdt.internal.core.JavaModelManager.cacheZipFiles(JavaModelManager.java:5770)
	at org.eclipse.jdt.core.dom.ASTParser.internalCreateAST(ASTParser.java:1142)
	at org.eclipse.jdt.core.dom.ASTParser.createAST(ASTParser.java:882)
	at org.eclipse.jdt.core.manipulation.CoreASTProvider$1.run(CoreASTProvider.java:294)
	at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:47)
	at org.eclipse.jdt.core.manipulation.CoreASTProvider.createAST(CoreASTProvider.java:286)
	at org.eclipse.jdt.core.manipulation.CoreASTProvider.getAST(CoreASTProvider.java:199)
	at org.eclipse.jdt.core.manipulation.SharedASTProviderCore.getAST(SharedASTProviderCore.java:138)
	at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup.calculateASTandInform(SelectionListenerWithASTManager.java:167)
	at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$1.lambda$0(SelectionListenerWithASTManager.java:149)
	at org.eclipse.jdt.internal.core.JavaModelManager.cacheZipFiles(JavaModelManager.java:5770)
	at org.eclipse.jdt.internal.core.JavaModelManager.callReadOnly(JavaModelManager.java:5759)
	at org.eclipse.jdt.core.JavaCore.callReadOnly(JavaCore.java:6188)
	at org.eclipse.jdt.internal.ui.viewsupport.SelectionListenerWithASTManager$PartListenerGroup$1.run(SelectionListenerWithASTManager.java:149)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Re: Switch/default->null caused a building problem. [message #1872090 is a reply to message #1872072] Mon, 21 October 2024 12:10 Go to previous message
Nitin Dahyabhai is currently offline Nitin DahyabhaiFriend
Messages: 4507
Registered: July 2009
Senior Member

Sounds like an issue to report to https://github.com/eclipse-jdt/eclipse.jdt.core/issues .

_
Nitin Dahyabhai
Eclipse Web Tools Platform
Previous Topic:Build Path -> Link Source doesnt work
Next Topic:m2eclipse (Maven Integration): how to see actual Maven output or customize builds?
Goto Forum:
  


Current Time: Fri Jan 24 20:57:39 GMT 2025

Powered by FUDForum. Page generated in 0.05305 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top