// Bug 591437: rebound args have their defs turned into uses
assertDecl("function f(a) { function a() { } }",
funDecl(ident("f"), [ident("a")], blockStmt([funDecl(ident("a"), [], blockStmt([]))])));
assertDecl("function f(a,b,c) { function b() { } }",
funDecl(ident("f"), [ident("a"),ident("b"),ident("c")], blockStmt([funDecl(ident("b"), [], blockStmt([]))])));
assertDecl("function f(a,[x,y]) { function a() { } }",
funDecl(ident("f"),
[ident("a"), arrPatt([assignElem("x"), assignElem("y")])],
blockStmt([funDecl(ident("a"), [], blockStmt([]))])));
// Bug 591450: this test was crashing because of a bug in jsparse
assertDecl("function f(a,[x,y],b,[w,z],c) { function b() { } }",
funDecl(ident("f"),
[ident("a"), arrPatt([ident("x"), ident("y")]), ident("b"), arrPatt([ident("w"), ident("z")]), ident("c")],
blockStmt([funDecl(ident("b"), [], blockStmt([]))])));
// redeclarations (TOK_NAME nodes with lexdef)
assertStmt("function f() { function g() { } function g() { } }",
funDecl(ident("f"), [], blockStmt([funDecl(ident("g"), [], blockStmt([])),
funDecl(ident("g"), [], blockStmt([]))])));
// Bug 632030: redeclarations between var and funargs, var and function
assertStmt("function g(x) { var x }",
funDecl(ident("g"), [ident("x")], blockStmt([varDecl([{ id: ident("x"), init: null }])])));
assertProg("f.p = 1; var f; f.p; function f(){}",
[exprStmt(aExpr("=", dotExpr(ident("f"), ident("p")), lit(1))),
varDecl([{ id: ident("f"), init: null }]),
exprStmt(dotExpr(ident("f"), ident("p"))),
funDecl(ident("f"), [], blockStmt([]))]);
}
assertBlockStmt("{ function f(x) {} }",
blockStmt([funDecl(ident("f"), [ident("x")], blockStmt([]))]));
// Annex B semantics should not change parse tree.
assertBlockStmt("{ let f; { function f(x) {} } }",
blockStmt([letDecl([{ id: ident("f"), init: null }]),
blockStmt([funDecl(ident("f"), [ident("x")], blockStmt([]))])]));
runtest(test);
Messung V0.5
¤ Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.0.24Bemerkung:
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.