[Mono-bugs] [Bug 481526] New: Action<ClassInProject>[][] not creatable

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Tue Mar 3 11:17:04 EST 2009


https://bugzilla.novell.com/show_bug.cgi?id=481526


           Summary: Action<ClassInProject>[][] not creatable
    Classification: Mono
           Product: Mono: Compilers
           Version: SVN
          Platform: x86-64
        OS/Version: Linux
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: C#
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: Dax at daxxfiles.net
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


Description of Problem:

gmcs can no longer create arrays of arrays of delegates using a class defined
inside the array-declaring project as a generic parameter.


Steps to reproduce the problem:

Compile

class MainClass
{
    static void Foo(params Action<MainClass>[][] funcs){}

    static Action<MainClass>[] Set(params Action<MainClass>[] arr)
    {
        return arr;
    }

    static void Bar(MainClass mc){}

    public static void Main(string[] args)
    {
        Foo(Set(Bar, Bar), Set(Bar, Bar));
    }
}


Actual Results:

Exception caught by the compiler while compiling:
   Block that caused the problem begin at:
~/Projects/snafu/snafu/Main.cs(26,36):
                     Block being compiled:
[~/Projects/snafu/snafu/Main.cs(27,17):,~/Projects/snafu/snafu/Main.cs(29,17):]
Mono.CSharp.InternalErrorException: Couldn't create computed type
System.Action`1[snafu.MainClass][][]
Internal compiler error at ~/Projects/snafu/snafu/Main.cs(26,36):: exception
caught while emitting MethodBuilder [MainClass::Main]


Unhandled Exception: Mono.CSharp.InternalErrorException: Couldn't create
computed type System.Action`1[snafu.MainClass][][]
  at Mono.CSharp.ComposedCast.DoResolveAsTypeStep (IResolveContext ec)
[0x00000] 
  at Mono.CSharp.TypeExpr.ResolveAsTypeStep (IResolveContext ec, Boolean
silent) [0x00000] 
  at Mono.CSharp.Expression.ResolveAsBaseTerminal (IResolveContext ec, Boolean
silent) [0x00000] 
  at Mono.CSharp.ComposedCast.ResolveAsTypeTerminal (IResolveContext ec,
Boolean silent) [0x00000] 
  at Mono.CSharp.ArrayCreation.ResolveArrayType (Mono.CSharp.EmitContext ec)
[0x00000] 
  at Mono.CSharp.ArrayCreation.DoResolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags
flags) [0x00000] 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.MethodGroupExpr.VerifyArgumentsCompat (Mono.CSharp.EmitContext
ec, System.Collections.ArrayList& arguments, Int32 arg_count,
System.Reflection.MethodBase method, Boolean chose_params_expanded, Boolean
may_fail, Location loc) [0x00000] 
  at Mono.CSharp.MethodGroupExpr.OverloadResolve (Mono.CSharp.EmitContext ec,
System.Collections.ArrayList& Arguments, Boolean may_fail, Location loc)
[0x00000] 
  at Mono.CSharp.Invocation.DoResolveOverload (Mono.CSharp.EmitContext ec)
[0x00000] 
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags
flags) [0x00000] 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.ExpressionStatement.ResolveStatement (Mono.CSharp.EmitContext
ec) [0x00000] 
  at Mono.CSharp.StatementExpression.Resolve (Mono.CSharp.EmitContext ec)
[0x00000] 
  at Mono.CSharp.Block.Resolve (Mono.CSharp.EmitContext ec) [0x00000] 
  at Mono.CSharp.EmitContext.ResolveTopBlock (Mono.CSharp.EmitContext
anonymous_method_host, Mono.CSharp.ToplevelBlock block,
Mono.CSharp.ParametersCompiled ip, IMethodData md, System.Boolean& unreachable)
[0x00000] 


Expected Results:

No exception

How often does this happen? 

every time

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the mono-bugs mailing list