{"record":{"id":"4375c30af43f9354","repo":"apache/maven","slug":"unexpected-end-of-expression","errorCode":null,"errorMessage":"Unexpected end of expression","messagePattern":"Unexpected end of expression","errorType":"exception","errorClass":"RuntimeException","httpStatus":null,"severity":"error","filePath":"impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionParser.java","lineNumber":312,"sourceCode":"     */\n    private Object parseUnary() {\n        if (current < tokens.size() && tokens.get(current).equals(\"-\")) {\n            current++;\n            Object value = parseUnary();\n            return negate(value);\n        }\n        return parseTerm();\n    }\n\n    /**\n     * Parses individual terms (numbers, strings, booleans, parentheses, functions).\n     *\n     * @return the parsed term\n     * @throws RuntimeException if the expression ends unexpectedly or contains unknown tokens\n     */\n    private Object parseTerm() {\n        if (current >= tokens.size()) {\n            throw new RuntimeException(\"Unexpected end of expression\");\n        }\n\n        String token = tokens.get(current);\n        if (token.equals(\"(\")) {\n            return parseParentheses();\n        } else if (functions.containsKey(token)) {\n            return parseFunction();\n        } else if ((token.startsWith(\"\\\"\") && token.endsWith(\"\\\"\")) || (token.startsWith(\"'\") && token.endsWith(\"'\"))) {\n            current++;\n            return token.length() > 1 ? token.substring(1, token.length() - 1) : \"\";\n        } else if (token.equalsIgnoreCase(\"true\") || token.equalsIgnoreCase(\"false\")) {\n            current++;\n            return Boolean.parseBoolean(token);\n        } else if (token.startsWith(\"${\") && token.endsWith(\"}\")) {\n            current++;\n            String propertyName = token.substring(2, token.length() - 1);\n            return propertyResolver.apply(propertyName);\n        } else {","sourceCodeStart":294,"sourceCodeEnd":330,"githubUrl":"https://github.com/apache/maven/blob/e4093d4e120eac99d6bdce5ba67cace2f3085c97/impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionParser.java#L294-L330","documentation":"Error \"Unexpected end of expression\" thrown in apache/maven.","triggerScenarios":"Thrown at impl/maven-impl/src/main/java/org/apache/maven/impl/model/profile/ConditionParser.java:312 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e4093d4e120eac99d6bdce5ba67cace2f3085c97","analyzedAt":"2026-08-21T22:58:24.034Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}