Author: manjula
Date: 2005-03-21 06:19:41 -0500 (Mon, 21 Mar 2005)
New Revision: 42044
Modified:
trunk/mcs/mbas/ChangeLog
trunk/mcs/mbas/statement.cs
Log:
Implementation of 'End' Statement which terminates execution immediately
Modified: trunk/mcs/mbas/ChangeLog
===================================================================
--- trunk/mcs/mbas/ChangeLog 2005-03-21 09:18:14 UTC (rev 42043)
+++ trunk/mcs/mbas/ChangeLog 2005-03-21 11:19:41 UTC (rev 42044)
@@ -1,3 +1,6 @@
+2005-03-21 Manjula GHM <[EMAIL PROTECTED]>
+ * statement.cs: Implementation of 'End' Statement which terminates
execution immediately
+
2005-03-18 Satya Sudha K <[EMAIL PROTECTED]>
* mb-parser.jay :
* mb-tokenizer.cs :
Modified: trunk/mcs/mbas/statement.cs
===================================================================
--- trunk/mcs/mbas/statement.cs 2005-03-21 09:18:14 UTC (rev 42043)
+++ trunk/mcs/mbas/statement.cs 2005-03-21 11:19:41 UTC (rev 42044)
@@ -5,6 +5,7 @@
// Miguel de Icaza ([EMAIL PROTECTED])
// Martin Baulig ([EMAIL PROTECTED])
// Anirban Bhattacharjee ([EMAIL PROTECTED])
+// Manjula GHM ([EMAIL PROTECTED])
//
// (C) 2001, 2002 Ximian, Inc.
//
@@ -969,6 +970,39 @@
}
}
+ // Support 'End' Statement which terminates execution immediately
+
+ public class End : Statement {
+
+ public End (Location l)
+ {
+ loc = l;
+ }
+
+ public override bool Resolve (EmitContext ec)
+ {
+ return true;
+ }
+
+ protected override bool DoEmit (EmitContext ec)
+ {
+ Expression e = null;
+ Expression tmp = Mono.MonoBASIC.Parser.DecomposeQI (
+
"Microsoft.VisualBasic.CompilerServices.ProjectData.EndApp",
+ Location.Null);
+
+ e = new Invocation (tmp, null, loc);
+ e.Resolve (ec);
+
+ if (e == null)
+ return false;
+ e.Emit (ec);
+
+ return true;
+ }
+ }
+
+
public class Break : Statement {
public Break (Location l)
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches