[Mono-bugs] [Bug 378542] New: Compiler will throw exception in a special case related to lambda expressions
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Wed Apr 9 16:33:43 EDT 2008
https://bugzilla.novell.com/show_bug.cgi?id=378542
Summary: Compiler will throw exception in a special case related
to lambda expressions
Product: Mono: Compilers
Version: 1.9.0
Platform: PowerPC
OS/Version: Mac OS X 10.4
Status: NEW
Severity: Normal
Priority: P5 - None
Component: C#
AssignedTo: mono-bugs at lists.ximian.com
ReportedBy: johannes at jroith.de
QAContact: mono-bugs at lists.ximian.com
Found By: ---
The following code will throw the exception below:
using System;
class TestCase
{
string a;
string b;
string c;
public void Testing ()
{
string z = a + b + "blah1" + c + "blah2";
Action test = () => {
string x = a;
};
}
}
Internal compiler error at test.cs(9,21):: exception caught while emitting
MethodBuilder [TestCase::Testing]
Unhandled Exception: Mono.CSharp.InternalErrorException: Helper class already
defined!
at Mono.CSharp.CompilerGeneratedClass.CheckMembersDefined () [0x00000]
at Mono.CSharp.RootScopeInfo.CaptureThis () [0x00000]
at Mono.CSharp.This.ResolveBase (Mono.CSharp.EmitContext ec) [0x00000]
at Mono.CSharp.This.DoResolve (Mono.CSharp.EmitContext ec) [0x00000]
at Mono.CSharp.Expression.Resolve (Mono.CSharp.EmitContext ec, ResolveFlags
flags) [0x00000]
at Mono.CSharp.FieldExpr.DoResolve (Mono.CSharp.EmitContext ec, Boolean
lvalue_instance, Boolean out_access) [0x00000]
at Mono.CSharp.FieldExpr.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.ArrayCreation.ResolveArrayElement (Mono.CSharp.EmitContext ec,
Mono.CSharp.Expression element) [0x00000]
at Mono.CSharp.ArrayCreation.CheckIndices (Mono.CSharp.EmitContext ec,
System.Collections.ArrayList probe, Int32 idx, Boolean specified_dims)
[0x00000]
at Mono.CSharp.ArrayCreation.ResolveInitializers (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.StringConcat.Emit (Mono.CSharp.EmitContext ec) [0x00000]
at Mono.CSharp.VariableReference.EmitAssign (Mono.CSharp.EmitContext ec,
Mono.CSharp.Expression source, Boolean leave_copy, Boolean prepare_for_load)
[0x00000]
at Mono.CSharp.Assign.Emit (Mono.CSharp.EmitContext ec, Boolean is_statement)
[0x00000]
at Mono.CSharp.Assign.EmitStatement (Mono.CSharp.EmitContext ec) [0x00000]
at Mono.CSharp.StatementExpression.DoEmit (Mono.CSharp.EmitContext ec)
[0x00000]
at Mono.CSharp.Statement.Emit (Mono.CSharp.EmitContext ec) [0x00000]
at Mono.CSharp.Block.DoEmit (Mono.CSharp.EmitContext ec) [0x00000]
at Mono.CSharp.Block.Emit (Mono.CSharp.EmitContext ec) [0x00000]
at Mono.CSharp.EmitContext.EmitResolvedTopBlock (Mono.CSharp.ToplevelBlock
block, Boolean unreachable) [0x00000]
at Mono.CSharp.EmitContext.EmitTopBlock (IMethodData md,
Mono.CSharp.ToplevelBlock block) [0x00000]
at Mono.CSharp.MethodData.Emit (Mono.CSharp.DeclSpace parent) [0x00000]
at Mono.CSharp.Method.Emit () [0x00000]
--
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