in web/jslint/src/main/resources/data/jslint-2020-03-28.js [2771:2865]
prefix("{", function () {
var the_brace = token;
var seen = empty();
the_brace.expression = [];
if (next_token.id !== "}") {
(function member() {
var extra;
var full;
var id;
var name = next_token;
var value;
advance();
if ((name.id === "get" || name.id === "set") && next_token.identifier) {
if (!option.getset) {
warn("unexpected_a", name);
}
extra = name.id;
full = extra + " " + next_token.id;
name = next_token;
advance();
id = survey(name);
if (seen[full] === true || seen[id] === true) {
warn("duplicate_a", name);
}
seen[id] = false;
seen[full] = true;
} else {
id = survey(name);
if (typeof seen[id] === "boolean") {
warn("duplicate_a", name);
}
seen[id] = true;
}
if (name.identifier) {
if (next_token.id === "}" || next_token.id === ",") {
if (typeof extra === "string") {
advance("(");
}
value = expression(Infinity, true);
} else if (next_token.id === "(") {
value = do_function({
arity: "unary",
from: name.from,
id: "function",
line: name.line,
name: typeof extra === "string" ? extra : id,
thru: name.from
});
} else {
if (typeof extra === "string") {
advance("(");
}
var the_colon = next_token;
advance(":");
value = expression(0);
if (value.id === name.id && value.id !== "function") {
warn("unexpected_a", the_colon, ": " + name.id);
}
}
value.label = name;
if (typeof extra === "string") {
value.extra = extra;
}
the_brace.expression.push(value);
} else {
advance(":");
value = expression(0);
value.label = name;
the_brace.expression.push(value);
}
if (next_token.id === ",") {
advance(",");
return member();
}
})();
}
advance("}");
return the_brace;
});