/* willSet-clause → attributes opt willSet setter-name opt code-block */ void Parser::parseWillSetClause(const ComputedPropertyPtr& property, bool opt) { Token token; if(!peek(token)) return; if(opt && token.type == TokenType::CloseBrace) return; Attributes attrs; parseAttributes(attrs); expect(Keyword::WillSet); if(match(L"(")) { expect_identifier(token); property->setWillSetSetter(token.token); expect(L")"); } CodeBlockPtr cb = parseCodeBlock(); property->setWillSet(cb); }