{"record":{"id":"f7c44de89eccb329","repo":"apple/pkl","slug":"unexpectedtoken","errorCode":"unexpectedToken","errorMessage":"Unexpected token `{text}`. Expected `]]`.","messagePattern":"Unexpected token `(.+?)`\\. Expected `\\]\\]`\\.","errorType":"error_code","errorClass":"ParserError","httpStatus":null,"severity":"error","filePath":"pkl-parser/src/main/java/org/pkl/parser/ParserImpl.java","lineNumber":723,"sourceCode":"    var nodes = new ArrayList<@Nullable Node>(modifiers.size() + 6);\n    nodes.addAll(modifiers);\n    nodes.add(new Keyword(function));\n    nodes.add(identifier);\n    nodes.add(params);\n    nodes.add(args);\n    nodes.add(typeAnnotation);\n    nodes.add(expr);\n    return new ObjectMember.ObjectMethod(nodes, modifiers.size(), start.endWith(expr.span()));\n  }\n\n  private ObjectMember parseMemberPredicate() {\n    var start = next().span;\n    var pred = parseExpr(\"]]\");\n    var firstBrack = expect(Token.RBRACK, \"unexpectedToken\", \"]]\").span;\n    Span secondbrack;\n    if (lookahead != Token.RBRACK) {\n      var text = _lookahead.text(lexer);\n      throw new ParserError(ErrorMessages.create(\"unexpectedToken\", text, \"]]\"), firstBrack);\n    } else {\n      secondbrack = next().span;\n    }\n    if (firstBrack.charIndex() != secondbrack.charIndex() - 1) {\n      // There shouldn't be any whitespace between the first and second ']'.\n      var span = firstBrack.endWith(secondbrack);\n      var text = lexer.textFor(span.charIndex(), span.length());\n      throw new ParserError(ErrorMessages.create(\"unexpectedToken\", text, \"]]\"), firstBrack);\n    }\n    if (lookahead == Token.ASSIGN) {\n      next();\n      var expr = parseExpr(\"}\");\n      return new ObjectMember.MemberPredicate(List.of(pred, expr), start.endWith(expr.span()));\n    }\n    var bodies = parseBodyList();\n    var end = bodies.get(bodies.size() - 1).span();\n    var nodes = new ArrayList<@Nullable Node>(bodies.size() + 2);\n    nodes.add(pred);","sourceCodeStart":705,"sourceCodeEnd":741,"githubUrl":"https://github.com/apple/pkl/blob/f3efcbfc9b60d30053b0536d664948d7aa1b8673/pkl-parser/src/main/java/org/pkl/parser/ParserImpl.java#L705-L741","documentation":"Parser error in ParserImpl.parseMemberPredicate: while parsing a `when`-style member predicate, the parser consumed the closing expression but the token found was not the required `]]` terminator. The input at fault is a member predicate whose closing double bracket is missing or mistyped.","triggerScenarios":"Thrown at pkl-parser/src/main/java/org/pkl/parser/ParserImpl.java:723 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Close the member predicate with `]]`, e.g. `when (cond) [[ ... ]]`.","Check for a stray token between the predicate expression and its terminator."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"f3efcbfc9b60d30053b0536d664948d7aa1b8673","analyzedAt":"2026-09-08T13:10:45.570Z","contentChangedAt":"2026-09-08T13:10:45.570Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}