Roku Developer Program

Join our online forum to talk to Roku developers and fellow channel creators. Ask questions, share tips with the community, and find helpful resources.
cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
TheEndless
Channel Surfer

Re: Eclipse plugin for Brightscript Beta

Annoyance / Bug...
When creating a new project from existing files (i.e. importing a BrightScript project that wasn't originally in Eclipse), the plugin overwrites the manifest. It'd be really nice if it didn't do that! I'm having to make sure I back up my manifests before importing them into Eclipse.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
MidnightJava
Visitor

Re: Eclipse plugin for Brightscript Beta

"MidnightJava" wrote:
"malloys" wrote:
"MidnightJava" wrote:
... Are you sure that roku sends NOTIFY messages continuously every minute?


So, you've most likely got something in/on your network that prevents you from seeing the multicast broadcast NOTIFY messages.
Could be your router (not forwarding multicast traffic) or something filtering in-bound multicast traffic on your computer's network adapter.


Just to close the loop on this: Yes it was a network problem. Temporary insanity on the part of my router, blocking some LAN to LAN traffic for no good reason. I rebooted the router, and now I see SSDP NOTIFY messages in Wireshark, and the eclipse console has a telnet connection to the roku box.



It looks like I spoke too soon. I did see the telnet console up once; but now I can't get it to work anymore. I see the NOTIFY messages (via Wireshark and in the eclipse log), and the roku IP address shows up in the drop-down in the console. But it fails to establish a telnet connection. I can do so from the command line, just not from the console. Here's a dump from my log, showing messages between successive NOTIFY receipts, with some back-to-back identical messages elided to keep it short.

NOTIFY * HTTP/1.1
Host: 239.255.255.250:1900
Cache-Control: max-age=300
NT: roku:ecp
NTS: ssdp:alive
Location: http://192.168.1.4:8060/
USN: uuid:roku:ecp:J0A0AD040618



!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:45:26.032
!MESSAGE -> old service: J0A0AD040618

<7 more like this>

M-SEARCH * HTTP/1.1
Host: 239.255.255.250:1900
Man: "ssdp:discover"
ST: roku:ecp
MX: 3



!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:45:53.274
!MESSAGE ++ calling mSocket.receive()..

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:45:53.275
!MESSAGE ++ multicast in...

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:45:53.275
!MESSAGE with Roku-related data:

M-SEARCH * HTTP/1.1
Host: 239.255.255.250:1900
Man: "ssdp:discover"
ST: roku:ecp
MX: 3



!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:45:53.275
!MESSAGE ++ calling mSocket.receive()..

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:45:53.280
!MESSAGE ++ unicast in...

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:45:53.280
!MESSAGE with Roku-related data:

HTTP/1.1 200 OK
Cache-Control: max-age=300
ST: roku:ecp
USN: uuid:roku:ecp:J0A0AD040618
Ext:
Server: Roku UPnP/1.0 MiniUPnPd/1.4
Location: http://192.168.1.4:8060/



!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:45:53.281
!MESSAGE ++ calling dgSocket.receive()..

<lots more like this>

M-SEARCH * HTTP/1.1
Host: 239.255.255.250:1900
Man: "ssdp:discover"
ST: roku:ecp
MX: 3



!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:23.283
!MESSAGE ++ calling mSocket.receive()..

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:23.283
!MESSAGE ++ multicast in...

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:23.284
!MESSAGE with Roku-related data:

M-SEARCH * HTTP/1.1
Host: 239.255.255.250:1900
Man: "ssdp:discover"
ST: roku:ecp
MX: 3



!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:23.284
!MESSAGE ++ calling mSocket.receive()..

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:23.292
!MESSAGE ++ unicast in...

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:23.292
!MESSAGE with Roku-related data:

HTTP/1.1 200 OK
Cache-Control: max-age=300
ST: roku:ecp
USN: uuid:roku:ecp:J0A0AD040618
Ext:
Server: Roku UPnP/1.0 MiniUPnPd/1.4
Location: http://192.168.1.4:8060/



!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:23.292
!MESSAGE ++ calling dgSocket.receive()..

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:23.292
!MESSAGE ++ unicast in...

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:23.293
!MESSAGE ++ calling dgSocket.receive()..

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:26.035
!MESSAGE ++ multicast in...

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:26.035
!MESSAGE with Roku-related data:

NOTIFY * HTTP/1.1
Host: 239.255.255.250:1900
Cache-Control: max-age=300
NT: roku:ecp
NTS: ssdp:alive
Location: http://192.168.1.4:8060/
USN: uuid:roku:ecp:J0A0AD040618



!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:26.037
!MESSAGE -> old service: J0A0AD040618

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:26.038
!MESSAGE ++ calling mSocket.receive()..

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:26.038
!MESSAGE ++ multicast in...

!ENTRY com.roku.brightscript.ide.eclipse.core 0 0 2011-08-29 07:46:26.038
!MESSAGE ++ calling mSocket.receive()..
0 Kudos
malloys
Visitor

Re: Eclipse plugin for Brightscript Beta

"MidnightJava" wrote:

It looks like I spoke too soon. I did see the telnet console up once; but now I can't get it to work anymore. I see the NOTIFY messages (via Wireshark and in the eclipse log), and the roku IP address shows up in the drop-down in the console. But it fails to establish a telnet connection. I can do so from the command line, just not from the console.


You may already know this, but the Roku box only allows 1 active telnet session at a time, so be sure you don't have one active somewhere else (i.e. from the command line, a different telnet client on the same machine or another machine, etc.).

I've also noticed that from time to time, the Roku box won't respond to a connection request (this is a box thing, not a plugin thing since I've seen it occur with putty as well).
In those cases, I disconnect, then reconnect and usually that second connect attempt works.
0 Kudos
jbrave
Channel Surfer

Re: Eclipse plugin for Brightscript Beta

I haven't been able to connect with eclipse since I downgraded to 3.6.2 - that was the one thing that was working on the newer version of Eclipse. Where/How do I go about setting this up properly? The RSP console has a drop-down but I can only see the first part of the address 192 the rest is cut off, and I can't connect to anything, or load to a Roku with Eclipse. Did I miss something in the setup procedure?

- Joel
Screenshades: The first Screensaver for Roku2!
Musiclouds: The best free internet music, on your Roku!
Ouroborialis: Psychedelic Screensaver for Roku!
0 Kudos
TheEndless
Channel Surfer

Re: Eclipse plugin for Brightscript Beta

"jbrave" wrote:
Did I miss something in the setup procedure?

No, but you did miss the series of posts earlier in this thread discussing it... 😉 It's a known issue that should be fixed in the next release.
My Channels: http://roku.permanence.com - Twitter: @TheEndlessDev
Instant Watch Browser (NetflixIWB), Aquarium Screensaver (AQUARIUM), Clever Clocks Screensaver (CLEVERCLOCKS), iTunes Podcasts (ITPC), My Channels (MYCHANNELS)
0 Kudos
MidnightJava
Visitor

Re: Eclipse plugin for Brightscript Beta

"malloys" wrote:
"MidnightJava" wrote:

It looks like I spoke too soon. I did see the telnet console up once; but now I can't get it to work anymore. I see the NOTIFY messages (via Wireshark and in the eclipse log), and the roku IP address shows up in the drop-down in the console. But it fails to establish a telnet connection. I can do so from the command line, just not from the console.


You may already know this, but the Roku box only allows 1 active telnet session at a time, so be sure you don't have one active somewhere else (i.e. from the command line, a different telnet client on the same machine or another machine, etc.).

I've also noticed that from time to time, the Roku box won't respond to a connection request (this is a box thing, not a plugin thing since I've seen it occur with putty as well).
In those cases, I disconnect, then reconnect and usually that second connect attempt works.


Neither of these seem to apply to me. I made sure I disconnected the command-line telnet session (tried close, logout, and quit). I also re-started the roku. While it's coming up, when I try to connect from the console, I get an error message that the host is unreachable. Then after the roku completes its startup, when I try to connect from the console, the status briefly says 192.168.1.4 Connected, then it goes to No Connection. So it's disconnecting immediately for some reason.

I thought maybe the log message

!MESSAGE -> old service: J0A0AD040618


might be a clue. It appears in the log immediately after the NOTIFY message is received.
0 Kudos
malloys
Visitor

Re: Eclipse plugin for Brightscript Beta

"MidnightJava" wrote:

I thought maybe the log message

!MESSAGE -> old service: J0A0AD040618


might be a clue. It appears in the log immediately after the NOTIFY message is received.


Nope, that's just a debug message from the SSDP code that indicates it's already seen a response or broadcast from that Roku box before and already has the box's info in cache.

So, looks like it's time to get more details...
Which version of the Roku box do you have?
Which version of firmware is that box running?
What specific package and version of Eclipse are you running?
What O/S are you running Eclipse on?
During the short window when it the console is connected to the Roku box, what if anything is displayed (from the Roku box in the console window)?
0 Kudos
MidnightJava
Visitor

Re: Eclipse plugin for Brightscript Beta

"malloys" wrote:


So, looks like it's time to get more details...
Which version of the Roku box do you have?
Which version of firmware is that box running?
What specific package and version of Eclipse are you running?
What O/S are you running Eclipse on?
During the short window when it the console is connected to the Roku box, what if anything is displayed (from the Roku box in the console window)?


Roku box is model 2050X, running firmware version 2.9 build 1553
Eclipse package is Helios Service Release 2 (3.6.2) Build id: 20110301-1815. I have it pretty well loaded (EMF, DTP, WTP et al), with all plug-ins fully updated.
OS is OSX 10.6.8 (I have an Ubuntu workstation also; I'll give it a try on that)
The console window sometimes has nothing in it, but other times (maybe half the time) it has the contents of the most recent telnet session conducted from the command line. Usually this info will just flash in the blink of an eye. Other times it lasts a half second or so. And then still other times (rarely) it will persist in the console window, even though the status line of the console view says No Connection, and the session does in fact seem to be closed.
0 Kudos
MidnightJava
Visitor

Re: Eclipse plugin for Brightscript Beta

Here is a minor issue I've discovered:

On two occasions I uninstalled the Brightscript plug-in, re-started eclipse, and then re-installed the Brightscript plug-in. Each time I did this, I ended up with an "extra" Brightscript perspective in the perspective bar and in the list provided when I select Open Perspective-> other. The first time, this extra perspective was named <Brightscript>. After re-installing a second time, there is another one named <<Brightscript>>. Presumably these will continue to proliferate, with additional enclosing <> in the name, if I continue to re-install the plug-in. Re-startting eclipse with command line option -clean did not make the extra perspectives go away.

The "extra" perspectives are not fully functional. When I open one, it looks like the Brightscript perspective, but the Script Navigator view is not showing. Even after resetting the perspective, the Script Navigator does not appear. I thought it would be interesting to see what happens if I explicitly open the Script Navigator view, but I don't see it in the list of views that can be opened. If I open an extraneous view and then reset the perspective, the extraneous view goes away, indicating that some sort of perspective reset is occurring.

The perspective named Brightscript functions normally, so this is a low impact issue.
0 Kudos
MidnightJava
Visitor

Re: Eclipse plugin for Brightscript Beta

Here's another minor issue.

When I started eclipse from the command line I noticed a stack trace on the console. It appears on the system console when I launch eclipse from its application bundle launcher as well. I've pasted the stack trace below. It doesn't have any discernible impact on the operation of the plug-in; but I suppose it may be related to some of the parser issues you're working on.

java.lang.ClassCastException: net.percederberg.grammatica.parser.Token cannot be cast to net.percederberg.grammatica.parser.Production
at com.roku.brightscript.ide.eclipse.core.parsers.grammatica.BrightScriptASTTranslator.processSubOrFunctionNode(Unknown Source)
at com.roku.brightscript.ide.eclipse.core.parsers.grammatica.BrightScriptASTTranslator.exitFunctiondecl(Unknown Source)
at com.roku.brightscript.parser.BrightScriptAnalyzer.exit(BrightScriptAnalyzer.java:1046)
at net.percederberg.grammatica.parser.Parser.exitNode(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseElement(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseAlternative(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parsePattern(Unknown Source)
at net.percederberg.grammatica.parser.RecursiveDescentParser.parseStart(Unknown Source)
at net.percederberg.grammatica.parser.Parser.parse(Unknown Source)
at com.roku.brightscript.ide.eclipse.core.parsers.BrightScriptSourceParser.parse(Unknown Source)
at org.eclipse.dltk.core.SourceParserUtil.parse(SourceParserUtil.java:137)
at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:197)
at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:183)
at org.eclipse.dltk.core.SourceParserUtil.getModuleDeclaration(SourceParserUtil.java:168)
at org.eclipse.dltk.ui.text.folding.AbstractASTFoldingStructureProvider.parse(AbstractASTFoldingStructureProvider.java:1291)
at org.eclipse.dltk.ui.text.folding.AbstractASTFoldingStructureProvider.getCodeBlocks(AbstractASTFoldingStructureProvider.java:1274)
at com.roku.brightscript.ide.eclipse.core.editors.BrightScriptFoldingStructureProvider.getCodeBlocks(Unknown Source)
at org.eclipse.dltk.ui.text.folding.AbstractASTFoldingStructureProvider.getCodeBlocks(AbstractASTFoldingStructureProvider.java:1270)
at org.eclipse.dltk.ui.text.folding.AbstractASTFoldingStructureProvider.computeFoldingStructure(AbstractASTFoldingStructureProvider.java:794)
at org.eclipse.dltk.ui.text.folding.AbstractASTFoldingStructureProvider.computeFoldingStructure(AbstractASTFoldingStructureProvider.java:786)
at org.eclipse.dltk.ui.text.folding.AbstractASTFoldingStructureProvider.update(AbstractASTFoldingStructureProvider.java:721)
at org.eclipse.dltk.ui.text.folding.AbstractASTFoldingStructureProvider.initialize(AbstractASTFoldingStructureProvider.java:678)
at org.eclipse.dltk.ui.text.folding.AbstractASTFoldingStructureProvider.initialize(AbstractASTFoldingStructureProvider.java:674)
at org.eclipse.dltk.ui.text.folding.AbstractASTFoldingStructureProvider.handleProjectionEnabled(AbstractASTFoldingStructureProvider.java:649)
at org.eclipse.dltk.ui.text.folding.AbstractASTFoldingStructureProvider$ProjectionListener.projectionEnabled(AbstractASTFoldingStructureProvider.java:501)
at org.eclipse.jface.text.source.projection.ProjectionViewer.fireProjectionEnabled(ProjectionViewer.java:489)
at org.eclipse.jface.text.source.projection.ProjectionViewer.enableProjection(ProjectionViewer.java:537)
at org.eclipse.dltk.internal.ui.editor.ScriptSourceViewer.setVisibleDocument(ScriptSourceViewer.java:523)
at org.eclipse.jface.text.TextViewer.setDocument(TextViewer.java:2928)
at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:629)
at org.eclipse.jface.text.source.projection.ProjectionViewer.setDocument(ProjectionViewer.java:376)
at org.eclipse.jface.text.source.SourceViewer.setDocument(SourceViewer.java:584)
at org.eclipse.ui.texteditor.AbstractTextEditor.initializeSourceViewer(AbstractTextEditor.java:3873)
at org.eclipse.ui.texteditor.AbstractTextEditor.createPartControl(AbstractTextEditor.java:3401)
at org.eclipse.ui.texteditor.StatusTextEditor.createPartControl(StatusTextEditor.java:53)
at org.eclipse.ui.texteditor.AbstractDecoratedTextEditor.createPartControl(AbstractDecoratedTextEditor.java:432)
at org.eclipse.dltk.internal.ui.editor.ScriptEditor.createPartControl(ScriptEditor.java:1777)
at org.eclipse.ui.internal.EditorReference.createPartHelper(EditorReference.java:670)
at org.eclipse.ui.internal.EditorReference.createPart(EditorReference.java:465)
at org.eclipse.ui.internal.WorkbenchPartReference.getPart(WorkbenchPartReference.java:595)
at org.eclipse.ui.internal.EditorAreaHelper.setVisibleEditor(EditorAreaHelper.java:271)
at org.eclipse.ui.internal.EditorManager.setVisibleEditor(EditorManager.java:1429)
at org.eclipse.ui.internal.EditorManager$5.runWithException(EditorManager.java:942)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3593)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3286)
at org.eclipse.ui.application.WorkbenchAdvisor.openWindows(WorkbenchAdvisor.java:803)
at org.eclipse.ui.internal.Workbench$31.runWithException(Workbench.java:1567)
at org.eclipse.ui.internal.StartupThreading$StartupRunnable.run(StartupThreading.java:31)
at org.eclipse.swt.widgets.RunnableLock.run(RunnableLock.java:35)
at org.eclipse.swt.widgets.Synchronizer.runAsyncMessages(Synchronizer.java:134)
at org.eclipse.swt.widgets.Display.runAsyncMessages(Display.java:3593)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3286)
at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2548)
at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2438)
at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:671)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:664)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:115)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:369)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:620)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:575)
at org.eclipse.equinox.launcher.Main.run(Main.java:1408)
0 Kudos
Need Assistance?
Welcome to the Roku Community! Feel free to search our Community for answers or post your question to get help.

Become a Roku Streaming Expert!

Share your expertise, help fellow streamers, and unlock exclusive rewards as part of the Roku Community. Learn more.