qwertie / ecsharp

Home of LoycCore, the LES language of Loyc trees, the Enhanced C# parser, the LeMP macro preprocessor, and the LLLPG parser generator.
http://ecsharp.net
Other
172 stars 25 forks source link

Custom tool error ... NullReferenceException #24

Closed ktodyruik closed 8 years ago

ktodyruik commented 8 years ago

I went through the installation instructions on the installation page: http://loyc.net/lemp/install.html

Installed into VS2013.

example.out.cs was created, it only includes using statements, and there were two errors:

Error   2   Custom tool error: Bug: unhandled exception in parser - Object reference not set to an instance of an object. (NullReferenceException)  C:\Sketchbook\LoycTest\src\HelloWorld\example.ecs   6   1   HelloWorld
Error   1   Custom tool error: An expected condition was false: nsName.Calls(S.Assign, 2) && (aliasedType = nsName[1]) != @null C:\Sketchbook\LoycTest\src\HelloWorld\example.ecs   6   1   HelloWorld
qwertie commented 8 years ago

What was the input code exactly? I seem to recall hitting a bug or regression in using X = Y statements recently.... I thought I fixed it by now. Make sure you're using the most recent binaries in Lib\LeMP

ktodyruik commented 8 years ago

It's the code on the installation page. I tried to follow those instructions exactly.

On Fri, Mar 11, 2016 at 8:07 AM, David Piepgrass notifications@github.com wrote:

What was the input code exactly? I seem to recall hitting a bug or regression in using X = Y statements recently.... I thought I fixed it by now.

— Reply to this email directly or view it on GitHub https://github.com/qwertie/Loyc/issues/24#issuecomment-195405512.

qwertie commented 8 years ago

Well, I'm pretty puzzled because I pushed the current binaries March 9 at 1:17pm. I am using those same binaries I pushed without any problems. I'm debugging my refactored EC# parser right now and will update the binaries again when that's done.

ktodyruik commented 8 years ago

Yeah. It's often difficult to reproduce someone else's issue. If you can't reproduce it let me know and I'll try it again. Maybe I missed something.

Kerry

On Fri, Mar 11, 2016, 3:38 PM David Piepgrass notifications@github.com wrote:

Well, I'm pretty puzzled because I pushed the current binaries March 9 at 1:17pm. I am using those same binaries I pushed without any problems. I'm debugging my refactored parser right now and will update the binaries again when that's done.

— Reply to this email directly or view it on GitHub https://github.com/qwertie/Loyc/issues/24#issuecomment-195586559.

qwertie commented 8 years ago

Could you run LeMP.exe --editor and see if the editor is generating code OK?

ktodyruik commented 8 years ago

Yes. It is.

ktodyruik commented 8 years ago

I copy-pasted the example that was int he lemp editor into Visual Studio, example.ecs and it worked.

The example that worked was

using System;
using System.Collections.Generic;
using Loyc;
using Loyc.Collections;
using Loyc.Syntax;
using Loyc.Syntax.Lexing;

replace (W => Console.WriteLine);
public class Program {
    public static void Main(string[] args) {
        W("Hello, World!");
    }
}

What wasn't working was this, which I copied off the installation page:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows
namespace Loyc.Ecs {
   class Person {
      public Person(public readonly string Name, public int WeightLb, public int Age) {}
   }
}
qwertie commented 8 years ago

Oh I see, there's a missing semicolon after System.Windows. I'll fix that on the install page.

ktodyruik commented 8 years ago

Thanks for catching that. Would it be possible to improve the error message?

qwertie commented 8 years ago

Of course! NullReferenceException is always a bug and I intend to fix it. The problem is really just one of manpower - I don't have time to make sure all errors are handled gracefully (but I try)

On Mon, Mar 14, 2016 at 1:35 AM, ktodyruik notifications@github.com wrote:

Thanks for catching that. Would it be possible to improve the error message?

— Reply to this email directly or view it on GitHub https://github.com/qwertie/Loyc/issues/24#issuecomment-196009844.

qwertie commented 8 years ago

The NullReferenceException is fixed (although current error message still makes it clear that the parser is more confused about this situation than it should be...)