return root;
}
- module = parser->vm->options.module || parser->module;
+ if (scope->parent == NULL) {
+ module = parser->vm->options.module || parser->module;
- if (module) {
- if (type == NJS_VARIABLE_FUNCTION
- || var->type == NJS_VARIABLE_FUNCTION)
- {
- goto failed;
+ if (module) {
+ if (type == NJS_VARIABLE_FUNCTION
+ || var->type == NJS_VARIABLE_FUNCTION)
+ {
+ goto failed;
+ }
}
+
}
return root;
{ njs_str("{ var f = 1; } function f() {};"),
njs_str("SyntaxError: \"f\" has already been declared in 1") },
+
+ { njs_str("function f(v) {var f = v;}; f(1); f"),
+ njs_str("[object Function]") },
+
};