Lower ExprParse priority to PME#8542
Merged
UnderscoreTud merged 2 commits intoSkriptLang:dev/patchfrom May 1, 2026
Merged
Conversation
TheLimeGlass
approved these changes
Apr 16, 2026
sovdeeth
approved these changes
Apr 21, 2026
Efnilite
approved these changes
Apr 25, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Currently,
uuid of text argument parsed as playeris parsed as(uuid of text argument) parsed as playerthrough the converter chain((String -> World)ExprUuid -> String)ExprParse.This happens because ExprParse has higher priority than property expressions: ExprParse has priority
COMBINED, as compared to properties'PropertyExpression.DEFAULT_PRIORITY. This default priority for property expressions is betweenCOMBINEDandPATTERN_MATCHES_EVERYTHING(hereafter PME).ExprParse is thus identified first when parsing the expression, leaving the remaining string
uuid of text argumentto be parsed by ExprUUID via a conversion toWorld.Solution
The priority of ExprParse is lowered to PME, which means property expressions now take precedence over the parse expression.
uuid of text argument parsed as playerwill be parsed asuuid of (text argument parsed as player).Testing Completed
quickTestto verify no current tests break as a result of the changeSupporting Information
It seems unlikely that something could break, as it would require a string property that is valid both on strings and on the result type of ExprParse. The trivial case is parsing as text, but this is forbidden by ExprParse.
Completes: #8541
Related: none
AI assistance: GitHub Copilot tried to autocomplete but was not used due to lacklustre performance