[jira] Created: (BOO-1034) compiler error referencing base class members of a generic subclass of a generic class

View: New views
10 Messages — Rating Filter:   Alert me  

[jira] Created: (BOO-1034) compiler error referencing base class members of a generic subclass of a generic class

by JIRA jira@codehaus.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

compiler error referencing base class members of a generic subclass of a generic class
--------------------------------------------------------------------------------------

                 Key: BOO-1034
                 URL: http://jira.codehaus.org/browse/BOO-1034
             Project: Boo
          Issue Type: Bug
          Components: Compiler
    Affects Versions: 0.8.2
            Reporter: Spruce Weber


The following code results in Program.boo(8,6) : Error BCE0055: Internal compiler error: Operation is not valid due to the current state of the object. It compiles and runs fine if the subclass is cast to the base class...
{code}
import System
import System.Collections.Generic

class MyList[of T](List[of T]):
        pass

l = MyList[of int]()
l.Add(1)
print l[0]
{code}

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[jira] Commented: (BOO-1034) compiler error referencing base class members of a generic subclass of a generic class

by JIRA jira@codehaus.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://jira.codehaus.org/browse/BOO-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=136700#action_136700 ]

Cedric Vivier commented on BOO-1034:
------------------------------------

Cannot reproduce on both trunk and 0.8.2
Are you sure you're using 0.8.2 ?


> compiler error referencing base class members of a generic subclass of a generic class
> --------------------------------------------------------------------------------------
>
>                 Key: BOO-1034
>                 URL: http://jira.codehaus.org/browse/BOO-1034
>             Project: Boo
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 0.8.2
>            Reporter: Spruce Weber
>
> The following code results in Program.boo(8,6) : Error BCE0055: Internal compiler error: Operation is not valid due to the current state of the object. It compiles and runs fine if the subclass is cast to the base class...
> {code}
> import System
> import System.Collections.Generic
> class MyList[of T](List[of T]):
> pass
> l = MyList[of int]()
> l.Add(1)
> print l[0]
> {code}

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[jira] Commented: (BOO-1034) compiler error referencing base class members of a generic subclass of a generic class

by JIRA jira@codehaus.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://jira.codehaus.org/browse/BOO-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=136702#action_136702 ]

Spruce Weber commented on BOO-1034:
-----------------------------------

Just updated to latest binaries from trunk and still have the same problem...

      Program.boo(10,6): Internal compiler error on node 'l.Add(1)': System.InvalidOperationException: Operation is not valid due to the current state of the object.
     at System.Reflection.MemberInfo.get_MetadataToken()
     at Boo.Lang.Compiler.Steps.EmitAssembly.<>c__DisplayClass2.<GetMappedMethodInfo>b__0(MethodInfo other)
     at System.Array.Find[T](T[] array, Predicate`1 match)
     at Boo.Lang.Compiler.Steps.EmitAssembly.GetMappedMethodInfo(IType targetType, IMethod source)
     at Boo.Lang.Compiler.Steps.EmitAssembly.GetMethodInfo(IMethod entity)
     at Boo.Lang.Compiler.Steps.EmitAssembly.InvokeMethod(IMethod method, MethodInvocationExpression node)
     at Boo.Lang.Compiler.Steps.EmitAssembly.OnMethodInvocationExpression(MethodInvocationExpression node)



> compiler error referencing base class members of a generic subclass of a generic class
> --------------------------------------------------------------------------------------
>
>                 Key: BOO-1034
>                 URL: http://jira.codehaus.org/browse/BOO-1034
>             Project: Boo
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 0.8.2
>            Reporter: Spruce Weber
>
> The following code results in Program.boo(8,6) : Error BCE0055: Internal compiler error: Operation is not valid due to the current state of the object. It compiles and runs fine if the subclass is cast to the base class...
> {code}
> import System
> import System.Collections.Generic
> class MyList[of T](List[of T]):
> pass
> l = MyList[of int]()
> l.Add(1)
> print l[0]
> {code}

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[jira] Commented: (BOO-1034) compiler error referencing base class members of a generic subclass of a generic class

by JIRA jira@codehaus.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://jira.codehaus.org/browse/BOO-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=136704#action_136704 ]

Cedric Vivier commented on BOO-1034:
------------------------------------

Hmm you're right it doesn't work on MS.NET.

Heh first time I see something generic in boo working on Mono before MS.NET, let's celebrate!



> compiler error referencing base class members of a generic subclass of a generic class
> --------------------------------------------------------------------------------------
>
>                 Key: BOO-1034
>                 URL: http://jira.codehaus.org/browse/BOO-1034
>             Project: Boo
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 0.8.2
>            Reporter: Spruce Weber
>
> The following code results in Program.boo(8,6) : Error BCE0055: Internal compiler error: Operation is not valid due to the current state of the object. It compiles and runs fine if the subclass is cast to the base class...
> {code}
> import System
> import System.Collections.Generic
> class MyList[of T](List[of T]):
> pass
> l = MyList[of int]()
> l.Add(1)
> print l[0]
> {code}

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[jira] Commented: (BOO-1034) compiler error referencing base class members of a generic subclass of a generic class

by JIRA jira@codehaus.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://jira.codehaus.org/browse/BOO-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=136717#action_136717 ]

Avishay Lavie commented on BOO-1034:
------------------------------------

If I'm not mistaken, GetMappedMethodInfo has some sort of hack to workaround a bug in MS.NET System.Reflection.Emit (there are many when it comes to reflection). Maybe it requires further adjustments.

> compiler error referencing base class members of a generic subclass of a generic class
> --------------------------------------------------------------------------------------
>
>                 Key: BOO-1034
>                 URL: http://jira.codehaus.org/browse/BOO-1034
>             Project: Boo
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 0.8.2
>            Reporter: Spruce Weber
>
> The following code results in Program.boo(8,6) : Error BCE0055: Internal compiler error: Operation is not valid due to the current state of the object. It compiles and runs fine if the subclass is cast to the base class...
> {code}
> import System
> import System.Collections.Generic
> class MyList[of T](List[of T]):
> pass
> l = MyList[of int]()
> l.Add(1)
> print l[0]
> {code}

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[jira] Commented: (BOO-1034) compiler error referencing base class members of a generic subclass of a generic class

by JIRA jira@codehaus.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://jira.codehaus.org/browse/BOO-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=136725#action_136725 ]

Cedric Vivier commented on BOO-1034:
------------------------------------

Avish, you're not mistaken :)

Well I was playing a little with this to understand the problem and why there is a difference here between Mono and MS.NET and I've seen how the SRE API is hackish when it comes to generics indeed :-/
Oh btw, while googling about this I've stumbled upon a question of yours related to this hehe : http://groups.google.com/group/nemerle-en/msg/175f9d326f9de158 

Using the names+parameters instead of not-supported was not enough because then the methodinfo is not "constructed" and it generates invalid il.

I attached a patch fixing this particular issue but it is breaking 2 testcases in the testsuite, because then there is another SRE exception ... I don't really understand why (and I do not have time to further dig the problem, feel free to "take over" anyway :) )


> compiler error referencing base class members of a generic subclass of a generic class
> --------------------------------------------------------------------------------------
>
>                 Key: BOO-1034
>                 URL: http://jira.codehaus.org/browse/BOO-1034
>             Project: Boo
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 0.8.2
>            Reporter: Spruce Weber
>         Attachments: mappedgenericmethod.patch
>
>
> The following code results in Program.boo(8,6) : Error BCE0055: Internal compiler error: Operation is not valid due to the current state of the object. It compiles and runs fine if the subclass is cast to the base class...
> {code}
> import System
> import System.Collections.Generic
> class MyList[of T](List[of T]):
> pass
> l = MyList[of int]()
> l.Add(1)
> print l[0]
> {code}

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[jira] Updated: (BOO-1034) compiler error referencing base class members of a generic subclass of a generic class

by JIRA jira@codehaus.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ http://jira.codehaus.org/browse/BOO-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Cedric Vivier updated BOO-1034:
-------------------------------

    Attachment: mappedgenericmethod.patch

> compiler error referencing base class members of a generic subclass of a generic class
> --------------------------------------------------------------------------------------
>
>                 Key: BOO-1034
>                 URL: http://jira.codehaus.org/browse/BOO-1034
>             Project: Boo
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 0.8.2
>            Reporter: Spruce Weber
>         Attachments: mappedgenericmethod.patch
>
>
> The following code results in Program.boo(8,6) : Error BCE0055: Internal compiler error: Operation is not valid due to the current state of the object. It compiles and runs fine if the subclass is cast to the base class...
> {code}
> import System
> import System.Collections.Generic
> class MyList[of T](List[of T]):
> pass
> l = MyList[of int]()
> l.Add(1)
> print l[0]
> {code}

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[jira] Issue Comment Edited: (BOO-1034) compiler error referencing base class members of a generic subclass of a generic class

by JIRA jira@codehaus.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://jira.codehaus.org/browse/BOO-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=136725#action_136725 ]

cedricv edited comment on BOO-1034 at 5/29/08 3:19 PM:
-------------------------------------------------------------

Avish, you're not mistaken :)

Well I was playing a little with this to understand the problem and why there is a difference here between Mono and MS.NET and I've seen how the SRE API is hackish when it comes to generics indeed :-/
Oh btw, while googling about this I've stumbled upon a question of yours related to this hehe : http://groups.google.com/group/nemerle-en/msg/175f9d326f9de158 

Using the names+parameters instead of not-supported MetadataToken was not enough because then the methodinfo is not "constructed" and it generates invalid il.

I attached a patch fixing this particular issue but it is breaking 2 testcases in the testsuite, because then there is another SRE exception ... I don't really understand why (and I do not have time to further dig the problem, feel free to "take over" anyway :) )


      was (Author: cedricv):
    Avish, you're not mistaken :)

Well I was playing a little with this to understand the problem and why there is a difference here between Mono and MS.NET and I've seen how the SRE API is hackish when it comes to generics indeed :-/
Oh btw, while googling about this I've stumbled upon a question of yours related to this hehe : http://groups.google.com/group/nemerle-en/msg/175f9d326f9de158 

Using the names+parameters instead of not-supported was not enough because then the methodinfo is not "constructed" and it generates invalid il.

I attached a patch fixing this particular issue but it is breaking 2 testcases in the testsuite, because then there is another SRE exception ... I don't really understand why (and I do not have time to further dig the problem, feel free to "take over" anyway :) )

 

> compiler error referencing base class members of a generic subclass of a generic class
> --------------------------------------------------------------------------------------
>
>                 Key: BOO-1034
>                 URL: http://jira.codehaus.org/browse/BOO-1034
>             Project: Boo
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 0.8.2
>            Reporter: Spruce Weber
>         Attachments: mappedgenericmethod.patch
>
>
> The following code results in Program.boo(8,6) : Error BCE0055: Internal compiler error: Operation is not valid due to the current state of the object. It compiles and runs fine if the subclass is cast to the base class...
> {code}
> import System
> import System.Collections.Generic
> class MyList[of T](List[of T]):
> pass
> l = MyList[of int]()
> l.Add(1)
> print l[0]
> {code}

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[jira] Issue Comment Edited: (BOO-1034) compiler error referencing base class members of a generic subclass of a generic class

by JIRA jira@codehaus.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


    [ http://jira.codehaus.org/browse/BOO-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=136725#action_136725 ]

cedricv edited comment on BOO-1034 at 5/29/08 3:25 PM:
-------------------------------------------------------------

Avish, you're not mistaken :)

Well I was playing a little with this to understand the problem and why there is a difference here between Mono and MS.NET and I've seen how the SRE API is hackish when it comes to generics indeed :-/
Oh btw, while googling about this I've stumbled upon a question of yours related to this hehe : http://groups.google.com/group/nemerle-en/msg/175f9d326f9de158 

Using the names+parameters instead of not-supported MetadataToken was not enough because then the methodinfo is not "constructed" and it generates invalid il.

I attached a patch fixing this particular issue but it is breaking 2 testcases in the testsuite, because then there is another SRE exception ... I don't really understand why (and I do not have time to further dig the problem right now, feel free to "take over" the bug anyway :) )


      was (Author: cedricv):
    Avish, you're not mistaken :)

Well I was playing a little with this to understand the problem and why there is a difference here between Mono and MS.NET and I've seen how the SRE API is hackish when it comes to generics indeed :-/
Oh btw, while googling about this I've stumbled upon a question of yours related to this hehe : http://groups.google.com/group/nemerle-en/msg/175f9d326f9de158 

Using the names+parameters instead of not-supported MetadataToken was not enough because then the methodinfo is not "constructed" and it generates invalid il.

I attached a patch fixing this particular issue but it is breaking 2 testcases in the testsuite, because then there is another SRE exception ... I don't really understand why (and I do not have time to further dig the problem, feel free to "take over" anyway :) )

 

> compiler error referencing base class members of a generic subclass of a generic class
> --------------------------------------------------------------------------------------
>
>                 Key: BOO-1034
>                 URL: http://jira.codehaus.org/browse/BOO-1034
>             Project: Boo
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 0.8.2
>            Reporter: Spruce Weber
>         Attachments: mappedgenericmethod.patch
>
>
> The following code results in Program.boo(8,6) : Error BCE0055: Internal compiler error: Operation is not valid due to the current state of the object. It compiles and runs fine if the subclass is cast to the base class...
> {code}
> import System
> import System.Collections.Generic
> class MyList[of T](List[of T]):
> pass
> l = MyList[of int]()
> l.Add(1)
> print l[0]
> {code}

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email



[jira] Closed: (BOO-1034) compiler error referencing base class members of a generic subclass of a generic class

by JIRA jira@codehaus.org :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message


     [ http://jira.codehaus.org/browse/BOO-1034?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Rodrigo B. de Oliveira closed BOO-1034.
---------------------------------------

       Resolution: Fixed
    Fix Version/s: 0.9.3
         Assignee: Rodrigo B. de Oliveira

> compiler error referencing base class members of a generic subclass of a generic class
> --------------------------------------------------------------------------------------
>
>                 Key: BOO-1034
>                 URL: http://jira.codehaus.org/browse/BOO-1034
>             Project: Boo
>          Issue Type: Bug
>          Components: Compiler
>    Affects Versions: 0.8.2
>            Reporter: Spruce Weber
>            Assignee: Rodrigo B. de Oliveira
>             Fix For: 0.9.3
>
>         Attachments: mappedgenericmethod.patch
>
>
> The following code results in Program.boo(8,6) : Error BCE0055: Internal compiler error: Operation is not valid due to the current state of the object. It compiles and runs fine if the subclass is cast to the base class...
> {code}
> import System
> import System.Collections.Generic
> class MyList[of T](List[of T]):
> pass
> l = MyList[of int]()
> l.Add(1)
> print l[0]
> {code}

--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

       

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email