[svn] r7608: vs-plugin/trunk/Nemerle.Compiler.Utils/NemerleCodeParser.n

VladD2 svnadmin at nemerle.org
Sun Apr 22 05:53:54 CEST 2007


Log:


Author: VladD2
Date: Sun Apr 22 05:53:53 2007
New Revision: 7608

Modified:
   vs-plugin/trunk/Nemerle.Compiler.Utils/NemerleCodeParser.n

Modified: vs-plugin/trunk/Nemerle.Compiler.Utils/NemerleCodeParser.n
==============================================================================
--- vs-plugin/trunk/Nemerle.Compiler.Utils/NemerleCodeParser.n	(original)
+++ vs-plugin/trunk/Nemerle.Compiler.Utils/NemerleCodeParser.n	Sun Apr 22 05:53:53 2007
@@ -320,7 +320,10 @@
               CodeFieldReferenceExpression(
                 ToTypeRefExpression(mem.DeclaringType, type_parms), mem.Name)
 
-            | _ => NotSuportedExpression(expr)
+            //| TExpr.MethodRef(obj, meth, _type_parms, _notvirtual) =>
+            //  ToExpression(obj), meth.Name
+
+            | xxx => _ = xxx; NotSuportedExpression(expr)
           }
 
         | PExpr.Ref(name) => CodeVariableReferenceExpression(name.ToString())
@@ -363,6 +366,17 @@
             foreach (codeStatement in ToStatements(expr))
               yield codeStatement;
               
+        | <[ $expr1 += $expr2 ]> => 
+          match (expr1)
+          {
+            | <[ $obj.$member ]> when member.TypedObject is IEvent =>
+              yield CodeAttachEventStatement(ToExpression(obj), 
+                member.TypedObject.Name, ToExpression(expr2))
+                
+            | _ =>
+              yield CodeAssignStatement(ToExpression(expr1), ToExpression(<[ $expr1 + $expr2 ]>))
+          }
+
         | PExpr.Assign(target, source) => 
           yield CodeAssignStatement(ToExpression(target), ToExpression(source))
           



More information about the svn mailing list