[nem-en] Screenshot from MonoDevelop

Michal Moskal michal.moskal at gmail.com
Thu Mar 2 17:29:18 CET 2006


On 3/2/06, Alejandro Serrano <trupill at yahoo.es> wrote:
> At first I has a problem in WarningOptions.IsEnabled. It threw an
> exception during Clean(), so the type wasn't initialized correctly. Just
> changing IsEnabled to be wrapped inside a try/catch block was a good
> solution (I would  have commited it yet, but I don't know what should I
> do now a optimizer branch has been created, because the change is in
> CopilationOptions.n).

Just go ahead and commit. I guess there are going to be not much
changes outside a separate optimizer file on this branch.

> The other problem at this stage is that when a code is not completely OK
> (for example, when you write "public class Foo {"), this is thrown:
>
> System.ArgumentException: GetName () called for option
> Nemerle.Compiler.Parsetree.Splicable+Expression
> in <0x00090> Nemerle.Compiler.Parsetree.Splicable:GetName ()
> in <0x00010> Nemerle.Compiler.Parsetree.DeclarationBase:get_ParsedName ()
> in <0x00030> Nemerle.Compiler.ScanTypeHierarchy:ProcessDeclaration
> (Nemerle.Compiler.Parsetree.TopDeclaration decl)
> in <0x0000a> Nemerle.Completion.Engine+_N_static_proxy68391:apply_void
> (Nemerle.Compiler.Parsetree.TopDeclaration _N_sp_parm68398)
> in <0x00085> Nemerle.Collections.List:Iter[TopDeclaration]
> (Nemerle.Core.list`1 l, Nemerle.Builtins.FunctionVoid`1 f)
> in <0x0076f> Nemerle.Completion.Engine:GetTypeTree ()
>
> The problem is not the exception, but the fact that lexing may be
> interrupted and so the Type Tree creation.

I tried compilation of this line of code alone. Strangely it compiles!
There has to be some bug in the parser. Are you able to prepare a
testcase for the standalone compiler, where it fails (you can use
-ignore-confusion option for ncc to print out the stack trace)?

> If there's no problem with the change in CompilationOptions.n, I'll post
> the code to SVN. Also, I'll try to make the plug-in a bit more usable
> and try to post it, but I have to tell that you will need the latest
> MonoDevelop from SVN, with the latest Cecil (or at least version 0.2) in
> the contrib/ folder and compiled with gmcs instead of mcs.

It would be good to have it around.

--
   Michal Moskal,
   http://nemerle.org/~malekith/



More information about the devel-en mailing list