Boo

Node not parsing correctly whith multiple macro blocks

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Incomplete
  • Affects Version/s: 0.7.6
  • Fix Version/s: 0.7.5
  • Component/s: Compiler
  • Labels:
    None
  • Number of attachments :
    3

Description

I keep getting a "BCE0015: Node 'System.Threading.Thread(_macroStart2_)' has not been correctly processed" error when I compile the ThreadTest.boo.

I compile ThreadMacro.boo to ThreadMacro.dll just fine, but the error occurs when I start compiling ThreadTest.boo. There is no error when there is only one thread block in the file. When there are more thread blocks, it aparently parses and replaces the first thread block fine, but chokes on the second.

Looking at the various compiler pipelines, it appears that the correct Boo is being created by the macro, but it is not being processed properly by the compiler.

  1. ThreadMacro.boo
    07/Mar/06 10:37 AM
    1 kB
    Marcus Griep
  2. ThreadMacro.build
    07/Mar/06 10:37 AM
    0.5 kB
    Marcus Griep
  3. ThreadTest.boo
    07/Mar/06 10:37 AM
    0.5 kB
    Marcus Griep

Activity

Hide
Arron Washington added a comment -

I don't think expanding a macro inside of a function (or making a macro return something) is currently valid right now

Show
Arron Washington added a comment - I don't think expanding a macro inside of a function (or making a macro return something) is currently valid right now
Hide
Doug H added a comment -

line 38 replace
Thread,
with
Thread.CloneNode(),

This happened to me to. We could check for nodes that refer to same instance I guess. Or maybe use structs.

Show
Doug H added a comment - line 38 replace Thread, with Thread.CloneNode(), This happened to me to. We could check for nodes that refer to same instance I guess. Or maybe use structs.
Hide
Rodrigo B. de Oliveira added a comment -

You cannot reuse tree nodes. You have to clone them.

Show
Rodrigo B. de Oliveira added a comment - You cannot reuse tree nodes. You have to clone them.

People

Vote (0)
Watch (1)

Dates

  • Created:
    Updated:
    Resolved: