[Mono-bugs] [Bug 36505][Nor] New - mcs generates exception while compiling code with properties

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
Thu, 9 Jan 2003 04:45:19 -0500 (EST)

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by mathpup@mylinuxisp.com.


--- shadow/36505	Thu Jan  9 04:45:19 2003
+++ shadow/36505.tmp.16567	Thu Jan  9 04:45:19 2003
@@ -0,0 +1,91 @@
+Bug#: 36505
+Product: Mono/MCS
+Version: unspecified
+OS Details: SuSE Linux 8.0
+Status: NEW   
+Priority: Normal
+Component: Misc
+AssignedTo: mono-bugs@ximian.com                            
+ReportedBy: mathpup@mylinuxisp.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+Summary: mcs generates exception while compiling code with properties
+Description of Problem:    
+mcs aborts compilation of the attached case that involves properties,    
+indexers, and overloaded operators. It appears to be related to the    
+combination of these entities. I do not know how else to explain it. The   
+test case very contrived, but it is a much-simplified version of a program  
+we're working on adding to Qt#. The program does compile successfully with 
+Steps to reproduce the problem:    
+1.  mcs container.cs  
+Actual Results:    
+Exception caught by the compiler while compiling: 
+   Block that caused the problem begin at: container.cs: (27) 
+                     Block being compiled: [container.cs: (30),Internal: 
+Unhandled Exception: System.NullReferenceException: A null value was found 
+where an object instance was required 
+in <0x000d5> 00 Mono.CSharp.Expression:ImplicitReferenceConversionExists 
+in <0x004b9> 00 Mono.CSharp.Expression:StandardConversionExists 
+in <0x00019> 00 Mono.CSharp.Expression:ImplicitConversionExists 
+in <0x001ad> 00 Mono.CSharp.Invocation:IsApplicable 
+in <0x000f8> 00 Mono.CSharp.Invocation:OverloadResolve 
+in <0x00210> 00 Mono.CSharp.IndexerAccess:DoResolveLValue 
+in <0x0002a> 00 Mono.CSharp.Expression:ResolveLValue 
+in <0x00142> 00 Mono.CSharp.ElementAccess:DoResolveLValue 
+in <0x0002a> 00 Mono.CSharp.Expression:ResolveLValue 
+in <0x0001e> 00 Mono.CSharp.CompoundAssign:DoResolve 
+in <0x00151> 00 Mono.CSharp.Expression:Resolve 
+in <0x0001d> 00 Mono.CSharp.StatementExpression:Resolve 
+in <0x0025e> 00 Mono.CSharp.Block:Resolve (Mono.CSharp.EmitContext) 
+in <0x0025e> 00 Mono.CSharp.Block:Resolve (Mono.CSharp.EmitContext) 
+in <0x0010b> 00 Mono.CSharp.EmitContext:EmitTopBlock 
+in <0x00357> 00 Mono.CSharp.EmitContext:EmitTopBlock 
+in <0x005ac> 00 Mono.CSharp.MethodData:Emit 
+in <0x00023> 00 Mono.CSharp.Method:Emit (Mono.CSharp.TypeContainer) 
+in <0x00291> 00 Mono.CSharp.TypeContainer:Emit () 
+in <0x004c8> 00 Mono.CSharp.RootContext:EmitCode () 
+in <0x0079c> 00 Mono.CSharp.Driver:MainDriver (string[]) 
+in <0x0000f> 00 Mono.CSharp.Driver:Main (string[]) 
+Expected Results:    
+Successful compilation 
+How often does this happen?     
+Additional Information: