miniscript
miniscript copied to clipboard
Poor error message when assigning to a property of self at the global scope
I find it's surprisingly easy, when coding along and concentrating on other things, to create a class and then try to add a method this way:
self.foo = function
// do some stuff
end function
And when you do this, you get a poor error message: "Runtime Error: can't set indexed element of null". What's worse, if this occurs in the main file, the stackTrace is empty — and if it occurs in an import module, it will claim the error is on the import line!
Curiously, trying to assign to super.foo produces a better error ("Undefined Identifier: 'super' is unknown in this context").
So:
- Catch trying to use
self.when self is undefined, and print a better error message. Ideal might be something like "selfundefined; not in object context" - Ensure that the line number is correctly reported, both in the main file and in an import module.