[svn] r6450: nemerle/trunk: macros/assertions.n
ncc/testsuite/positive/assert.n
nazgul
svnadmin at nemerle.org
Sun Jul 16 15:29:39 CEST 2006
Log:
Make NotNull macro emit upcast, so generic parameter is handled correctly
Author: nazgul
Date: Sun Jul 16 15:29:35 2006
New Revision: 6450
Modified:
nemerle/trunk/macros/assertions.n
nemerle/trunk/ncc/testsuite/positive/assert.n
Modified: nemerle/trunk/macros/assertions.n
==============================================================================
--- nemerle/trunk/macros/assertions.n (original)
+++ nemerle/trunk/macros/assertions.n Sun Jul 16 15:29:35 2006
@@ -61,7 +61,7 @@
Inherited = true, AllowMultiple = false)]
macro NotNull (_ : TypeBuilder, m : ParsedMethod, p : ParsedParameter)
{
- def assertion = <[ $(p.ParsedName : name) != null ]>;
+ def assertion = <[ $(p.ParsedName : name) : object != null ]>;
m.Body = <[
assert ($assertion, "The ``NotNull'' contract of parameter `" +
Modified: nemerle/trunk/ncc/testsuite/positive/assert.n
==============================================================================
--- nemerle/trunk/ncc/testsuite/positive/assert.n (original)
+++ nemerle/trunk/ncc/testsuite/positive/assert.n Sun Jul 16 15:29:35 2006
@@ -64,6 +64,9 @@
}
}
+ generic_foo [T] ([NotNull] _bar : T) : void {
+ }
+
myassert () : void {
printf ("Testing the assertions...\n");
@@ -98,6 +101,8 @@
| _ is AssertionException =>
printf ("Assertion number 3 failed (wrong!)\n")
};
+ generic_foo (1);
+ generic_foo ("ss");
}
public Main () : void {
More information about the svn
mailing list