Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

findFileByName failing in 0.8.2 beta (was working in 0.8.1 beta) #150

Open
obbimi opened this issue Nov 18, 2022 · 1 comment
Open

findFileByName failing in 0.8.2 beta (was working in 0.8.1 beta) #150

obbimi opened this issue Nov 18, 2022 · 1 comment
Assignees

Comments

@obbimi
Copy link

obbimi commented Nov 18, 2022

When creating the simply groovy plugin with the following code, it works with version 0.8.1 beta.
But since upgrading to 0.8.2 beta, it fails with some class cast exception.

String anExistingFileName = "build.java.xml"
try {
    Object someFile = findFileByName(anExistingFileName, project)
    show("Found existing file : " + someFile)
} catch(Exception e) {
    show("findFileByName failed")
    throw e
}

try {
    Object someFiles = findAllFilesByName(anExistingFileName, project)
    show("Found existing files : " + someFiles)
} catch(Exception e) {
    show("findAllFilesByName failed")
    throw e
}

Example of the stacktrace

org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'file://C:/code/tim.git/ant/build.java.xml' with class 'com.intellij.openapi.vfs.newvfs.impl.VirtualFileImpl' to class 'com.intellij.psi.PsiFile'
	at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnSAM(DefaultTypeTransformation.java:408)
	at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnNumber(DefaultTypeTransformation.java:319)
	at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:243)
	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(ScriptBytecodeAdapter.java:615)
	at liveplugin.implementation.FileSearch.findFileByName(FileSearch.groovy:21)
	at liveplugin.implementation.FileSearch$findFileByName.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:157)
	at liveplugin.PluginUtil.findFileByName(PluginUtil.groovy:718)
	at liveplugin.PluginUtil.findFileByName(PluginUtil.groovy)
	at liveplugin.PluginUtil$findFileByName.callStatic(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCallStatic(CallSiteArray.java:55)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:217)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:240)
	at plugin.run(plugin.groovy:7)
	at groovy.util.GroovyScriptEngine.run(GroovyScriptEngine.java:566)
	at liveplugin.implementation.pluginrunner.groovy.GroovyPluginRunner.run(GroovyPluginRunner.kt:77)
	at liveplugin.implementation.pluginrunner.PluginRunnerKt$runWith$1$1$1.invoke(PluginRunner.kt:162)
	at liveplugin.implementation.pluginrunner.PluginRunnerKt$runWith$1$1$1.invoke(PluginRunner.kt:162)
	at liveplugin.implementation.common.IdeUtil.runOnEdt$lambda-1(ide-util.kt:88)
	at com.intellij.openapi.application.TransactionGuardImpl.runWithWritingAllowed(TransactionGuardImpl.java:209)
	at com.intellij.openapi.application.TransactionGuardImpl.access$100(TransactionGuardImpl.java:21)
	at com.intellij.openapi.application.TransactionGuardImpl$1.run(TransactionGuardImpl.java:191)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881)
	at com.intellij.openapi.application.impl.ApplicationImpl$3.run(ApplicationImpl.java:513)
	at com.intellij.openapi.application.impl.LaterInvocator$1.run(LaterInvocator.java:95)
	at com.intellij.openapi.application.impl.FlushQueue.doRun(FlushQueue.java:75)
	at com.intellij.openapi.application.impl.FlushQueue.runNextEvent(FlushQueue.java:118)
	at com.intellij.openapi.application.impl.FlushQueue.flushNow(FlushQueue.java:42)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:779)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:730)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:724)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:749)
	at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:918)
	at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:766)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$6(IdeEventQueue.java:450)
	at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:791)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$7(IdeEventQueue.java:449)
	at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
	at com.intellij.ide.IdeEventQueue.performActivity(IdeEventQueue.java:624)
	at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:447)
	at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:881)
	at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:493)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:207)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:92)
@obbimi
Copy link
Author

obbimi commented Nov 23, 2022

I think this is the commit that contains the code that is causing the bug
a46fcd5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants