parallaxinc / PropellerIDE

An easy-to-use, cross-platform IDE for the Parallax Propeller
GNU General Public License v3.0
70 stars 26 forks source link

openspin compiler in PropellerIDE fails to find a subroutine in a child object #46

Open dgately opened 8 years ago

dgately commented 8 years ago

While compiling JonnyMac's string parsing example from the Parallax forum (see: ) (downloaded project example file is: jm_parse_fields - Archive [Date 2016), an error occurs with PropellerIDE's included openspin compiler...

The jm_parse_fields project includes four child objects. One of those objects, "jm_strings.spin" contains 36 subroutines. When using the openspin compiler, those subroutines are not found...

Shortened example of the code: `obj time : "jm_time" ' timing and delays io : "jm_io_basic" ' essential io str : "jm_strings" ' string support term : "jm_fullduplexserial" ' * serial IO for terminal

pub main | idx, p_field

fields := str.fields(@TestStr, ",")`

openspin compiler error:

error2

Code attachment: jm_parse_fields - Archive [Date 2016.08.23 Time 20.15].zip

I am able to compile this portion of the code with the bstc compiler as well as the openspin compiler in SimpleIDE (different openspin version?).

Searider commented 4 years ago

I have identified other examples with slight variations. I have identified two objects that this happens to. pcFullDuplexSerial4FC.spin and JM-WS2812.spin. In both instances the object is listed in the object list in the top left of the GUI but does NOT show the arrow for expansion. in Both cases you can "Build" (F9) and get an error free completion msg from Build Manager. However if you try to "Run" or "Write" you will get the error free "Build Successful" message but it does not download anything to the Prop. Also if you have AutoComplete enabled and you type the Obj reference name then '.' it will not bring up any autocomplete options and will move the cursor down a couple of lines.