Address parser performance by limiting operator reserved words

Description

The following reserved words can be used as operators in expressions and can cause severe performance issues for deeply nested expressions like this one:

Make these reserved keywords invalid for top level variable names and import alias names, but still value for

  • dot access for any item AFTER the first one foo.not.or.gt = "test"

  • method names foo.or() bar.var() (with the exception of NOT since not(foo) could be an expression

  • String interpolation "foo#gt#bar"

  • struct literal key names { var : "value" }

Here is the list of keywords:

  • AND

  • EQ

  • EQUAL

  • EQV

  • GE

  • GREATER

  • GT

  • GTE

  • IMP

  • IS

  • LE

  • LESS

  • LT

  • LTE

  • MOD

  • NEQ

  • NOT

  • OR

  • THAN

  • XOR

Activity

Show:
Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Fix versions

Priority

Sentry

Created August 24, 2024 at 5:48 AM
Updated August 24, 2024 at 5:48 AM
Resolved August 24, 2024 at 5:48 AM