Boo
  1. Boo
  2. BOO-474

member references to duck casts not converted to invoke runtimeservices

    Details

    • Type: Bug Bug
    • Status: Resolved Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.6
    • Fix Version/s: 0.7
    • Component/s: Compiler
    • Labels:
      None
    • Testcase included:
      yes
    • Number of attachments :
      0

      Description

      (excuse the title, i haven't tracked down the exact nature of this bug)

      An error in svn that wasn't in 0.6. It's the cast(duck,A) line in the below sample (A as duck gives same error):

      The error is essentially "NotImplemented: boo.lang.compiler.typesystem.builtinfunction" called from emitassembly.onmemberreferenceexpression

      // cast(duck,A).Instance.doit()
      is being converted in expandducktypedexpressions step to:
      //Boo.Lang.Runtime.RuntimeServices.Invoke(cast(System.Object, A).Instance, 'doit', (,))

      //begin example:
      class A:
      static public Instance as B = B()
      class B:
      def doit():
      return 3
      print cast(duck,A).Instance.doit()

        Activity

        There are no comments yet on this issue.

          People

          • Assignee:
            Unassigned
            Reporter:
            Doug H
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: