[svn] r7446: nemerle/trunk/ncc: generation/Typer3.n parsing/AST.n
parsing/MainParser.n
VladD2
svnadmin at nemerle.org
Mon Feb 19 06:03:07 CET 2007
Log:
Prevent parser from generate TypeDeclaration (TopDeclaration.Delegate (null)) for non wellformed class members.
Author: VladD2
Date: Mon Feb 19 06:03:05 2007
New Revision: 7446
Modified:
nemerle/trunk/ncc/generation/Typer3.n
nemerle/trunk/ncc/parsing/AST.n
nemerle/trunk/ncc/parsing/MainParser.n
Modified: nemerle/trunk/ncc/generation/Typer3.n
==============================================================================
--- nemerle/trunk/ncc/generation/Typer3.n (original)
+++ nemerle/trunk/ncc/generation/Typer3.n Mon Feb 19 06:03:05 2007
@@ -35,7 +35,7 @@
namespace Nemerle.Compiler
{
- class Typer3 : TyperBase
+ public class Typer3 : TyperBase
{
#region Top typer
// one instance is created for every source top level method
Modified: nemerle/trunk/ncc/parsing/AST.n
==============================================================================
--- nemerle/trunk/ncc/parsing/AST.n (original)
+++ nemerle/trunk/ncc/parsing/AST.n Mon Feb 19 06:03:05 2007
@@ -497,6 +497,7 @@
| CompilerMutable = 0x40000
| VirtualityModifiers = New %| Abstract %| Virtual %| Override
+ | OverrideModifiers = Abstract %| Virtual %| Override
| AccessModifiers = Public %| Private %| Protected %| Internal
}
Modified: nemerle/trunk/ncc/parsing/MainParser.n
==============================================================================
--- nemerle/trunk/ncc/parsing/MainParser.n (original)
+++ nemerle/trunk/ncc/parsing/MainParser.n Mon Feb 19 06:03:05 2007
@@ -664,6 +664,9 @@
pop_stream ();
when (key == "variant") in_variant = true;
members = process_groups (children, "type member", ParseClassMember);
+ when (members.Exists (_ is ClassMember.TypeDeclaration (TopDeclaration.Delegate (null))))
+ members = members.Filter (m => !(m
+ is ClassMember.TypeDeclaration (TopDeclaration.Delegate (null))));
in_variant = false
}
More information about the svn
mailing list