Following up on the discussion in this PR #5471. Right now for eval cases we always assume superpopertyallowed status and then throw a runtime error for error cases. Ideally is should be a Syntax Error.
function foo() {
print(eval("print('Inside eval');super.a"));
}
foo();
This shouldn't print 'Inside eval' at all. We should only get a SyntaxError.
edit:formatting