CFML issues for Leda, and this repeated CFML parsing problem...

52 views
Skip to first unread message

Jamie Krug

unread,
Nov 26, 2012, 10:05:05 AM11/26/12
to cfml-plugin-fo...@googlegroups.com
I just wanted to drop a note here, because I've been seeing the below exception, constantly, for as long as I can remember in the EAP (Leda). Are other folks seeing this? I've been dutifully reporting it fairly regularly, especially when an attachment is included in the error log.

@JetBrains folks: any insight on this? Plans, in general, for CFML parsing clean-up before the final release? Other than the first pass at debugging, I can't recall seeing any CFML-related release notes in this EAP, but I'm still hopeful!

Thanks,
Jamie

CFML parsing problem
Please report the problem to JetBrains with the file attached
java.lang.Throwable
at com.intellij.psi.impl.DebugUtil.currentStackTrace(DebugUtil.java:456)
at com.intellij.coldFusion.model.psi.CfmlReferenceExpression.getPsiType(CfmlReferenceExpression.java:326)
at com.intellij.coldFusion.model.psi.CfmlAssignmentExpression.getAssignedVariableElementType(CfmlAssignmentExpression.java:56)
at com.intellij.coldFusion.model.psi.CfmlAssignmentExpression.access$000(CfmlAssignmentExpression.java:22)
at com.intellij.coldFusion.model.psi.CfmlAssignmentExpression$AssignedVariable.getPsiType(CfmlAssignmentExpression.java:138)
at com.intellij.coldFusion.model.psi.CfmlReferenceExpression.getPsiType(CfmlReferenceExpression.java:334)
at com.intellij.coldFusion.model.psi.CfmlFunctionCallExpression$2.fun(CfmlFunctionCallExpression.java:212)
at com.intellij.coldFusion.model.psi.CfmlFunctionCallExpression$2.fun(CfmlFunctionCallExpression.java:210)
at com.intellij.util.containers.ContainerUtilRt.map2List(ContainerUtilRt.java:286)
at com.intellij.util.containers.ContainerUtil.map2List(ContainerUtil.java:1736)
at com.intellij.util.containers.ContainerUtil.map2Array(ContainerUtil.java:675)
at com.intellij.util.containers.ContainerUtil.map2Array(ContainerUtil.java:670)
at com.intellij.coldFusion.model.psi.CfmlFunctionCallExpression.getArgumentTypes(CfmlFunctionCallExpression.java:210)
at com.intellij.coldFusion.model.psi.CfmlVariantsProcessor.<init>(CfmlVariantsProcessor.java:70)
at com.intellij.coldFusion.model.psi.CfmlReferenceExpression$1.<init>(CfmlReferenceExpression.java:159)
at com.intellij.coldFusion.model.psi.CfmlReferenceExpression.resolveInner(CfmlReferenceExpression.java:159)
at com.intellij.psi.AbstractQualifiedReference$1.resolve(AbstractQualifiedReference.java:48)
at com.intellij.psi.AbstractQualifiedReference$1.resolve(AbstractQualifiedReference.java:44)
at com.intellij.psi.impl.source.resolve.ResolveCache$2.compute(ResolveCache.java:114)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.psi.impl.source.resolve.ResolveCache.a(ResolveCache.java:119)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:134)
at com.intellij.psi.AbstractQualifiedReference.multiResolve(AbstractQualifiedReference.java:71)
at com.intellij.psi.AbstractQualifiedReference.resolve(AbstractQualifiedReference.java:77)
at com.intellij.coldFusion.model.psi.CfmlFunctionCallExpression.getExternalType(CfmlFunctionCallExpression.java:123)
at com.intellij.coldFusion.model.psi.CfmlReferenceExpression.getPsiType(CfmlReferenceExpression.java:323)
at com.intellij.coldFusion.model.psi.CfmlAssignmentExpression.getAssignedVariableElementType(CfmlAssignmentExpression.java:56)
at com.intellij.coldFusion.model.psi.CfmlAssignmentExpression.getPsiType(CfmlAssignmentExpression.java:79)
at com.intellij.coldFusion.model.psi.CfmlFunctionCallExpression$2.fun(CfmlFunctionCallExpression.java:212)
at com.intellij.coldFusion.model.psi.CfmlFunctionCallExpression$2.fun(CfmlFunctionCallExpression.java:210)
at com.intellij.util.containers.ContainerUtilRt.map2List(ContainerUtilRt.java:286)
at com.intellij.util.containers.ContainerUtil.map2List(ContainerUtil.java:1736)
at com.intellij.util.containers.ContainerUtil.map2Array(ContainerUtil.java:675)
at com.intellij.util.containers.ContainerUtil.map2Array(ContainerUtil.java:670)
at com.intellij.coldFusion.model.psi.CfmlFunctionCallExpression.getArgumentTypes(CfmlFunctionCallExpression.java:210)
at com.intellij.coldFusion.model.psi.CfmlVariantsProcessor.<init>(CfmlVariantsProcessor.java:70)
at com.intellij.coldFusion.model.psi.CfmlReferenceExpression$1.<init>(CfmlReferenceExpression.java:159)
at com.intellij.coldFusion.model.psi.CfmlReferenceExpression.resolveInner(CfmlReferenceExpression.java:159)
at com.intellij.psi.AbstractQualifiedReference$1.resolve(AbstractQualifiedReference.java:48)
at com.intellij.psi.AbstractQualifiedReference$1.resolve(AbstractQualifiedReference.java:44)
at com.intellij.psi.impl.source.resolve.ResolveCache$2.compute(ResolveCache.java:114)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.psi.impl.source.resolve.ResolveCache.a(ResolveCache.java:119)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:134)
at com.intellij.psi.AbstractQualifiedReference.multiResolve(AbstractQualifiedReference.java:71)
at com.intellij.coldFusion.UI.inspections.CfmlReferenceInspection.registerProblems(CfmlReferenceInspection.java:95)
at com.intellij.coldFusion.UI.inspections.CfmlInspectionBase$1.visitElement(CfmlInspectionBase.java:21)
at com.intellij.psi.impl.PsiElementBase.accept(PsiElementBase.java:232)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:410)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.access$400(LocalInspectionsPass.java:77)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$3.process(LocalInspectionsPass.java:386)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$3.process(LocalInspectionsPass.java:380)
at com.intellij.concurrency.JobLauncherImpl$2$1.run(JobLauncherImpl.java:115)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:232)
at com.intellij.concurrency.JobLauncherImpl$2.process(JobLauncherImpl.java:113)
at com.intellij.concurrency.JobLauncherImpl$1.run(JobLauncherImpl.java:54)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31)
at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1155)
at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:97)
at com.intellij.concurrency.JobImpl.scheduleAndWaitForResults(JobImpl.java:136)
at com.intellij.concurrency.JobLauncherImpl.a(JobLauncherImpl.java:68)
at com.intellij.concurrency.JobLauncherImpl.invokeConcurrentlyUnderProgress(JobLauncherImpl.java:110)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:396)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:220)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:135)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:58)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:62)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:357)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1155)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:348)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:232)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:345)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:321)
at com.intellij.concurrency.JobLauncherImpl$3.call(JobLauncherImpl.java:145)
at com.intellij.concurrency.JobLauncherImpl$3.call(JobLauncherImpl.java:142)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.intellij.concurrency.PrioritizedFutureTask.access$101(PrioritizedFutureTask.java:31)
at com.intellij.concurrency.PrioritizedFutureTask$1.run(PrioritizedFutureTask.java:70)
at com.intellij.concurrency.PrioritizedFutureTask.run(PrioritizedFutureTask.java:113)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)

Matt Quackenbush

unread,
Nov 26, 2012, 10:31:26 AM11/26/12
to cfml-plugin-fo...@googlegroups.com
I've definitely been seeing that - and reporting it - for quite sometime as well. So you're definitely not alone. :-)

Kai Koenig

unread,
Nov 26, 2012, 1:17:20 PM11/26/12
to cfml-plugin-fo...@googlegroups.com
Not running the EAP, sorry (as some other plugins I used are not available for it yet).

But I'd be very interested in what the Jetbrains guys are doing for the CFML plugin in 12.

Cheers
Kai

Dave Merrill

unread,
Nov 26, 2012, 1:56:37 PM11/26/12
to CFML plugin for IntelliJ IDEA
Other things are happening, but far as I'm aware, there hasn't been any CFML development for Leda.

Dave Merrill

unread,
Nov 26, 2012, 7:52:24 PM11/26/12
to CFML plugin for IntelliJ IDEA
Going through the release notes for each build, here:http://confluence.jetbrains.net/display/IDEADEV/IDEA+12+EAP


On Mon, Nov 26, 2012 at 1:17 PM, Kai Koenig <grmb...@gmail.com> wrote:

Dave Merrill

unread,
Nov 26, 2012, 8:21:11 PM11/26/12
to cfml-plugin-fo...@googlegroups.com
Ach, sorry for the blubbles. For some reason gmail decided today that pressing Enter means I want to send the msg. Grrr. Let me try that again, in google groups this time...

Looking through all the (separate, PITA) release notes listed here...

...I see the CFML issues listed below. I'm pretty familiar with some of these, having filed or been involved with them. For those where I've got some, my $0.00002 is below it.

IDEA-83102 Real debugger for CFML FusionDebug
WIP, but any progress on this is huge. Not available for Railo, yet; see IDEA-95071
IDEA-88298 (Bug) Upgrade to 120.11 removed the ColdFusion Server Mapping from my project
Transient problem with that one build
IDEA-88357 (Bug) Show Declaration doesn't resolve 'super' references correctly
IDEA-83123 (Bug) Un var'd variables are not availanle in other functions for code completion
IDEA-83100 (Bug) Smarter Scope Handling
IDEA-87756 (Usability Problem) Path completion UI is awkward
Under discussion, not settled
IDEA-88135 (Bug) ColdFusion Server Mapping ambiguities
IDEA-87754 (Bug) Built-in cfquery variables not recognized

Dave Merrill

Jamie Krug

unread,
Nov 26, 2012, 9:43:37 PM11/26/12
to cfml-plugin-fo...@googlegroups.com
Thanks for the leg work on those notes, Dave! I'll continue to be diligent about noting any critical issues I see and report bugs, as long as I know my time is well spent. It would be nice to have some encouragement that such issues might be addressed in Leda. I definitely still see occasional unresolved variable warnings that should be easily resolved, and there's still the issue of really funky indentation stuff on copy/paste in certain contexts (I think CF mixed in HTML was the most challenging).

Best,
Jamie

Kai Koenig

unread,
Nov 26, 2012, 10:01:43 PM11/26/12
to cfml-plugin-fo...@googlegroups.com
+1 from here. 

It's kind of obvious that the majority of work would go into the Java platform, but given that I still spend the majority of my time writing CFML and JS code, it'd be nice to see some work being done on the structural issues IntelliJ has with parsing mixed languages as Kirill had explained once.

Just from looking at the CFML improvements/fixes alone I'm not quite sure if I'd upgrade to v12 - realising that there is most likely lots of cool stuff in there for some of the other platforms I work with.

Cheers
Kai

Jamie Krug

unread,
Nov 27, 2012, 11:18:03 AM11/27/12
to cfml-plugin-fo...@googlegroups.com
FWIW, here's a new issue for y'all to vote on. It's one of those context-sensitive bugs where variables are not resolved. Any variable declared within a transaction, try or catch block is marked as unresolved outside those braces:

Best,
Jamie

Jamie Krug

unread,
Nov 27, 2012, 11:25:44 AM11/27/12
to cfml-plugin-fo...@googlegroups.com
And here's another--similar problem with variable set as cfquery name or result attribute:


Best,
Jamie

Dave Merrill

unread,
Nov 27, 2012, 11:59:20 AM11/27/12
to CFML plugin for IntelliJ IDEA
My biggest cfml productivity drains I think are:
http://youtrack.jetbrains.com/issue/IDEA-83098 Ability to help IDEA resolve in-memory components and udf packages

Dave Merrill

unread,
Nov 27, 2012, 12:00:01 PM11/27/12
to CFML plugin for IntelliJ IDEA
Sorry, gmail is still sending when I hit return, much of the time. Will compose offline and post

Dave

Dave Merrill

unread,
Nov 27, 2012, 12:05:33 PM11/27/12
to CFML plugin for IntelliJ IDEA
My biggest cfml productivity drains I think are:
IDEA-83098 Ability to help IDEA resolve in-memory components and udf packages
IDEA-83097 Block comment tool should use CFML syntax inside cfquery

Dave Merrill

unread,
Nov 27, 2012, 12:06:45 PM11/27/12
to CFML plugin for IntelliJ IDEA
83098 for me means I basically tune out all cfml unresolved var warnings. Based on how helpful they are in javascript, where they're more reliable, I'd say that's a pretty serious shame.

Dave Merrill

unread,
Nov 27, 2012, 12:08:30 PM11/27/12
to CFML plugin for IntelliJ IDEA
(damn this auto-send thing is annoying) 83097 is just silly, makes me enter CFML comments in cfquery by hand, instead of with the shortcut. No impossible of course, but also seems like a much simpler fix than the other larger-scale syntax structure issues. - Dave

Matt Quackenbush

unread,
Nov 27, 2012, 12:21:12 PM11/27/12
to cfml-plugin-fo...@googlegroups.com
Dave, just a guess here, but my gut says you're accidentally hitting [Tab] prior to your [Enter]. Doing so while typing an email will always send in Gmail. That is, the [Tab] moves the active element to the send button, and [Enter] "presses" it.

Dave Merrill

unread,
Nov 27, 2012, 2:02:38 PM11/27/12
to CFML plugin for IntelliJ IDEA
Honest, I don't think so. I'm aware of that "behavior", and all I did was press Enter, but it may happen only after there's certain sorts of text in the msg. I'll do it here now...

That worked, I hit Enter and got a newline. I'll add an url to the msg: http://youtrack.jetbrains.com/issue/IDEA-83098, by pasting it in, and press Enter again.

Still a newline. Don't get it. I'm aware that tabbing in a web form moves to the next field/button, and I swear wasn't doing that, especially after having it happen several times.

Oh well, we'll see. Thanks for the tip though (:-).

Dave

Jamie Krug

unread,
Nov 29, 2012, 1:10:33 AM11/29/12
to cfml-plugin-fo...@googlegroups.com
Here's another rather pesky one for you all to vote on:

The parsing errors in this "for" statement also cause other parsing errors to cascade down throughout the rest of the file (marking otherwise good code as bad, incorrectly).

Best,
Jamie
Reply all
Reply to author
Forward
0 new messages