TigerPython-Parser icon indicating copy to clipboard operation
TigerPython-Parser copied to clipboard

Global keyword followed by nothing causes an exception

Open neilccbrown opened this issue 6 months ago • 0 comments

If you try to run on code like this:

def func():
    global

Then TigerPython throws an exception like this:

java.lang.NullPointerException: Cannot invoke "tigerpython.parser.lexer.Token.pos()" because the return value of "tigerpython.parser.lexer.TokenBuffer.head()" is null
   at tigerpython.parser.parsing.ExpressionParser.parseNameList(ExpressionParser.scala:166)
   at tigerpython.parser.parsing.Parser.parseSmallStatement(Parser.scala:962)
   at tigerpython.parser.parsing.Parser.parseSimpleStatement(Parser.scala:634)
   at tigerpython.parser.parsing.Parser._parseStatements(Parser.scala:611)
   at tigerpython.parser.parsing.Parser.parseStatements(Parser.scala:359)
   at tigerpython.parser.parsing.Parser.parseSuite(Parser.scala:308)
   at tigerpython.parser.parsing.Parser.$anonfun$parseBody$3(Parser.scala:1029)

It should instead cope with this and give a suitable error. (PR incoming, just making this bug for completeness.)

neilccbrown avatar Aug 08 '24 10:08 neilccbrown