|
View:
New views
8 Messages
—
Rating Filter:
Alert me
|
|
|
[jira] Created: (BOO-1064) Redundant explicit member instantiation causes compilerRedundant explicit member instantiation causes compiler
-------------------------------------------------------- Key: BOO-1064 URL: http://jira.codehaus.org/browse/BOO-1064 Project: Boo Issue Type: Bug Components: Compiler Affects Versions: 0.8.2 Environment: Windows XP, under both boo 8.2 and svn Reporter: Greg Nagel {code} interface I: def Foo() class A(I): def I.Foo(): print "A" class B(A): def I.Foo(): print "B" b = B() b.Foo() {code} Does not matter if B also derives from I. Output: test.boo(22,3): BCE0055: Boo.Lang.Compiler.CompilerError: Internal compiler error: entities. ---> System.ArgumentException: entities at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IEntity[] entities) at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IList entities) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReferenceByAccessibility(Ambiguous candidates) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReference(ReferenceExpression node, Ambiguous candidates) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMemberReferenceExpression(MemberReferenceExpression node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.LeaveMemberReferenceExpression(MemberReferenceExpression node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnMemberReferenceExpression(MemberReferenceExpression node) at Boo.Lang.Compiler.Ast.MemberReferenceExpression.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) --- End of inner exception stack trace --- at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnError(Node node, Exception error) at Boo.Lang.Compiler.Steps.AbstractVisitorCompilerStep.OnError(Node node, Exception error) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethodInvocationExpression(MethodInvocationExpression node) at Boo.Lang.Compiler.Ast.MethodInvocationExpression.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnExpressionStatement(ExpressionStatement node) at Boo.Lang.Compiler.Ast.ExpressionStatement.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnBlock(Block node) at Boo.Lang.Compiler.Ast.Block.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessNodeInMethodContext(InternalMethod entity, INamespace ns, Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity, INamespace ns) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessRegularMethod(Method node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethod(Method method) at Boo.Lang.Compiler.Ast.Method.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.VisitTypeDefinition(TypeDefinition node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnClassDefinition(ClassDefinition node) at Boo.Lang.Compiler.Ast.ClassDefinition.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnModule(Module module) at Boo.Lang.Compiler.Ast.Module.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnCompileUnit(CompileUnit node) at Boo.Lang.Compiler.Ast.CompileUnit.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.Run() at Boo.Lang.Compiler.CompilerPipeline.RunStep(CompilerContext context, ICompilerStep step) Probably related to BOO-1023 and perhaps BOO-1055. -- 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-1064) Redundant explicit member instantiation causes compiler[ http://jira.codehaus.org/browse/BOO-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Greg Nagel updated BOO-1064: ---------------------------- Attachment: BOO-1064.patch Turns out it doesn't have anything to do with the others; just some control code which assumed that Assumption() could take an empty list. Patch attached; passes all the standard tests and this new one. > Redundant explicit member instantiation causes compiler > -------------------------------------------------------- > > Key: BOO-1064 > URL: http://jira.codehaus.org/browse/BOO-1064 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.8.2 > Environment: Windows XP, under both boo 8.2 and svn > Reporter: Greg Nagel > Attachments: BOO-1064.patch > > > {code} > interface I: > def Foo() > class A(I): > def I.Foo(): > print "A" > class B(A): > def I.Foo(): > print "B" > b = B() > b.Foo() > {code} > Does not matter if B also derives from I. > Output: > test.boo(22,3): BCE0055: Boo.Lang.Compiler.CompilerError: Internal compiler error: entities. ---> System.ArgumentException: entities > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IEntity[] entities) > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IList entities) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReferenceByAccessibility(Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReference(ReferenceExpression node, Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.LeaveMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.MemberReferenceExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > --- End of inner exception stack trace --- > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Steps.AbstractVisitorCompilerStep.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethodInvocationExpression(MethodInvocationExpression node) > at Boo.Lang.Compiler.Ast.MethodInvocationExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnExpressionStatement(ExpressionStatement node) > at Boo.Lang.Compiler.Ast.ExpressionStatement.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnBlock(Block node) > at Boo.Lang.Compiler.Ast.Block.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessNodeInMethodContext(InternalMethod entity, INamespace ns, Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity, INamespace ns) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessRegularMethod(Method node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethod(Method method) > at Boo.Lang.Compiler.Ast.Method.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.VisitTypeDefinition(TypeDefinition node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnClassDefinition(ClassDefinition node) > at Boo.Lang.Compiler.Ast.ClassDefinition.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnModule(Module module) > at Boo.Lang.Compiler.Ast.Module.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnCompileUnit(CompileUnit node) > at Boo.Lang.Compiler.Ast.CompileUnit.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.Run() > at Boo.Lang.Compiler.CompilerPipeline.RunStep(CompilerContext context, ICompilerStep step) > Probably related to BOO-1023 and perhaps BOO-1055. -- 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-1064) Redundant explicit member instantiation causes compiler[ http://jira.codehaus.org/browse/BOO-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=140276#action_140276 ] Greg Nagel commented on BOO-1064: --------------------------------- Er, the version is wrong. I was thinking the assemblies in /bin were 8.2 for some reason. All these tests are done under r3010. > Redundant explicit member instantiation causes compiler > -------------------------------------------------------- > > Key: BOO-1064 > URL: http://jira.codehaus.org/browse/BOO-1064 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.8.2 > Environment: Windows XP, under both boo 8.2 and svn > Reporter: Greg Nagel > Attachments: BOO-1064.patch > > > {code} > interface I: > def Foo() > class A(I): > def I.Foo(): > print "A" > class B(A): > def I.Foo(): > print "B" > b = B() > b.Foo() > {code} > Does not matter if B also derives from I. > Output: > test.boo(22,3): BCE0055: Boo.Lang.Compiler.CompilerError: Internal compiler error: entities. ---> System.ArgumentException: entities > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IEntity[] entities) > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IList entities) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReferenceByAccessibility(Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReference(ReferenceExpression node, Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.LeaveMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.MemberReferenceExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > --- End of inner exception stack trace --- > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Steps.AbstractVisitorCompilerStep.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethodInvocationExpression(MethodInvocationExpression node) > at Boo.Lang.Compiler.Ast.MethodInvocationExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnExpressionStatement(ExpressionStatement node) > at Boo.Lang.Compiler.Ast.ExpressionStatement.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnBlock(Block node) > at Boo.Lang.Compiler.Ast.Block.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessNodeInMethodContext(InternalMethod entity, INamespace ns, Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity, INamespace ns) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessRegularMethod(Method node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethod(Method method) > at Boo.Lang.Compiler.Ast.Method.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.VisitTypeDefinition(TypeDefinition node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnClassDefinition(ClassDefinition node) > at Boo.Lang.Compiler.Ast.ClassDefinition.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnModule(Module module) > at Boo.Lang.Compiler.Ast.Module.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnCompileUnit(CompileUnit node) > at Boo.Lang.Compiler.Ast.CompileUnit.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.Run() > at Boo.Lang.Compiler.CompilerPipeline.RunStep(CompilerContext context, ICompilerStep step) > Probably related to BOO-1023 and perhaps BOO-1055. -- 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] Assigned: (BOO-1064) Redundant explicit member instantiation causes compiler[ http://jira.codehaus.org/browse/BOO-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Cedric Vivier reassigned BOO-1064: ---------------------------------- Assignee: Cedric Vivier > Redundant explicit member instantiation causes compiler > -------------------------------------------------------- > > Key: BOO-1064 > URL: http://jira.codehaus.org/browse/BOO-1064 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.8.2 > Environment: Windows XP, under both boo 8.2 and svn > Reporter: Greg Nagel > Assignee: Cedric Vivier > Attachments: BOO-1064.patch > > > {code} > interface I: > def Foo() > class A(I): > def I.Foo(): > print "A" > class B(A): > def I.Foo(): > print "B" > b = B() > b.Foo() > {code} > Does not matter if B also derives from I. > Output: > test.boo(22,3): BCE0055: Boo.Lang.Compiler.CompilerError: Internal compiler error: entities. ---> System.ArgumentException: entities > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IEntity[] entities) > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IList entities) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReferenceByAccessibility(Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReference(ReferenceExpression node, Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.LeaveMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.MemberReferenceExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > --- End of inner exception stack trace --- > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Steps.AbstractVisitorCompilerStep.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethodInvocationExpression(MethodInvocationExpression node) > at Boo.Lang.Compiler.Ast.MethodInvocationExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnExpressionStatement(ExpressionStatement node) > at Boo.Lang.Compiler.Ast.ExpressionStatement.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnBlock(Block node) > at Boo.Lang.Compiler.Ast.Block.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessNodeInMethodContext(InternalMethod entity, INamespace ns, Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity, INamespace ns) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessRegularMethod(Method node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethod(Method method) > at Boo.Lang.Compiler.Ast.Method.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.VisitTypeDefinition(TypeDefinition node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnClassDefinition(ClassDefinition node) > at Boo.Lang.Compiler.Ast.ClassDefinition.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnModule(Module module) > at Boo.Lang.Compiler.Ast.Module.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnCompileUnit(CompileUnit node) > at Boo.Lang.Compiler.Ast.CompileUnit.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.Run() > at Boo.Lang.Compiler.CompilerPipeline.RunStep(CompilerContext context, ICompilerStep step) > Probably related to BOO-1023 and perhaps BOO-1055. -- 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-1064) Overriden explicit interface implementation crashes compiler[ http://jira.codehaus.org/browse/BOO-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Cedric Vivier updated BOO-1064: ------------------------------- Description: {code} """ B """ interface I: def Foo() class A(I): def I.Foo(): print "A" class B(A): def I.Foo(): print "B" b = B() (b as I).Foo() {code} Does not matter if B also derives from I. Output: test.boo(22,3): BCE0055: Boo.Lang.Compiler.CompilerError: Internal compiler error: entities. ---> System.ArgumentException: entities at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IEntity[] entities) at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IList entities) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReferenceByAccessibility(Ambiguous candidates) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReference(ReferenceExpression node, Ambiguous candidates) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMemberReferenceExpression(MemberReferenceExpression node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.LeaveMemberReferenceExpression(MemberReferenceExpression node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnMemberReferenceExpression(MemberReferenceExpression node) at Boo.Lang.Compiler.Ast.MemberReferenceExpression.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) --- End of inner exception stack trace --- at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnError(Node node, Exception error) at Boo.Lang.Compiler.Steps.AbstractVisitorCompilerStep.OnError(Node node, Exception error) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethodInvocationExpression(MethodInvocationExpression node) at Boo.Lang.Compiler.Ast.MethodInvocationExpression.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnExpressionStatement(ExpressionStatement node) at Boo.Lang.Compiler.Ast.ExpressionStatement.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnBlock(Block node) at Boo.Lang.Compiler.Ast.Block.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessNodeInMethodContext(InternalMethod entity, INamespace ns, Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity, INamespace ns) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessRegularMethod(Method node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethod(Method method) at Boo.Lang.Compiler.Ast.Method.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.VisitTypeDefinition(TypeDefinition node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnClassDefinition(ClassDefinition node) at Boo.Lang.Compiler.Ast.ClassDefinition.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnModule(Module module) at Boo.Lang.Compiler.Ast.Module.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnCompileUnit(CompileUnit node) at Boo.Lang.Compiler.Ast.CompileUnit.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.Run() at Boo.Lang.Compiler.CompilerPipeline.RunStep(CompilerContext context, ICompilerStep step) Probably related to BOO-1023 and perhaps BOO-1055. was: {code} interface I: def Foo() class A(I): def I.Foo(): print "A" class B(A): def I.Foo(): print "B" b = B() b.Foo() {code} Does not matter if B also derives from I. Output: test.boo(22,3): BCE0055: Boo.Lang.Compiler.CompilerError: Internal compiler error: entities. ---> System.ArgumentException: entities at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IEntity[] entities) at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IList entities) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReferenceByAccessibility(Ambiguous candidates) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReference(ReferenceExpression node, Ambiguous candidates) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMemberReferenceExpression(MemberReferenceExpression node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.LeaveMemberReferenceExpression(MemberReferenceExpression node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnMemberReferenceExpression(MemberReferenceExpression node) at Boo.Lang.Compiler.Ast.MemberReferenceExpression.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) --- End of inner exception stack trace --- at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnError(Node node, Exception error) at Boo.Lang.Compiler.Steps.AbstractVisitorCompilerStep.OnError(Node node, Exception error) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethodInvocationExpression(MethodInvocationExpression node) at Boo.Lang.Compiler.Ast.MethodInvocationExpression.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnExpressionStatement(ExpressionStatement node) at Boo.Lang.Compiler.Ast.ExpressionStatement.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnBlock(Block node) at Boo.Lang.Compiler.Ast.Block.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessNodeInMethodContext(InternalMethod entity, INamespace ns, Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity, INamespace ns) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessRegularMethod(Method node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethod(Method method) at Boo.Lang.Compiler.Ast.Method.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.VisitTypeDefinition(TypeDefinition node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnClassDefinition(ClassDefinition node) at Boo.Lang.Compiler.Ast.ClassDefinition.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnModule(Module module) at Boo.Lang.Compiler.Ast.Module.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnCompileUnit(CompileUnit node) at Boo.Lang.Compiler.Ast.CompileUnit.Accept(IAstVisitor visitor) at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) at Boo.Lang.Compiler.Steps.ProcessMethodBodies.Run() at Boo.Lang.Compiler.CompilerPipeline.RunStep(CompilerContext context, ICompilerStep step) Probably related to BOO-1023 and perhaps BOO-1055. Summary: Overriden explicit interface implementation crashes compiler (was: Redundant explicit member instantiation causes compiler ) > Overriden explicit interface implementation crashes compiler > ------------------------------------------------------------ > > Key: BOO-1064 > URL: http://jira.codehaus.org/browse/BOO-1064 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.8.2 > Environment: Windows XP, under both boo 8.2 and svn > Reporter: Greg Nagel > Assignee: Cedric Vivier > Attachments: BOO-1064.patch > > > {code} > """ > B > """ > interface I: > def Foo() > class A(I): > def I.Foo(): > print "A" > class B(A): > def I.Foo(): > print "B" > b = B() > (b as I).Foo() > {code} > Does not matter if B also derives from I. > Output: > test.boo(22,3): BCE0055: Boo.Lang.Compiler.CompilerError: Internal compiler error: entities. ---> System.ArgumentException: entities > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IEntity[] entities) > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IList entities) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReferenceByAccessibility(Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReference(ReferenceExpression node, Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.LeaveMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.MemberReferenceExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > --- End of inner exception stack trace --- > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Steps.AbstractVisitorCompilerStep.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethodInvocationExpression(MethodInvocationExpression node) > at Boo.Lang.Compiler.Ast.MethodInvocationExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnExpressionStatement(ExpressionStatement node) > at Boo.Lang.Compiler.Ast.ExpressionStatement.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnBlock(Block node) > at Boo.Lang.Compiler.Ast.Block.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessNodeInMethodContext(InternalMethod entity, INamespace ns, Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity, INamespace ns) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessRegularMethod(Method node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethod(Method method) > at Boo.Lang.Compiler.Ast.Method.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.VisitTypeDefinition(TypeDefinition node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnClassDefinition(ClassDefinition node) > at Boo.Lang.Compiler.Ast.ClassDefinition.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnModule(Module module) > at Boo.Lang.Compiler.Ast.Module.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnCompileUnit(CompileUnit node) > at Boo.Lang.Compiler.Ast.CompileUnit.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.Run() > at Boo.Lang.Compiler.CompilerPipeline.RunStep(CompilerContext context, ICompilerStep step) > Probably related to BOO-1023 and perhaps BOO-1055. -- 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-1064) Overriden explicit interface implementation crashes compiler[ http://jira.codehaus.org/browse/BOO-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=184342#action_184342 ] Cedric Vivier commented on BOO-1064: ------------------------------------ Above still cannot compile on trunk, but fails in EmitAssembly instead (no MethodInfo attached to the B). It works though if B explicitely says it implements I (which was not the case originally). > Overriden explicit interface implementation crashes compiler > ------------------------------------------------------------ > > Key: BOO-1064 > URL: http://jira.codehaus.org/browse/BOO-1064 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.8.2 > Environment: Windows XP, under both boo 8.2 and svn > Reporter: Greg Nagel > Assignee: Cedric Vivier > Attachments: BOO-1064.patch > > > {code} > """ > B > """ > interface I: > def Foo() > class A(I): > def I.Foo(): > print "A" > class B(A): > def I.Foo(): > print "B" > b = B() > (b as I).Foo() > {code} > Does not matter if B also derives from I. > Output: > test.boo(22,3): BCE0055: Boo.Lang.Compiler.CompilerError: Internal compiler error: entities. ---> System.ArgumentException: entities > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IEntity[] entities) > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IList entities) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReferenceByAccessibility(Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReference(ReferenceExpression node, Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.LeaveMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.MemberReferenceExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > --- End of inner exception stack trace --- > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Steps.AbstractVisitorCompilerStep.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethodInvocationExpression(MethodInvocationExpression node) > at Boo.Lang.Compiler.Ast.MethodInvocationExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnExpressionStatement(ExpressionStatement node) > at Boo.Lang.Compiler.Ast.ExpressionStatement.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnBlock(Block node) > at Boo.Lang.Compiler.Ast.Block.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessNodeInMethodContext(InternalMethod entity, INamespace ns, Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity, INamespace ns) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessRegularMethod(Method node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethod(Method method) > at Boo.Lang.Compiler.Ast.Method.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.VisitTypeDefinition(TypeDefinition node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnClassDefinition(ClassDefinition node) > at Boo.Lang.Compiler.Ast.ClassDefinition.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnModule(Module module) > at Boo.Lang.Compiler.Ast.Module.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnCompileUnit(CompileUnit node) > at Boo.Lang.Compiler.Ast.CompileUnit.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.Run() > at Boo.Lang.Compiler.CompilerPipeline.RunStep(CompilerContext context, ICompilerStep step) > Probably related to BOO-1023 and perhaps BOO-1055. -- 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] Assigned: (BOO-1064) Overriden explicit interface implementation crashes compiler[ http://jira.codehaus.org/browse/BOO-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rodrigo B. de Oliveira reassigned BOO-1064: ------------------------------------------- Assignee: Rodrigo B. de Oliveira (was: Cedric Vivier) > Overriden explicit interface implementation crashes compiler > ------------------------------------------------------------ > > Key: BOO-1064 > URL: http://jira.codehaus.org/browse/BOO-1064 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.8.2 > Environment: Windows XP, under both boo 8.2 and svn > Reporter: Greg Nagel > Assignee: Rodrigo B. de Oliveira > Fix For: 0.9.3 > > Attachments: BOO-1064.patch > > > {code} > """ > B > """ > interface I: > def Foo() > class A(I): > def I.Foo(): > print "A" > class B(A): > def I.Foo(): > print "B" > b = B() > (b as I).Foo() > {code} > Does not matter if B also derives from I. > Output: > test.boo(22,3): BCE0055: Boo.Lang.Compiler.CompilerError: Internal compiler error: entities. ---> System.ArgumentException: entities > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IEntity[] entities) > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IList entities) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReferenceByAccessibility(Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReference(ReferenceExpression node, Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.LeaveMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.MemberReferenceExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > --- End of inner exception stack trace --- > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Steps.AbstractVisitorCompilerStep.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethodInvocationExpression(MethodInvocationExpression node) > at Boo.Lang.Compiler.Ast.MethodInvocationExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnExpressionStatement(ExpressionStatement node) > at Boo.Lang.Compiler.Ast.ExpressionStatement.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnBlock(Block node) > at Boo.Lang.Compiler.Ast.Block.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessNodeInMethodContext(InternalMethod entity, INamespace ns, Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity, INamespace ns) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessRegularMethod(Method node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethod(Method method) > at Boo.Lang.Compiler.Ast.Method.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.VisitTypeDefinition(TypeDefinition node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnClassDefinition(ClassDefinition node) > at Boo.Lang.Compiler.Ast.ClassDefinition.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnModule(Module module) > at Boo.Lang.Compiler.Ast.Module.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnCompileUnit(CompileUnit node) > at Boo.Lang.Compiler.Ast.CompileUnit.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.Run() > at Boo.Lang.Compiler.CompilerPipeline.RunStep(CompilerContext context, ICompilerStep step) > Probably related to BOO-1023 and perhaps BOO-1055. -- 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-1064) Overriden explicit interface implementation crashes compiler[ http://jira.codehaus.org/browse/BOO-1064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Rodrigo B. de Oliveira closed BOO-1064. --------------------------------------- Resolution: Fixed Fix Version/s: 0.9.3 Fixed in trunk. > Overriden explicit interface implementation crashes compiler > ------------------------------------------------------------ > > Key: BOO-1064 > URL: http://jira.codehaus.org/browse/BOO-1064 > Project: Boo > Issue Type: Bug > Components: Compiler > Affects Versions: 0.8.2 > Environment: Windows XP, under both boo 8.2 and svn > Reporter: Greg Nagel > Assignee: Rodrigo B. de Oliveira > Fix For: 0.9.3 > > Attachments: BOO-1064.patch > > > {code} > """ > B > """ > interface I: > def Foo() > class A(I): > def I.Foo(): > print "A" > class B(A): > def I.Foo(): > print "B" > b = B() > (b as I).Foo() > {code} > Does not matter if B also derives from I. > Output: > test.boo(22,3): BCE0055: Boo.Lang.Compiler.CompilerError: Internal compiler error: entities. ---> System.ArgumentException: entities > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IEntity[] entities) > at Boo.Lang.Compiler.TypeSystem.Ambiguous..ctor(IList entities) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReferenceByAccessibility(Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ResolveAmbiguousReference(ReferenceExpression node, Ambiguous candidates) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.LeaveMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnMemberReferenceExpression(MemberReferenceExpression node) > at Boo.Lang.Compiler.Ast.MemberReferenceExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > --- End of inner exception stack trace --- > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Steps.AbstractVisitorCompilerStep.OnError(Node node, Exception error) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethodInvocationExpression(MethodInvocationExpression node) > at Boo.Lang.Compiler.Ast.MethodInvocationExpression.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnExpressionStatement(ExpressionStatement node) > at Boo.Lang.Compiler.Ast.ExpressionStatement.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnBlock(Block node) > at Boo.Lang.Compiler.Ast.Block.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessNodeInMethodContext(InternalMethod entity, INamespace ns, Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity, INamespace ns) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessMethodBody(InternalMethod entity) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.ProcessRegularMethod(Method node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnMethod(Method method) > at Boo.Lang.Compiler.Ast.Method.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.VisitTypeDefinition(TypeDefinition node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnClassDefinition(ClassDefinition node) > at Boo.Lang.Compiler.Ast.ClassDefinition.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.OnModule(Module module) > at Boo.Lang.Compiler.Ast.Module.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node[] array) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit[T](NodeCollection`1 collection) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.OnCompileUnit(CompileUnit node) > at Boo.Lang.Compiler.Ast.CompileUnit.Accept(IAstVisitor visitor) > at Boo.Lang.Compiler.Ast.DepthFirstVisitor.Visit(Node node) > at Boo.Lang.Compiler.Steps.ProcessMethodBodies.Run() > at Boo.Lang.Compiler.CompilerPipeline.RunStep(CompilerContext context, ICompilerStep step) > Probably related to BOO-1023 and perhaps BOO-1055. -- 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 |
| Free embeddable forum powered by Nabble | Forum Help |