#543 Compiler - Chaining dynamic calls

tactics Sun 19 Apr 2009

I am just breaking things left and right today. Here's another compiler issue. Basically, if you chain a dynamic call, the compiler tries to type check the second. It shouldn't be type checked at compile time, though, since it's dynamic.

class Test
{
  Void main()
  { 
    stuff := Stuff()
    stuff->things->each |t|
    {
      echo(t)
    }
  }
}

class Stuff 
{
  Str[] things := [,]
}

Here's the error

C:\Documents and Settings\Mchael\Desktop\test.fan(6,20): Unknown method 'sys::Obj.each'
ERROR: cannot compile script

brian Mon 20 Apr 2009

Promoted to ticket #543 and assigned to brian

I expect it has to do with the closure arg not setting the dynamic field on CallExpr

brian Wed 22 Apr 2009

Ticket resolved in 1.0.42

Simple fix - just forgot to set the isDynamic flag in that case.

Login or Signup to reply.