From ed3d48dfe6e602187290891030b17de8b6fa5f5b Mon Sep 17 00:00:00 2001 From: Marco polo Date: Mon, 6 Jan 2025 13:19:45 -0500 Subject: [PATCH] [SelectionAutoCompleteInput] Fix auto-complete for tags that have both a key and value (#26847) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Summary & Motivation 1. The current SelectionAutoComplete grammar doesn't allow for attribute:value=value so add that to the grammar 2. Fix the suggestions so that we end up with `tag:"key"="value"` instead of `tag:"key=value"` 3. Add icons for the other attributes ## How I Tested These Changes Screenshot 2025-01-06 at 12 15 19 PM --- .../input/AssetSelectionInput.oss.tsx | 22 +- .../src/selection/SelectionAutoComplete.g4 | 22 +- .../src/selection/createSelectionLinter.ts | 4 +- .../generated/SelectionAutoComplete.interp | 6 +- .../generated/SelectionAutoComplete.tokens | 10 +- .../SelectionAutoCompleteLexer.interp | 8 +- .../SelectionAutoCompleteLexer.tokens | 10 +- .../generated/SelectionAutoCompleteLexer.ts | 82 +-- .../SelectionAutoCompleteListener.ts | 18 + .../generated/SelectionAutoCompleteParser.ts | 556 ++++++++++-------- .../generated/SelectionAutoCompleteVisitor.ts | 11 + 11 files changed, 446 insertions(+), 303 deletions(-) diff --git a/js_modules/dagster-ui/packages/ui-core/src/asset-selection/input/AssetSelectionInput.oss.tsx b/js_modules/dagster-ui/packages/ui-core/src/asset-selection/input/AssetSelectionInput.oss.tsx index bf32cb6d4f1d4..bc09d31b9c142 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/asset-selection/input/AssetSelectionInput.oss.tsx +++ b/js_modules/dagster-ui/packages/ui-core/src/asset-selection/input/AssetSelectionInput.oss.tsx @@ -42,7 +42,9 @@ export const AssetSelectionInput = ({value, onChange, assets}: AssetSelectionInp assetNamesSet.add(asset.name); asset.node.tags.forEach((tag) => { if (tag.key && tag.value) { - tagNamesSet.add(`${tag.key}=${tag.value}`); + // We add quotes around the equal sign here because the auto-complete suggestion already wraps the entire value in quotes. + // So wer end up with tag:"key"="value" as the final suggestion + tagNamesSet.add(`${tag.key}"="${tag.value}`); } else { tagNamesSet.add(tag.key); } @@ -106,6 +108,22 @@ export const AssetSelectionInput = ({value, onChange, assets}: AssetSelectionInp const WrapperDiv = styled.div` .attribute-owner { - ${iconStyle(Icons.owner.src)} + ${iconStyle(Icons.owner.src)}; + } + .attribute-tag { + ${iconStyle(Icons.tag.src)}; + } + .attribute-key_substring, + .attribute-key { + ${iconStyle(Icons.asset.src)}; + } + .attribute-group { + ${iconStyle(Icons.asset_group.src)}; + } + .attribute-code_location { + ${iconStyle(Icons.code_location.src)}; + } + .attribute-kind { + ${iconStyle(Icons.compute_kind.src)}; } `; diff --git a/js_modules/dagster-ui/packages/ui-core/src/selection/SelectionAutoComplete.g4 b/js_modules/dagster-ui/packages/ui-core/src/selection/SelectionAutoComplete.g4 index 0c0e290cb6c0b..f720f979387e0 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/selection/SelectionAutoComplete.g4 +++ b/js_modules/dagster-ui/packages/ui-core/src/selection/SelectionAutoComplete.g4 @@ -24,17 +24,21 @@ expr: // Allowed expressions within traversal contexts traversalAllowedExpr: - attributeName colonToken attributeValue postAttributeValueWhitespace # AttributeExpression - | functionName parenthesizedExpr # FunctionCallExpression - | parenthesizedExpr # TraversalAllowedParenthesizedExpression - | incompleteExpr # IncompleteExpression; + attributeName colonToken attributeValue ( + EQUAL attributeValue + )? postAttributeValueWhitespace # AttributeExpression + | functionName parenthesizedExpr # FunctionCallExpression + | parenthesizedExpr # TraversalAllowedParenthesizedExpression + | incompleteExpr # IncompleteExpression; parenthesizedExpr: leftParenToken postLogicalOperatorWhitespace expr rightParenToken postExpressionWhitespace # ParenthesizedExpression; incompleteExpr: - attributeName colonToken attributeValueWhitespace # IncompleteAttributeExpressionMissingValue + attributeName colonToken attributeValueWhitespace # IncompleteAttributeExpressionMissingValue + | attributeName colonToken attributeValue EQUAL attributeValueWhitespace # + IncompleteAttributeExpressionMissingSecondValue | functionName expressionLessParenthesizedExpr # ExpressionlessFunctionExpression | functionName leftParenToken postLogicalOperatorWhitespace # UnclosedExpressionlessFunctionExpression @@ -112,12 +116,12 @@ COLON: ':'; LPAREN: '('; RPAREN: ')'; -EQUAL: '='; - // Tokens for strings QUOTED_STRING: '"' (~["\\\r\n])* '"'; -INCOMPLETE_LEFT_QUOTED_STRING: '"' (~["\\\r\n():])*; -INCOMPLETE_RIGHT_QUOTED_STRING: (~["\\\r\n:()])* '"'; +INCOMPLETE_LEFT_QUOTED_STRING: '"' (~["\\\r\n():=])*; +INCOMPLETE_RIGHT_QUOTED_STRING: (~["\\\r\n:()=])* '"'; + +EQUAL: '='; // Identifiers (attributes and functions) IDENTIFIER: [a-zA-Z_][a-zA-Z0-9_]*; diff --git a/js_modules/dagster-ui/packages/ui-core/src/selection/createSelectionLinter.ts b/js_modules/dagster-ui/packages/ui-core/src/selection/createSelectionLinter.ts index ac10d4c98f504..53d02340a9425 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/selection/createSelectionLinter.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/selection/createSelectionLinter.ts @@ -37,8 +37,8 @@ export function createSelectionLinter({ const lintErrors = errorListener.getErrors().map((error) => ({ message: error.message.replace(', ', ''), severity: 'error', - from: CodeMirror.Pos(error.line, error.column), - to: CodeMirror.Pos(error.line, text.length), + from: CodeMirror.Pos(0, error.column), + to: CodeMirror.Pos(0, text.length), })); return lintErrors; diff --git a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoComplete.interp b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoComplete.interp index 23fd814032751..d9195d4fc9d40 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoComplete.interp +++ b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoComplete.interp @@ -8,10 +8,10 @@ null ':' '(' ')' -'=' null null null +'=' null null @@ -25,10 +25,10 @@ PLUS COLON LPAREN RPAREN -EQUAL QUOTED_STRING INCOMPLETE_LEFT_QUOTED_STRING INCOMPLETE_RIGHT_QUOTED_STRING +EQUAL IDENTIFIER WS @@ -63,4 +63,4 @@ value atn: -[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 3, 16, 253, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 84, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 104, 10, 3, 12, 3, 14, 3, 107, 11, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 119, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 6, 6, 151, 10, 6, 13, 6, 14, 6, 152, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 160, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 6, 10, 175, 10, 10, 13, 10, 14, 10, 176, 5, 10, 179, 10, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 7, 20, 200, 10, 20, 12, 20, 14, 20, 203, 11, 20, 3, 21, 7, 21, 206, 10, 21, 12, 21, 14, 21, 209, 11, 21, 3, 22, 7, 22, 212, 10, 22, 12, 22, 14, 22, 215, 11, 22, 3, 23, 7, 23, 218, 10, 23, 12, 23, 14, 23, 221, 11, 23, 3, 24, 7, 24, 224, 10, 24, 12, 24, 14, 24, 227, 11, 24, 3, 25, 7, 25, 230, 10, 25, 12, 25, 14, 25, 233, 11, 25, 3, 26, 7, 26, 236, 10, 26, 12, 26, 14, 26, 239, 11, 26, 3, 27, 7, 27, 242, 10, 27, 12, 27, 14, 27, 245, 11, 27, 3, 28, 3, 28, 3, 28, 3, 28, 5, 28, 251, 10, 28, 3, 28, 2, 2, 3, 4, 29, 2, 2, 4, 2, 6, 2, 8, 2, 10, 2, 12, 2, 14, 2, 16, 2, 18, 2, 20, 2, 22, 2, 24, 2, 26, 2, 28, 2, 30, 2, 32, 2, 34, 2, 36, 2, 38, 2, 40, 2, 42, 2, 44, 2, 46, 2, 48, 2, 50, 2, 52, 2, 54, 2, 2, 2, 2, 261, 2, 56, 3, 2, 2, 2, 4, 83, 3, 2, 2, 2, 6, 118, 3, 2, 2, 2, 8, 120, 3, 2, 2, 2, 10, 159, 3, 2, 2, 2, 12, 161, 3, 2, 2, 2, 14, 166, 3, 2, 2, 2, 16, 169, 3, 2, 2, 2, 18, 178, 3, 2, 2, 2, 20, 180, 3, 2, 2, 2, 22, 182, 3, 2, 2, 2, 24, 184, 3, 2, 2, 2, 26, 186, 3, 2, 2, 2, 28, 188, 3, 2, 2, 2, 30, 190, 3, 2, 2, 2, 32, 192, 3, 2, 2, 2, 34, 194, 3, 2, 2, 2, 36, 196, 3, 2, 2, 2, 38, 201, 3, 2, 2, 2, 40, 207, 3, 2, 2, 2, 42, 213, 3, 2, 2, 2, 44, 219, 3, 2, 2, 2, 46, 225, 3, 2, 2, 2, 48, 231, 3, 2, 2, 2, 50, 237, 3, 2, 2, 2, 52, 243, 3, 2, 2, 2, 54, 250, 3, 2, 2, 2, 56, 57, 5, 4, 3, 2, 57, 58, 7, 2, 2, 3, 58, 3, 3, 2, 2, 2, 59, 60, 8, 3, 1, 2, 60, 84, 5, 6, 4, 2, 61, 62, 5, 14, 8, 2, 62, 63, 5, 6, 4, 2, 63, 64, 5, 16, 9, 2, 64, 84, 3, 2, 2, 2, 65, 66, 5, 14, 8, 2, 66, 67, 5, 6, 4, 2, 67, 84, 3, 2, 2, 2, 68, 69, 5, 6, 4, 2, 69, 70, 5, 16, 9, 2, 70, 84, 3, 2, 2, 2, 71, 72, 5, 30, 16, 2, 72, 73, 5, 44, 23, 2, 73, 74, 5, 4, 3, 10, 74, 84, 3, 2, 2, 2, 75, 76, 5, 30, 16, 2, 76, 77, 5, 44, 23, 2, 77, 84, 3, 2, 2, 2, 78, 79, 7, 6, 2, 2, 79, 84, 5, 42, 22, 2, 80, 81, 5, 54, 28, 2, 81, 82, 5, 42, 22, 2, 82, 84, 3, 2, 2, 2, 83, 59, 3, 2, 2, 2, 83, 61, 3, 2, 2, 2, 83, 65, 3, 2, 2, 2, 83, 68, 3, 2, 2, 2, 83, 71, 3, 2, 2, 2, 83, 75, 3, 2, 2, 2, 83, 78, 3, 2, 2, 2, 83, 80, 3, 2, 2, 2, 84, 105, 3, 2, 2, 2, 85, 86, 12, 9, 2, 2, 86, 87, 5, 28, 15, 2, 87, 88, 5, 46, 24, 2, 88, 89, 5, 4, 3, 10, 89, 104, 3, 2, 2, 2, 90, 91, 12, 8, 2, 2, 91, 92, 5, 26, 14, 2, 92, 93, 5, 46, 24, 2, 93, 94, 5, 4, 3, 9, 94, 104, 3, 2, 2, 2, 95, 96, 12, 7, 2, 2, 96, 97, 5, 28, 15, 2, 97, 98, 5, 46, 24, 2, 98, 104, 3, 2, 2, 2, 99, 100, 12, 6, 2, 2, 100, 101, 5, 26, 14, 2, 101, 102, 5, 46, 24, 2, 102, 104, 3, 2, 2, 2, 103, 85, 3, 2, 2, 2, 103, 90, 3, 2, 2, 2, 103, 95, 3, 2, 2, 2, 103, 99, 3, 2, 2, 2, 104, 107, 3, 2, 2, 2, 105, 103, 3, 2, 2, 2, 105, 106, 3, 2, 2, 2, 106, 5, 3, 2, 2, 2, 107, 105, 3, 2, 2, 2, 108, 109, 5, 20, 11, 2, 109, 110, 5, 32, 17, 2, 110, 111, 5, 22, 12, 2, 111, 112, 5, 40, 21, 2, 112, 119, 3, 2, 2, 2, 113, 114, 5, 24, 13, 2, 114, 115, 5, 8, 5, 2, 115, 119, 3, 2, 2, 2, 116, 119, 5, 8, 5, 2, 117, 119, 5, 10, 6, 2, 118, 108, 3, 2, 2, 2, 118, 113, 3, 2, 2, 2, 118, 116, 3, 2, 2, 2, 118, 117, 3, 2, 2, 2, 119, 7, 3, 2, 2, 2, 120, 121, 5, 34, 18, 2, 121, 122, 5, 46, 24, 2, 122, 123, 5, 4, 3, 2, 123, 124, 5, 36, 19, 2, 124, 125, 5, 42, 22, 2, 125, 9, 3, 2, 2, 2, 126, 127, 5, 20, 11, 2, 127, 128, 5, 32, 17, 2, 128, 129, 5, 38, 20, 2, 129, 160, 3, 2, 2, 2, 130, 131, 5, 24, 13, 2, 131, 132, 5, 12, 7, 2, 132, 160, 3, 2, 2, 2, 133, 134, 5, 24, 13, 2, 134, 135, 5, 34, 18, 2, 135, 136, 5, 46, 24, 2, 136, 160, 3, 2, 2, 2, 137, 138, 5, 24, 13, 2, 138, 139, 5, 34, 18, 2, 139, 140, 5, 4, 3, 2, 140, 160, 3, 2, 2, 2, 141, 142, 5, 34, 18, 2, 142, 143, 5, 46, 24, 2, 143, 144, 5, 4, 3, 2, 144, 160, 3, 2, 2, 2, 145, 160, 5, 12, 7, 2, 146, 147, 5, 34, 18, 2, 147, 148, 5, 46, 24, 2, 148, 160, 3, 2, 2, 2, 149, 151, 7, 7, 2, 2, 150, 149, 3, 2, 2, 2, 151, 152, 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 152, 153, 3, 2, 2, 2, 153, 154, 3, 2, 2, 2, 154, 160, 5, 48, 25, 2, 155, 156, 5, 32, 17, 2, 156, 157, 5, 22, 12, 2, 157, 158, 5, 42, 22, 2, 158, 160, 3, 2, 2, 2, 159, 126, 3, 2, 2, 2, 159, 130, 3, 2, 2, 2, 159, 133, 3, 2, 2, 2, 159, 137, 3, 2, 2, 2, 159, 141, 3, 2, 2, 2, 159, 145, 3, 2, 2, 2, 159, 146, 3, 2, 2, 2, 159, 150, 3, 2, 2, 2, 159, 155, 3, 2, 2, 2, 160, 11, 3, 2, 2, 2, 161, 162, 5, 34, 18, 2, 162, 163, 5, 46, 24, 2, 163, 164, 5, 36, 19, 2, 164, 165, 5, 42, 22, 2, 165, 13, 3, 2, 2, 2, 166, 167, 5, 18, 10, 2, 167, 168, 5, 50, 26, 2, 168, 15, 3, 2, 2, 2, 169, 170, 5, 18, 10, 2, 170, 171, 5, 52, 27, 2, 171, 17, 3, 2, 2, 2, 172, 179, 7, 6, 2, 2, 173, 175, 7, 7, 2, 2, 174, 173, 3, 2, 2, 2, 175, 176, 3, 2, 2, 2, 176, 174, 3, 2, 2, 2, 176, 177, 3, 2, 2, 2, 177, 179, 3, 2, 2, 2, 178, 172, 3, 2, 2, 2, 178, 174, 3, 2, 2, 2, 179, 19, 3, 2, 2, 2, 180, 181, 7, 15, 2, 2, 181, 21, 3, 2, 2, 2, 182, 183, 5, 54, 28, 2, 183, 23, 3, 2, 2, 2, 184, 185, 7, 15, 2, 2, 185, 25, 3, 2, 2, 2, 186, 187, 7, 4, 2, 2, 187, 27, 3, 2, 2, 2, 188, 189, 7, 3, 2, 2, 189, 29, 3, 2, 2, 2, 190, 191, 7, 5, 2, 2, 191, 31, 3, 2, 2, 2, 192, 193, 7, 8, 2, 2, 193, 33, 3, 2, 2, 2, 194, 195, 7, 9, 2, 2, 195, 35, 3, 2, 2, 2, 196, 197, 7, 10, 2, 2, 197, 37, 3, 2, 2, 2, 198, 200, 7, 16, 2, 2, 199, 198, 3, 2, 2, 2, 200, 203, 3, 2, 2, 2, 201, 199, 3, 2, 2, 2, 201, 202, 3, 2, 2, 2, 202, 39, 3, 2, 2, 2, 203, 201, 3, 2, 2, 2, 204, 206, 7, 16, 2, 2, 205, 204, 3, 2, 2, 2, 206, 209, 3, 2, 2, 2, 207, 205, 3, 2, 2, 2, 207, 208, 3, 2, 2, 2, 208, 41, 3, 2, 2, 2, 209, 207, 3, 2, 2, 2, 210, 212, 7, 16, 2, 2, 211, 210, 3, 2, 2, 2, 212, 215, 3, 2, 2, 2, 213, 211, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 43, 3, 2, 2, 2, 215, 213, 3, 2, 2, 2, 216, 218, 7, 16, 2, 2, 217, 216, 3, 2, 2, 2, 218, 221, 3, 2, 2, 2, 219, 217, 3, 2, 2, 2, 219, 220, 3, 2, 2, 2, 220, 45, 3, 2, 2, 2, 221, 219, 3, 2, 2, 2, 222, 224, 7, 16, 2, 2, 223, 222, 3, 2, 2, 2, 224, 227, 3, 2, 2, 2, 225, 223, 3, 2, 2, 2, 225, 226, 3, 2, 2, 2, 226, 47, 3, 2, 2, 2, 227, 225, 3, 2, 2, 2, 228, 230, 7, 16, 2, 2, 229, 228, 3, 2, 2, 2, 230, 233, 3, 2, 2, 2, 231, 229, 3, 2, 2, 2, 231, 232, 3, 2, 2, 2, 232, 49, 3, 2, 2, 2, 233, 231, 3, 2, 2, 2, 234, 236, 7, 16, 2, 2, 235, 234, 3, 2, 2, 2, 236, 239, 3, 2, 2, 2, 237, 235, 3, 2, 2, 2, 237, 238, 3, 2, 2, 2, 238, 51, 3, 2, 2, 2, 239, 237, 3, 2, 2, 2, 240, 242, 7, 16, 2, 2, 241, 240, 3, 2, 2, 2, 242, 245, 3, 2, 2, 2, 243, 241, 3, 2, 2, 2, 243, 244, 3, 2, 2, 2, 244, 53, 3, 2, 2, 2, 245, 243, 3, 2, 2, 2, 246, 251, 7, 12, 2, 2, 247, 251, 7, 13, 2, 2, 248, 251, 7, 14, 2, 2, 249, 251, 7, 15, 2, 2, 250, 246, 3, 2, 2, 2, 250, 247, 3, 2, 2, 2, 250, 248, 3, 2, 2, 2, 250, 249, 3, 2, 2, 2, 251, 55, 3, 2, 2, 2, 19, 83, 103, 105, 118, 152, 159, 176, 178, 201, 207, 213, 219, 225, 231, 237, 243, 250] \ No newline at end of file +[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 3, 16, 263, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 84, 10, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 7, 3, 104, 10, 3, 12, 3, 14, 3, 107, 11, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 114, 10, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 5, 4, 123, 10, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 6, 6, 161, 10, 6, 13, 6, 14, 6, 162, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 5, 6, 170, 10, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 6, 10, 185, 10, 10, 13, 10, 14, 10, 186, 5, 10, 189, 10, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 3, 18, 3, 19, 3, 19, 3, 20, 7, 20, 210, 10, 20, 12, 20, 14, 20, 213, 11, 20, 3, 21, 7, 21, 216, 10, 21, 12, 21, 14, 21, 219, 11, 21, 3, 22, 7, 22, 222, 10, 22, 12, 22, 14, 22, 225, 11, 22, 3, 23, 7, 23, 228, 10, 23, 12, 23, 14, 23, 231, 11, 23, 3, 24, 7, 24, 234, 10, 24, 12, 24, 14, 24, 237, 11, 24, 3, 25, 7, 25, 240, 10, 25, 12, 25, 14, 25, 243, 11, 25, 3, 26, 7, 26, 246, 10, 26, 12, 26, 14, 26, 249, 11, 26, 3, 27, 7, 27, 252, 10, 27, 12, 27, 14, 27, 255, 11, 27, 3, 28, 3, 28, 3, 28, 3, 28, 5, 28, 261, 10, 28, 3, 28, 2, 2, 3, 4, 29, 2, 2, 4, 2, 6, 2, 8, 2, 10, 2, 12, 2, 14, 2, 16, 2, 18, 2, 20, 2, 22, 2, 24, 2, 26, 2, 28, 2, 30, 2, 32, 2, 34, 2, 36, 2, 38, 2, 40, 2, 42, 2, 44, 2, 46, 2, 48, 2, 50, 2, 52, 2, 54, 2, 2, 2, 2, 273, 2, 56, 3, 2, 2, 2, 4, 83, 3, 2, 2, 2, 6, 122, 3, 2, 2, 2, 8, 124, 3, 2, 2, 2, 10, 169, 3, 2, 2, 2, 12, 171, 3, 2, 2, 2, 14, 176, 3, 2, 2, 2, 16, 179, 3, 2, 2, 2, 18, 188, 3, 2, 2, 2, 20, 190, 3, 2, 2, 2, 22, 192, 3, 2, 2, 2, 24, 194, 3, 2, 2, 2, 26, 196, 3, 2, 2, 2, 28, 198, 3, 2, 2, 2, 30, 200, 3, 2, 2, 2, 32, 202, 3, 2, 2, 2, 34, 204, 3, 2, 2, 2, 36, 206, 3, 2, 2, 2, 38, 211, 3, 2, 2, 2, 40, 217, 3, 2, 2, 2, 42, 223, 3, 2, 2, 2, 44, 229, 3, 2, 2, 2, 46, 235, 3, 2, 2, 2, 48, 241, 3, 2, 2, 2, 50, 247, 3, 2, 2, 2, 52, 253, 3, 2, 2, 2, 54, 260, 3, 2, 2, 2, 56, 57, 5, 4, 3, 2, 57, 58, 7, 2, 2, 3, 58, 3, 3, 2, 2, 2, 59, 60, 8, 3, 1, 2, 60, 84, 5, 6, 4, 2, 61, 62, 5, 14, 8, 2, 62, 63, 5, 6, 4, 2, 63, 64, 5, 16, 9, 2, 64, 84, 3, 2, 2, 2, 65, 66, 5, 14, 8, 2, 66, 67, 5, 6, 4, 2, 67, 84, 3, 2, 2, 2, 68, 69, 5, 6, 4, 2, 69, 70, 5, 16, 9, 2, 70, 84, 3, 2, 2, 2, 71, 72, 5, 30, 16, 2, 72, 73, 5, 44, 23, 2, 73, 74, 5, 4, 3, 10, 74, 84, 3, 2, 2, 2, 75, 76, 5, 30, 16, 2, 76, 77, 5, 44, 23, 2, 77, 84, 3, 2, 2, 2, 78, 79, 7, 6, 2, 2, 79, 84, 5, 42, 22, 2, 80, 81, 5, 54, 28, 2, 81, 82, 5, 42, 22, 2, 82, 84, 3, 2, 2, 2, 83, 59, 3, 2, 2, 2, 83, 61, 3, 2, 2, 2, 83, 65, 3, 2, 2, 2, 83, 68, 3, 2, 2, 2, 83, 71, 3, 2, 2, 2, 83, 75, 3, 2, 2, 2, 83, 78, 3, 2, 2, 2, 83, 80, 3, 2, 2, 2, 84, 105, 3, 2, 2, 2, 85, 86, 12, 9, 2, 2, 86, 87, 5, 28, 15, 2, 87, 88, 5, 46, 24, 2, 88, 89, 5, 4, 3, 10, 89, 104, 3, 2, 2, 2, 90, 91, 12, 8, 2, 2, 91, 92, 5, 26, 14, 2, 92, 93, 5, 46, 24, 2, 93, 94, 5, 4, 3, 9, 94, 104, 3, 2, 2, 2, 95, 96, 12, 7, 2, 2, 96, 97, 5, 28, 15, 2, 97, 98, 5, 46, 24, 2, 98, 104, 3, 2, 2, 2, 99, 100, 12, 6, 2, 2, 100, 101, 5, 26, 14, 2, 101, 102, 5, 46, 24, 2, 102, 104, 3, 2, 2, 2, 103, 85, 3, 2, 2, 2, 103, 90, 3, 2, 2, 2, 103, 95, 3, 2, 2, 2, 103, 99, 3, 2, 2, 2, 104, 107, 3, 2, 2, 2, 105, 103, 3, 2, 2, 2, 105, 106, 3, 2, 2, 2, 106, 5, 3, 2, 2, 2, 107, 105, 3, 2, 2, 2, 108, 109, 5, 20, 11, 2, 109, 110, 5, 32, 17, 2, 110, 113, 5, 22, 12, 2, 111, 112, 7, 14, 2, 2, 112, 114, 5, 22, 12, 2, 113, 111, 3, 2, 2, 2, 113, 114, 3, 2, 2, 2, 114, 115, 3, 2, 2, 2, 115, 116, 5, 40, 21, 2, 116, 123, 3, 2, 2, 2, 117, 118, 5, 24, 13, 2, 118, 119, 5, 8, 5, 2, 119, 123, 3, 2, 2, 2, 120, 123, 5, 8, 5, 2, 121, 123, 5, 10, 6, 2, 122, 108, 3, 2, 2, 2, 122, 117, 3, 2, 2, 2, 122, 120, 3, 2, 2, 2, 122, 121, 3, 2, 2, 2, 123, 7, 3, 2, 2, 2, 124, 125, 5, 34, 18, 2, 125, 126, 5, 46, 24, 2, 126, 127, 5, 4, 3, 2, 127, 128, 5, 36, 19, 2, 128, 129, 5, 42, 22, 2, 129, 9, 3, 2, 2, 2, 130, 131, 5, 20, 11, 2, 131, 132, 5, 32, 17, 2, 132, 133, 5, 38, 20, 2, 133, 170, 3, 2, 2, 2, 134, 135, 5, 20, 11, 2, 135, 136, 5, 32, 17, 2, 136, 137, 5, 22, 12, 2, 137, 138, 7, 14, 2, 2, 138, 139, 5, 38, 20, 2, 139, 170, 3, 2, 2, 2, 140, 141, 5, 24, 13, 2, 141, 142, 5, 12, 7, 2, 142, 170, 3, 2, 2, 2, 143, 144, 5, 24, 13, 2, 144, 145, 5, 34, 18, 2, 145, 146, 5, 46, 24, 2, 146, 170, 3, 2, 2, 2, 147, 148, 5, 24, 13, 2, 148, 149, 5, 34, 18, 2, 149, 150, 5, 4, 3, 2, 150, 170, 3, 2, 2, 2, 151, 152, 5, 34, 18, 2, 152, 153, 5, 46, 24, 2, 153, 154, 5, 4, 3, 2, 154, 170, 3, 2, 2, 2, 155, 170, 5, 12, 7, 2, 156, 157, 5, 34, 18, 2, 157, 158, 5, 46, 24, 2, 158, 170, 3, 2, 2, 2, 159, 161, 7, 7, 2, 2, 160, 159, 3, 2, 2, 2, 161, 162, 3, 2, 2, 2, 162, 160, 3, 2, 2, 2, 162, 163, 3, 2, 2, 2, 163, 164, 3, 2, 2, 2, 164, 170, 5, 48, 25, 2, 165, 166, 5, 32, 17, 2, 166, 167, 5, 22, 12, 2, 167, 168, 5, 42, 22, 2, 168, 170, 3, 2, 2, 2, 169, 130, 3, 2, 2, 2, 169, 134, 3, 2, 2, 2, 169, 140, 3, 2, 2, 2, 169, 143, 3, 2, 2, 2, 169, 147, 3, 2, 2, 2, 169, 151, 3, 2, 2, 2, 169, 155, 3, 2, 2, 2, 169, 156, 3, 2, 2, 2, 169, 160, 3, 2, 2, 2, 169, 165, 3, 2, 2, 2, 170, 11, 3, 2, 2, 2, 171, 172, 5, 34, 18, 2, 172, 173, 5, 46, 24, 2, 173, 174, 5, 36, 19, 2, 174, 175, 5, 42, 22, 2, 175, 13, 3, 2, 2, 2, 176, 177, 5, 18, 10, 2, 177, 178, 5, 50, 26, 2, 178, 15, 3, 2, 2, 2, 179, 180, 5, 18, 10, 2, 180, 181, 5, 52, 27, 2, 181, 17, 3, 2, 2, 2, 182, 189, 7, 6, 2, 2, 183, 185, 7, 7, 2, 2, 184, 183, 3, 2, 2, 2, 185, 186, 3, 2, 2, 2, 186, 184, 3, 2, 2, 2, 186, 187, 3, 2, 2, 2, 187, 189, 3, 2, 2, 2, 188, 182, 3, 2, 2, 2, 188, 184, 3, 2, 2, 2, 189, 19, 3, 2, 2, 2, 190, 191, 7, 15, 2, 2, 191, 21, 3, 2, 2, 2, 192, 193, 5, 54, 28, 2, 193, 23, 3, 2, 2, 2, 194, 195, 7, 15, 2, 2, 195, 25, 3, 2, 2, 2, 196, 197, 7, 4, 2, 2, 197, 27, 3, 2, 2, 2, 198, 199, 7, 3, 2, 2, 199, 29, 3, 2, 2, 2, 200, 201, 7, 5, 2, 2, 201, 31, 3, 2, 2, 2, 202, 203, 7, 8, 2, 2, 203, 33, 3, 2, 2, 2, 204, 205, 7, 9, 2, 2, 205, 35, 3, 2, 2, 2, 206, 207, 7, 10, 2, 2, 207, 37, 3, 2, 2, 2, 208, 210, 7, 16, 2, 2, 209, 208, 3, 2, 2, 2, 210, 213, 3, 2, 2, 2, 211, 209, 3, 2, 2, 2, 211, 212, 3, 2, 2, 2, 212, 39, 3, 2, 2, 2, 213, 211, 3, 2, 2, 2, 214, 216, 7, 16, 2, 2, 215, 214, 3, 2, 2, 2, 216, 219, 3, 2, 2, 2, 217, 215, 3, 2, 2, 2, 217, 218, 3, 2, 2, 2, 218, 41, 3, 2, 2, 2, 219, 217, 3, 2, 2, 2, 220, 222, 7, 16, 2, 2, 221, 220, 3, 2, 2, 2, 222, 225, 3, 2, 2, 2, 223, 221, 3, 2, 2, 2, 223, 224, 3, 2, 2, 2, 224, 43, 3, 2, 2, 2, 225, 223, 3, 2, 2, 2, 226, 228, 7, 16, 2, 2, 227, 226, 3, 2, 2, 2, 228, 231, 3, 2, 2, 2, 229, 227, 3, 2, 2, 2, 229, 230, 3, 2, 2, 2, 230, 45, 3, 2, 2, 2, 231, 229, 3, 2, 2, 2, 232, 234, 7, 16, 2, 2, 233, 232, 3, 2, 2, 2, 234, 237, 3, 2, 2, 2, 235, 233, 3, 2, 2, 2, 235, 236, 3, 2, 2, 2, 236, 47, 3, 2, 2, 2, 237, 235, 3, 2, 2, 2, 238, 240, 7, 16, 2, 2, 239, 238, 3, 2, 2, 2, 240, 243, 3, 2, 2, 2, 241, 239, 3, 2, 2, 2, 241, 242, 3, 2, 2, 2, 242, 49, 3, 2, 2, 2, 243, 241, 3, 2, 2, 2, 244, 246, 7, 16, 2, 2, 245, 244, 3, 2, 2, 2, 246, 249, 3, 2, 2, 2, 247, 245, 3, 2, 2, 2, 247, 248, 3, 2, 2, 2, 248, 51, 3, 2, 2, 2, 249, 247, 3, 2, 2, 2, 250, 252, 7, 16, 2, 2, 251, 250, 3, 2, 2, 2, 252, 255, 3, 2, 2, 2, 253, 251, 3, 2, 2, 2, 253, 254, 3, 2, 2, 2, 254, 53, 3, 2, 2, 2, 255, 253, 3, 2, 2, 2, 256, 261, 7, 11, 2, 2, 257, 261, 7, 12, 2, 2, 258, 261, 7, 13, 2, 2, 259, 261, 7, 15, 2, 2, 260, 256, 3, 2, 2, 2, 260, 257, 3, 2, 2, 2, 260, 258, 3, 2, 2, 2, 260, 259, 3, 2, 2, 2, 261, 55, 3, 2, 2, 2, 20, 83, 103, 105, 113, 122, 162, 169, 186, 188, 211, 217, 223, 229, 235, 241, 247, 253, 260] \ No newline at end of file diff --git a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoComplete.tokens b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoComplete.tokens index f995c7bb6ea28..85acee18f09c4 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoComplete.tokens +++ b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoComplete.tokens @@ -6,10 +6,10 @@ PLUS=5 COLON=6 LPAREN=7 RPAREN=8 -EQUAL=9 -QUOTED_STRING=10 -INCOMPLETE_LEFT_QUOTED_STRING=11 -INCOMPLETE_RIGHT_QUOTED_STRING=12 +QUOTED_STRING=9 +INCOMPLETE_LEFT_QUOTED_STRING=10 +INCOMPLETE_RIGHT_QUOTED_STRING=11 +EQUAL=12 IDENTIFIER=13 WS=14 'and'=1 @@ -20,4 +20,4 @@ WS=14 ':'=6 '('=7 ')'=8 -'='=9 +'='=12 diff --git a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.interp b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.interp index bbfc87f6345d0..f8502ba92f585 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.interp +++ b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.interp @@ -8,10 +8,10 @@ null ':' '(' ')' -'=' null null null +'=' null null @@ -25,10 +25,10 @@ PLUS COLON LPAREN RPAREN -EQUAL QUOTED_STRING INCOMPLETE_LEFT_QUOTED_STRING INCOMPLETE_RIGHT_QUOTED_STRING +EQUAL IDENTIFIER WS @@ -41,10 +41,10 @@ PLUS COLON LPAREN RPAREN -EQUAL QUOTED_STRING INCOMPLETE_LEFT_QUOTED_STRING INCOMPLETE_RIGHT_QUOTED_STRING +EQUAL IDENTIFIER WS @@ -56,4 +56,4 @@ mode names: DEFAULT_MODE atn: -[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 2, 16, 90, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 7, 11, 57, 10, 11, 12, 11, 14, 11, 60, 11, 11, 3, 11, 3, 11, 3, 12, 3, 12, 7, 12, 66, 10, 12, 12, 12, 14, 12, 69, 11, 12, 3, 13, 7, 13, 72, 10, 13, 12, 13, 14, 13, 75, 11, 13, 3, 13, 3, 13, 3, 14, 3, 14, 7, 14, 81, 10, 14, 12, 14, 14, 14, 84, 11, 14, 3, 15, 6, 15, 87, 10, 15, 13, 15, 14, 15, 88, 2, 2, 2, 16, 3, 2, 3, 5, 2, 4, 7, 2, 5, 9, 2, 6, 11, 2, 7, 13, 2, 8, 15, 2, 9, 17, 2, 10, 19, 2, 11, 21, 2, 12, 23, 2, 13, 25, 2, 14, 27, 2, 15, 29, 2, 16, 3, 2, 7, 6, 2, 12, 12, 15, 15, 36, 36, 94, 94, 8, 2, 12, 12, 15, 15, 36, 36, 42, 43, 60, 60, 94, 94, 5, 2, 67, 92, 97, 97, 99, 124, 6, 2, 50, 59, 67, 92, 97, 97, 99, 124, 5, 2, 11, 12, 15, 15, 34, 34, 2, 94, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 3, 31, 3, 2, 2, 2, 5, 35, 3, 2, 2, 2, 7, 38, 3, 2, 2, 2, 9, 42, 3, 2, 2, 2, 11, 44, 3, 2, 2, 2, 13, 46, 3, 2, 2, 2, 15, 48, 3, 2, 2, 2, 17, 50, 3, 2, 2, 2, 19, 52, 3, 2, 2, 2, 21, 54, 3, 2, 2, 2, 23, 63, 3, 2, 2, 2, 25, 73, 3, 2, 2, 2, 27, 78, 3, 2, 2, 2, 29, 86, 3, 2, 2, 2, 31, 32, 7, 99, 2, 2, 32, 33, 7, 112, 2, 2, 33, 34, 7, 102, 2, 2, 34, 4, 3, 2, 2, 2, 35, 36, 7, 113, 2, 2, 36, 37, 7, 116, 2, 2, 37, 6, 3, 2, 2, 2, 38, 39, 7, 112, 2, 2, 39, 40, 7, 113, 2, 2, 40, 41, 7, 118, 2, 2, 41, 8, 3, 2, 2, 2, 42, 43, 7, 44, 2, 2, 43, 10, 3, 2, 2, 2, 44, 45, 7, 45, 2, 2, 45, 12, 3, 2, 2, 2, 46, 47, 7, 60, 2, 2, 47, 14, 3, 2, 2, 2, 48, 49, 7, 42, 2, 2, 49, 16, 3, 2, 2, 2, 50, 51, 7, 43, 2, 2, 51, 18, 3, 2, 2, 2, 52, 53, 7, 63, 2, 2, 53, 20, 3, 2, 2, 2, 54, 58, 7, 36, 2, 2, 55, 57, 10, 2, 2, 2, 56, 55, 3, 2, 2, 2, 57, 60, 3, 2, 2, 2, 58, 56, 3, 2, 2, 2, 58, 59, 3, 2, 2, 2, 59, 61, 3, 2, 2, 2, 60, 58, 3, 2, 2, 2, 61, 62, 7, 36, 2, 2, 62, 22, 3, 2, 2, 2, 63, 67, 7, 36, 2, 2, 64, 66, 10, 3, 2, 2, 65, 64, 3, 2, 2, 2, 66, 69, 3, 2, 2, 2, 67, 65, 3, 2, 2, 2, 67, 68, 3, 2, 2, 2, 68, 24, 3, 2, 2, 2, 69, 67, 3, 2, 2, 2, 70, 72, 10, 3, 2, 2, 71, 70, 3, 2, 2, 2, 72, 75, 3, 2, 2, 2, 73, 71, 3, 2, 2, 2, 73, 74, 3, 2, 2, 2, 74, 76, 3, 2, 2, 2, 75, 73, 3, 2, 2, 2, 76, 77, 7, 36, 2, 2, 77, 26, 3, 2, 2, 2, 78, 82, 9, 4, 2, 2, 79, 81, 9, 5, 2, 2, 80, 79, 3, 2, 2, 2, 81, 84, 3, 2, 2, 2, 82, 80, 3, 2, 2, 2, 82, 83, 3, 2, 2, 2, 83, 28, 3, 2, 2, 2, 84, 82, 3, 2, 2, 2, 85, 87, 9, 6, 2, 2, 86, 85, 3, 2, 2, 2, 87, 88, 3, 2, 2, 2, 88, 86, 3, 2, 2, 2, 88, 89, 3, 2, 2, 2, 89, 30, 3, 2, 2, 2, 8, 2, 58, 67, 73, 82, 88, 2] \ No newline at end of file +[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 2, 16, 90, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 3, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 3, 8, 3, 9, 3, 9, 3, 10, 3, 10, 7, 10, 55, 10, 10, 12, 10, 14, 10, 58, 11, 10, 3, 10, 3, 10, 3, 11, 3, 11, 7, 11, 64, 10, 11, 12, 11, 14, 11, 67, 11, 11, 3, 12, 7, 12, 70, 10, 12, 12, 12, 14, 12, 73, 11, 12, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 7, 14, 81, 10, 14, 12, 14, 14, 14, 84, 11, 14, 3, 15, 6, 15, 87, 10, 15, 13, 15, 14, 15, 88, 2, 2, 2, 16, 3, 2, 3, 5, 2, 4, 7, 2, 5, 9, 2, 6, 11, 2, 7, 13, 2, 8, 15, 2, 9, 17, 2, 10, 19, 2, 11, 21, 2, 12, 23, 2, 13, 25, 2, 14, 27, 2, 15, 29, 2, 16, 3, 2, 7, 6, 2, 12, 12, 15, 15, 36, 36, 94, 94, 9, 2, 12, 12, 15, 15, 36, 36, 42, 43, 60, 60, 63, 63, 94, 94, 5, 2, 67, 92, 97, 97, 99, 124, 6, 2, 50, 59, 67, 92, 97, 97, 99, 124, 5, 2, 11, 12, 15, 15, 34, 34, 2, 94, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 3, 31, 3, 2, 2, 2, 5, 35, 3, 2, 2, 2, 7, 38, 3, 2, 2, 2, 9, 42, 3, 2, 2, 2, 11, 44, 3, 2, 2, 2, 13, 46, 3, 2, 2, 2, 15, 48, 3, 2, 2, 2, 17, 50, 3, 2, 2, 2, 19, 52, 3, 2, 2, 2, 21, 61, 3, 2, 2, 2, 23, 71, 3, 2, 2, 2, 25, 76, 3, 2, 2, 2, 27, 78, 3, 2, 2, 2, 29, 86, 3, 2, 2, 2, 31, 32, 7, 99, 2, 2, 32, 33, 7, 112, 2, 2, 33, 34, 7, 102, 2, 2, 34, 4, 3, 2, 2, 2, 35, 36, 7, 113, 2, 2, 36, 37, 7, 116, 2, 2, 37, 6, 3, 2, 2, 2, 38, 39, 7, 112, 2, 2, 39, 40, 7, 113, 2, 2, 40, 41, 7, 118, 2, 2, 41, 8, 3, 2, 2, 2, 42, 43, 7, 44, 2, 2, 43, 10, 3, 2, 2, 2, 44, 45, 7, 45, 2, 2, 45, 12, 3, 2, 2, 2, 46, 47, 7, 60, 2, 2, 47, 14, 3, 2, 2, 2, 48, 49, 7, 42, 2, 2, 49, 16, 3, 2, 2, 2, 50, 51, 7, 43, 2, 2, 51, 18, 3, 2, 2, 2, 52, 56, 7, 36, 2, 2, 53, 55, 10, 2, 2, 2, 54, 53, 3, 2, 2, 2, 55, 58, 3, 2, 2, 2, 56, 54, 3, 2, 2, 2, 56, 57, 3, 2, 2, 2, 57, 59, 3, 2, 2, 2, 58, 56, 3, 2, 2, 2, 59, 60, 7, 36, 2, 2, 60, 20, 3, 2, 2, 2, 61, 65, 7, 36, 2, 2, 62, 64, 10, 3, 2, 2, 63, 62, 3, 2, 2, 2, 64, 67, 3, 2, 2, 2, 65, 63, 3, 2, 2, 2, 65, 66, 3, 2, 2, 2, 66, 22, 3, 2, 2, 2, 67, 65, 3, 2, 2, 2, 68, 70, 10, 3, 2, 2, 69, 68, 3, 2, 2, 2, 70, 73, 3, 2, 2, 2, 71, 69, 3, 2, 2, 2, 71, 72, 3, 2, 2, 2, 72, 74, 3, 2, 2, 2, 73, 71, 3, 2, 2, 2, 74, 75, 7, 36, 2, 2, 75, 24, 3, 2, 2, 2, 76, 77, 7, 63, 2, 2, 77, 26, 3, 2, 2, 2, 78, 82, 9, 4, 2, 2, 79, 81, 9, 5, 2, 2, 80, 79, 3, 2, 2, 2, 81, 84, 3, 2, 2, 2, 82, 80, 3, 2, 2, 2, 82, 83, 3, 2, 2, 2, 83, 28, 3, 2, 2, 2, 84, 82, 3, 2, 2, 2, 85, 87, 9, 6, 2, 2, 86, 85, 3, 2, 2, 2, 87, 88, 3, 2, 2, 2, 88, 86, 3, 2, 2, 2, 88, 89, 3, 2, 2, 2, 89, 30, 3, 2, 2, 2, 8, 2, 56, 65, 71, 82, 88, 2] \ No newline at end of file diff --git a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.tokens b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.tokens index f995c7bb6ea28..85acee18f09c4 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.tokens +++ b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.tokens @@ -6,10 +6,10 @@ PLUS=5 COLON=6 LPAREN=7 RPAREN=8 -EQUAL=9 -QUOTED_STRING=10 -INCOMPLETE_LEFT_QUOTED_STRING=11 -INCOMPLETE_RIGHT_QUOTED_STRING=12 +QUOTED_STRING=9 +INCOMPLETE_LEFT_QUOTED_STRING=10 +INCOMPLETE_RIGHT_QUOTED_STRING=11 +EQUAL=12 IDENTIFIER=13 WS=14 'and'=1 @@ -20,4 +20,4 @@ WS=14 ':'=6 '('=7 ')'=8 -'='=9 +'='=12 diff --git a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.ts b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.ts index 4d8a9a5165066..95a63f7884456 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteLexer.ts @@ -18,10 +18,10 @@ export class SelectionAutoCompleteLexer extends Lexer { public static readonly COLON = 6; public static readonly LPAREN = 7; public static readonly RPAREN = 8; - public static readonly EQUAL = 9; - public static readonly QUOTED_STRING = 10; - public static readonly INCOMPLETE_LEFT_QUOTED_STRING = 11; - public static readonly INCOMPLETE_RIGHT_QUOTED_STRING = 12; + public static readonly QUOTED_STRING = 9; + public static readonly INCOMPLETE_LEFT_QUOTED_STRING = 10; + public static readonly INCOMPLETE_RIGHT_QUOTED_STRING = 11; + public static readonly EQUAL = 12; public static readonly IDENTIFIER = 13; public static readonly WS = 14; @@ -40,10 +40,10 @@ export class SelectionAutoCompleteLexer extends Lexer { 'COLON', 'LPAREN', 'RPAREN', - 'EQUAL', 'QUOTED_STRING', 'INCOMPLETE_LEFT_QUOTED_STRING', 'INCOMPLETE_RIGHT_QUOTED_STRING', + 'EQUAL', 'IDENTIFIER', 'WS', ]; @@ -58,6 +58,9 @@ export class SelectionAutoCompleteLexer extends Lexer { "':'", "'('", "')'", + undefined, + undefined, + undefined, "'='", ]; private static readonly _SYMBOLIC_NAMES: Array = [ @@ -70,10 +73,10 @@ export class SelectionAutoCompleteLexer extends Lexer { 'COLON', 'LPAREN', 'RPAREN', - 'EQUAL', 'QUOTED_STRING', 'INCOMPLETE_LEFT_QUOTED_STRING', 'INCOMPLETE_RIGHT_QUOTED_STRING', + 'EQUAL', 'IDENTIFIER', 'WS', ]; @@ -126,39 +129,40 @@ export class SelectionAutoCompleteLexer extends Lexer { '\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r' + '\x04\x0E\t\x0E\x04\x0F\t\x0F\x03\x02\x03\x02\x03\x02\x03\x02\x03\x03\x03' + '\x03\x03\x03\x03\x04\x03\x04\x03\x04\x03\x04\x03\x05\x03\x05\x03\x06\x03' + - '\x06\x03\x07\x03\x07\x03\b\x03\b\x03\t\x03\t\x03\n\x03\n\x03\v\x03\v\x07' + - '\v9\n\v\f\v\x0E\v<\v\v\x03\v\x03\v\x03\f\x03\f\x07\fB\n\f\f\f\x0E\fE\v' + - '\f\x03\r\x07\rH\n\r\f\r\x0E\rK\v\r\x03\r\x03\r\x03\x0E\x03\x0E\x07\x0E' + - 'Q\n\x0E\f\x0E\x0E\x0ET\v\x0E\x03\x0F\x06\x0FW\n\x0F\r\x0F\x0E\x0FX\x02' + - '\x02\x02\x10\x03\x02\x03\x05\x02\x04\x07\x02\x05\t\x02\x06\v\x02\x07\r' + - '\x02\b\x0F\x02\t\x11\x02\n\x13\x02\v\x15\x02\f\x17\x02\r\x19\x02\x0E\x1B' + - '\x02\x0F\x1D\x02\x10\x03\x02\x07\x06\x02\f\f\x0F\x0F$$^^\b\x02\f\f\x0F' + - '\x0F$$*+<<^^\x05\x02C\\aac|\x06\x022;C\\aac|\x05\x02\v\f\x0F\x0F""\x02' + - '^\x02\x03\x03\x02\x02\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02' + - '\x02\x02\t\x03\x02\x02\x02\x02\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02' + - '\x02\x0F\x03\x02\x02\x02\x02\x11\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02' + - '\x02\x15\x03\x02\x02\x02\x02\x17\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02' + - '\x02\x1B\x03\x02\x02\x02\x02\x1D\x03\x02\x02\x02\x03\x1F\x03\x02\x02\x02' + - '\x05#\x03\x02\x02\x02\x07&\x03\x02\x02\x02\t*\x03\x02\x02\x02\v,\x03\x02' + - '\x02\x02\r.\x03\x02\x02\x02\x0F0\x03\x02\x02\x02\x112\x03\x02\x02\x02' + - '\x134\x03\x02\x02\x02\x156\x03\x02\x02\x02\x17?\x03\x02\x02\x02\x19I\x03' + - '\x02\x02\x02\x1BN\x03\x02\x02\x02\x1DV\x03\x02\x02\x02\x1F \x07c\x02\x02' + - ' !\x07p\x02\x02!"\x07f\x02\x02"\x04\x03\x02\x02\x02#$\x07q\x02\x02$' + - "%\x07t\x02\x02%\x06\x03\x02\x02\x02&'\x07p\x02\x02'(\x07q\x02\x02()" + - '\x07v\x02\x02)\b\x03\x02\x02\x02*+\x07,\x02\x02+\n\x03\x02\x02\x02,-\x07' + - '-\x02\x02-\f\x03\x02\x02\x02./\x07<\x02\x02/\x0E\x03\x02\x02\x0201\x07' + - '*\x02\x021\x10\x03\x02\x02\x0223\x07+\x02\x023\x12\x03\x02\x02\x0245\x07' + - '?\x02\x025\x14\x03\x02\x02\x026:\x07$\x02\x0279\n\x02\x02\x0287\x03\x02' + - '\x02\x029<\x03\x02\x02\x02:8\x03\x02\x02\x02:;\x03\x02\x02\x02;=\x03\x02' + - '\x02\x02<:\x03\x02\x02\x02=>\x07$\x02\x02>\x16\x03\x02\x02\x02?C\x07$' + - '\x02\x02@B\n\x03\x02\x02A@\x03\x02\x02\x02BE\x03\x02\x02\x02CA\x03\x02' + - '\x02\x02CD\x03\x02\x02\x02D\x18\x03\x02\x02\x02EC\x03\x02\x02\x02FH\n' + - '\x03\x02\x02GF\x03\x02\x02\x02HK\x03\x02\x02\x02IG\x03\x02\x02\x02IJ\x03' + - '\x02\x02\x02JL\x03\x02\x02\x02KI\x03\x02\x02\x02LM\x07$\x02\x02M\x1A\x03' + - '\x02\x02\x02NR\t\x04\x02\x02OQ\t\x05\x02\x02PO\x03\x02\x02\x02QT\x03\x02' + - '\x02\x02RP\x03\x02\x02\x02RS\x03\x02\x02\x02S\x1C\x03\x02\x02\x02TR\x03' + - '\x02\x02\x02UW\t\x06\x02\x02VU\x03\x02\x02\x02WX\x03\x02\x02\x02XV\x03' + - '\x02\x02\x02XY\x03\x02\x02\x02Y\x1E\x03\x02\x02\x02\b\x02:CIRX\x02'; + '\x06\x03\x07\x03\x07\x03\b\x03\b\x03\t\x03\t\x03\n\x03\n\x07\n7\n\n\f' + + '\n\x0E\n:\v\n\x03\n\x03\n\x03\v\x03\v\x07\v@\n\v\f\v\x0E\vC\v\v\x03\f' + + '\x07\fF\n\f\f\f\x0E\fI\v\f\x03\f\x03\f\x03\r\x03\r\x03\x0E\x03\x0E\x07' + + '\x0EQ\n\x0E\f\x0E\x0E\x0ET\v\x0E\x03\x0F\x06\x0FW\n\x0F\r\x0F\x0E\x0F' + + 'X\x02\x02\x02\x10\x03\x02\x03\x05\x02\x04\x07\x02\x05\t\x02\x06\v\x02' + + '\x07\r\x02\b\x0F\x02\t\x11\x02\n\x13\x02\v\x15\x02\f\x17\x02\r\x19\x02' + + '\x0E\x1B\x02\x0F\x1D\x02\x10\x03\x02\x07\x06\x02\f\f\x0F\x0F$$^^\t\x02' + + '\f\f\x0F\x0F$$*+<@\n\x03\x02\x02' + + '?>\x03\x02\x02\x02@C\x03\x02\x02\x02A?\x03\x02\x02\x02AB\x03\x02\x02\x02' + + 'B\x16\x03\x02\x02\x02CA\x03\x02\x02\x02DF\n\x03\x02\x02ED\x03\x02\x02' + + '\x02FI\x03\x02\x02\x02GE\x03\x02\x02\x02GH\x03\x02\x02\x02HJ\x03\x02\x02' + + '\x02IG\x03\x02\x02\x02JK\x07$\x02\x02K\x18\x03\x02\x02\x02LM\x07?\x02' + + '\x02M\x1A\x03\x02\x02\x02NR\t\x04\x02\x02OQ\t\x05\x02\x02PO\x03\x02\x02' + + '\x02QT\x03\x02\x02\x02RP\x03\x02\x02\x02RS\x03\x02\x02\x02S\x1C\x03\x02' + + '\x02\x02TR\x03\x02\x02\x02UW\t\x06\x02\x02VU\x03\x02\x02\x02WX\x03\x02' + + '\x02\x02XV\x03\x02\x02\x02XY\x03\x02\x02\x02Y\x1E\x03\x02\x02\x02\b\x02' + + '8AGRX\x02'; public static __ATN: ATN; public static get _ATN(): ATN { if (!SelectionAutoCompleteLexer.__ATN) { diff --git a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteListener.ts b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteListener.ts index 746e48bc423f2..5aa5e0b03a8fe 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteListener.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteListener.ts @@ -23,6 +23,7 @@ import { FunctionNameContext, IncompleteAndExpressionContext, IncompleteAttributeExpressionMissingKeyContext, + IncompleteAttributeExpressionMissingSecondValueContext, IncompleteAttributeExpressionMissingValueContext, IncompleteExprContext, IncompleteExpressionContext, @@ -407,6 +408,23 @@ export interface SelectionAutoCompleteListener extends ParseTreeListener { ctx: IncompleteAttributeExpressionMissingValueContext, ) => void; + /** + * Enter a parse tree produced by the `IncompleteAttributeExpressionMissingSecondValue` + * labeled alternative in `SelectionAutoCompleteParser.incompleteExpr`. + * @param ctx the parse tree + */ + enterIncompleteAttributeExpressionMissingSecondValue?: ( + ctx: IncompleteAttributeExpressionMissingSecondValueContext, + ) => void; + /** + * Exit a parse tree produced by the `IncompleteAttributeExpressionMissingSecondValue` + * labeled alternative in `SelectionAutoCompleteParser.incompleteExpr`. + * @param ctx the parse tree + */ + exitIncompleteAttributeExpressionMissingSecondValue?: ( + ctx: IncompleteAttributeExpressionMissingSecondValueContext, + ) => void; + /** * Enter a parse tree produced by the `ExpressionlessFunctionExpression` * labeled alternative in `SelectionAutoCompleteParser.incompleteExpr`. diff --git a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteParser.ts b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteParser.ts index ae3c95659c73e..591bef965d3af 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteParser.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteParser.ts @@ -28,10 +28,10 @@ export class SelectionAutoCompleteParser extends Parser { public static readonly COLON = 6; public static readonly LPAREN = 7; public static readonly RPAREN = 8; - public static readonly EQUAL = 9; - public static readonly QUOTED_STRING = 10; - public static readonly INCOMPLETE_LEFT_QUOTED_STRING = 11; - public static readonly INCOMPLETE_RIGHT_QUOTED_STRING = 12; + public static readonly QUOTED_STRING = 9; + public static readonly INCOMPLETE_LEFT_QUOTED_STRING = 10; + public static readonly INCOMPLETE_RIGHT_QUOTED_STRING = 11; + public static readonly EQUAL = 12; public static readonly IDENTIFIER = 13; public static readonly WS = 14; public static readonly RULE_start = 0; @@ -102,6 +102,9 @@ export class SelectionAutoCompleteParser extends Parser { "':'", "'('", "')'", + undefined, + undefined, + undefined, "'='", ]; private static readonly _SYMBOLIC_NAMES: Array = [ @@ -114,10 +117,10 @@ export class SelectionAutoCompleteParser extends Parser { 'COLON', 'LPAREN', 'RPAREN', - 'EQUAL', 'QUOTED_STRING', 'INCOMPLETE_LEFT_QUOTED_STRING', 'INCOMPLETE_RIGHT_QUOTED_STRING', + 'EQUAL', 'IDENTIFIER', 'WS', ]; @@ -432,9 +435,9 @@ export class SelectionAutoCompleteParser extends Parser { ); this.enterRule(_localctx, 4, SelectionAutoCompleteParser.RULE_traversalAllowedExpr); try { - this.state = 116; + this.state = 120; this._errHandler.sync(this); - switch (this.interpreter.adaptivePredict(this._input, 3, this._ctx)) { + switch (this.interpreter.adaptivePredict(this._input, 4, this._ctx)) { case 1: _localctx = new AttributeExpressionContext(_localctx); this.enterOuterAlt(_localctx, 1); @@ -445,7 +448,19 @@ export class SelectionAutoCompleteParser extends Parser { this.colonToken(); this.state = 108; this.attributeValue(); - this.state = 109; + this.state = 111; + this._errHandler.sync(this); + switch (this.interpreter.adaptivePredict(this._input, 3, this._ctx)) { + case 1: + { + this.state = 109; + this.match(SelectionAutoCompleteParser.EQUAL); + this.state = 110; + this.attributeValue(); + } + break; + } + this.state = 113; this.postAttributeValueWhitespace(); } break; @@ -454,9 +469,9 @@ export class SelectionAutoCompleteParser extends Parser { _localctx = new FunctionCallExpressionContext(_localctx); this.enterOuterAlt(_localctx, 2); { - this.state = 111; + this.state = 115; this.functionName(); - this.state = 112; + this.state = 116; this.parenthesizedExpr(); } break; @@ -465,7 +480,7 @@ export class SelectionAutoCompleteParser extends Parser { _localctx = new TraversalAllowedParenthesizedExpressionContext(_localctx); this.enterOuterAlt(_localctx, 3); { - this.state = 114; + this.state = 118; this.parenthesizedExpr(); } break; @@ -474,7 +489,7 @@ export class SelectionAutoCompleteParser extends Parser { _localctx = new IncompleteExpressionContext(_localctx); this.enterOuterAlt(_localctx, 4); { - this.state = 115; + this.state = 119; this.incompleteExpr(); } break; @@ -500,15 +515,15 @@ export class SelectionAutoCompleteParser extends Parser { _localctx = new ParenthesizedExpressionContext(_localctx); this.enterOuterAlt(_localctx, 1); { - this.state = 118; + this.state = 122; this.leftParenToken(); - this.state = 119; + this.state = 123; this.postLogicalOperatorWhitespace(); - this.state = 120; + this.state = 124; this.expr(0); - this.state = 121; + this.state = 125; this.rightParenToken(); - this.state = 122; + this.state = 126; this.postExpressionWhitespace(); } } catch (re) { @@ -530,97 +545,114 @@ export class SelectionAutoCompleteParser extends Parser { this.enterRule(_localctx, 8, SelectionAutoCompleteParser.RULE_incompleteExpr); try { let _alt: number; - this.state = 157; + this.state = 167; this._errHandler.sync(this); - switch (this.interpreter.adaptivePredict(this._input, 5, this._ctx)) { + switch (this.interpreter.adaptivePredict(this._input, 6, this._ctx)) { case 1: _localctx = new IncompleteAttributeExpressionMissingValueContext(_localctx); this.enterOuterAlt(_localctx, 1); { - this.state = 124; + this.state = 128; this.attributeName(); - this.state = 125; + this.state = 129; this.colonToken(); - this.state = 126; + this.state = 130; this.attributeValueWhitespace(); } break; case 2: - _localctx = new ExpressionlessFunctionExpressionContext(_localctx); + _localctx = new IncompleteAttributeExpressionMissingSecondValueContext(_localctx); this.enterOuterAlt(_localctx, 2); { - this.state = 128; + this.state = 132; + this.attributeName(); + this.state = 133; + this.colonToken(); + this.state = 134; + this.attributeValue(); + this.state = 135; + this.match(SelectionAutoCompleteParser.EQUAL); + this.state = 136; + this.attributeValueWhitespace(); + } + break; + + case 3: + _localctx = new ExpressionlessFunctionExpressionContext(_localctx); + this.enterOuterAlt(_localctx, 3); + { + this.state = 138; this.functionName(); - this.state = 129; + this.state = 139; this.expressionLessParenthesizedExpr(); } break; - case 3: + case 4: _localctx = new UnclosedExpressionlessFunctionExpressionContext(_localctx); - this.enterOuterAlt(_localctx, 3); + this.enterOuterAlt(_localctx, 4); { - this.state = 131; + this.state = 141; this.functionName(); - this.state = 132; + this.state = 142; this.leftParenToken(); - this.state = 133; + this.state = 143; this.postLogicalOperatorWhitespace(); } break; - case 4: + case 5: _localctx = new UnclosedFunctionExpressionContext(_localctx); - this.enterOuterAlt(_localctx, 4); + this.enterOuterAlt(_localctx, 5); { - this.state = 135; + this.state = 145; this.functionName(); - this.state = 136; + this.state = 146; this.leftParenToken(); - this.state = 137; + this.state = 147; this.expr(0); } break; - case 5: + case 6: _localctx = new UnclosedParenthesizedExpressionContext(_localctx); - this.enterOuterAlt(_localctx, 5); + this.enterOuterAlt(_localctx, 6); { - this.state = 139; + this.state = 149; this.leftParenToken(); - this.state = 140; + this.state = 150; this.postLogicalOperatorWhitespace(); - this.state = 141; + this.state = 151; this.expr(0); } break; - case 6: + case 7: _localctx = new ExpressionlessParenthesizedExpressionWrapperContext(_localctx); - this.enterOuterAlt(_localctx, 6); + this.enterOuterAlt(_localctx, 7); { - this.state = 143; + this.state = 153; this.expressionLessParenthesizedExpr(); } break; - case 7: + case 8: _localctx = new UnclosedExpressionlessParenthesizedExpressionContext(_localctx); - this.enterOuterAlt(_localctx, 7); + this.enterOuterAlt(_localctx, 8); { - this.state = 144; + this.state = 154; this.leftParenToken(); - this.state = 145; + this.state = 155; this.postLogicalOperatorWhitespace(); } break; - case 8: + case 9: _localctx = new IncompletePlusTraversalExpressionContext(_localctx); - this.enterOuterAlt(_localctx, 8); + this.enterOuterAlt(_localctx, 9); { - this.state = 148; + this.state = 158; this._errHandler.sync(this); _alt = 1; do { @@ -628,7 +660,7 @@ export class SelectionAutoCompleteParser extends Parser { case 1: { { - this.state = 147; + this.state = 157; this.match(SelectionAutoCompleteParser.PLUS); } } @@ -636,24 +668,24 @@ export class SelectionAutoCompleteParser extends Parser { default: throw new NoViableAltException(this); } - this.state = 150; + this.state = 160; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 4, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 5, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); - this.state = 152; + this.state = 162; this.postNeighborTraversalWhitespace(); } break; - case 9: + case 10: _localctx = new IncompleteAttributeExpressionMissingKeyContext(_localctx); - this.enterOuterAlt(_localctx, 9); + this.enterOuterAlt(_localctx, 10); { - this.state = 153; + this.state = 163; this.colonToken(); - this.state = 154; + this.state = 164; this.attributeValue(); - this.state = 155; + this.state = 165; this.postExpressionWhitespace(); } break; @@ -680,13 +712,13 @@ export class SelectionAutoCompleteParser extends Parser { _localctx = new ExpressionlessParenthesizedExpressionContext(_localctx); this.enterOuterAlt(_localctx, 1); { - this.state = 159; + this.state = 169; this.leftParenToken(); - this.state = 160; + this.state = 170; this.postLogicalOperatorWhitespace(); - this.state = 161; + this.state = 171; this.rightParenToken(); - this.state = 162; + this.state = 172; this.postExpressionWhitespace(); } } catch (re) { @@ -710,9 +742,9 @@ export class SelectionAutoCompleteParser extends Parser { _localctx = new UpTraversalContext(_localctx); this.enterOuterAlt(_localctx, 1); { - this.state = 164; + this.state = 174; this.traversal(); - this.state = 165; + this.state = 175; this.postUpwardTraversalWhitespace(); } } catch (re) { @@ -736,9 +768,9 @@ export class SelectionAutoCompleteParser extends Parser { _localctx = new DownTraversalContext(_localctx); this.enterOuterAlt(_localctx, 1); { - this.state = 167; + this.state = 177; this.traversal(); - this.state = 168; + this.state = 178; this.postDownwardTraversalWhitespace(); } } catch (re) { @@ -760,20 +792,20 @@ export class SelectionAutoCompleteParser extends Parser { this.enterRule(_localctx, 16, SelectionAutoCompleteParser.RULE_traversal); try { let _alt: number; - this.state = 176; + this.state = 186; this._errHandler.sync(this); switch (this._input.LA(1)) { case SelectionAutoCompleteParser.STAR: this.enterOuterAlt(_localctx, 1); { - this.state = 170; + this.state = 180; this.match(SelectionAutoCompleteParser.STAR); } break; case SelectionAutoCompleteParser.PLUS: this.enterOuterAlt(_localctx, 2); { - this.state = 172; + this.state = 182; this._errHandler.sync(this); _alt = 1; do { @@ -781,7 +813,7 @@ export class SelectionAutoCompleteParser extends Parser { case 1: { { - this.state = 171; + this.state = 181; this.match(SelectionAutoCompleteParser.PLUS); } } @@ -789,9 +821,9 @@ export class SelectionAutoCompleteParser extends Parser { default: throw new NoViableAltException(this); } - this.state = 174; + this.state = 184; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 6, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 7, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); } break; @@ -818,7 +850,7 @@ export class SelectionAutoCompleteParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 178; + this.state = 188; this.match(SelectionAutoCompleteParser.IDENTIFIER); } } catch (re) { @@ -841,7 +873,7 @@ export class SelectionAutoCompleteParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 180; + this.state = 190; this.value(); } } catch (re) { @@ -864,7 +896,7 @@ export class SelectionAutoCompleteParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 182; + this.state = 192; this.match(SelectionAutoCompleteParser.IDENTIFIER); } } catch (re) { @@ -887,7 +919,7 @@ export class SelectionAutoCompleteParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 184; + this.state = 194; this.match(SelectionAutoCompleteParser.OR); } } catch (re) { @@ -910,7 +942,7 @@ export class SelectionAutoCompleteParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 186; + this.state = 196; this.match(SelectionAutoCompleteParser.AND); } } catch (re) { @@ -933,7 +965,7 @@ export class SelectionAutoCompleteParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 188; + this.state = 198; this.match(SelectionAutoCompleteParser.NOT); } } catch (re) { @@ -956,7 +988,7 @@ export class SelectionAutoCompleteParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 190; + this.state = 200; this.match(SelectionAutoCompleteParser.COLON); } } catch (re) { @@ -979,7 +1011,7 @@ export class SelectionAutoCompleteParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 192; + this.state = 202; this.match(SelectionAutoCompleteParser.LPAREN); } } catch (re) { @@ -1002,7 +1034,7 @@ export class SelectionAutoCompleteParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 194; + this.state = 204; this.match(SelectionAutoCompleteParser.RPAREN); } } catch (re) { @@ -1029,21 +1061,21 @@ export class SelectionAutoCompleteParser extends Parser { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 199; + this.state = 209; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 8, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 9, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 196; + this.state = 206; this.match(SelectionAutoCompleteParser.WS); } } } - this.state = 201; + this.state = 211; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 8, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 9, this._ctx); } } } catch (re) { @@ -1070,21 +1102,21 @@ export class SelectionAutoCompleteParser extends Parser { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 205; + this.state = 215; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 9, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 10, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 202; + this.state = 212; this.match(SelectionAutoCompleteParser.WS); } } } - this.state = 207; + this.state = 217; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 9, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 10, this._ctx); } } } catch (re) { @@ -1111,21 +1143,21 @@ export class SelectionAutoCompleteParser extends Parser { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 211; + this.state = 221; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 10, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 208; + this.state = 218; this.match(SelectionAutoCompleteParser.WS); } } } - this.state = 213; + this.state = 223; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 10, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx); } } } catch (re) { @@ -1152,21 +1184,21 @@ export class SelectionAutoCompleteParser extends Parser { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 217; + this.state = 227; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 12, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 214; + this.state = 224; this.match(SelectionAutoCompleteParser.WS); } } } - this.state = 219; + this.state = 229; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 11, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 12, this._ctx); } } } catch (re) { @@ -1191,21 +1223,21 @@ export class SelectionAutoCompleteParser extends Parser { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 223; + this.state = 233; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 12, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 13, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 220; + this.state = 230; this.match(SelectionAutoCompleteParser.WS); } } } - this.state = 225; + this.state = 235; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 12, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 13, this._ctx); } } } catch (re) { @@ -1230,21 +1262,21 @@ export class SelectionAutoCompleteParser extends Parser { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 229; + this.state = 239; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 13, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 14, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 226; + this.state = 236; this.match(SelectionAutoCompleteParser.WS); } } } - this.state = 231; + this.state = 241; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 13, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 14, this._ctx); } } } catch (re) { @@ -1269,17 +1301,17 @@ export class SelectionAutoCompleteParser extends Parser { try { this.enterOuterAlt(_localctx, 1); { - this.state = 235; + this.state = 245; this._errHandler.sync(this); _la = this._input.LA(1); while (_la === SelectionAutoCompleteParser.WS) { { { - this.state = 232; + this.state = 242; this.match(SelectionAutoCompleteParser.WS); } } - this.state = 237; + this.state = 247; this._errHandler.sync(this); _la = this._input.LA(1); } @@ -1306,21 +1338,21 @@ export class SelectionAutoCompleteParser extends Parser { let _alt: number; this.enterOuterAlt(_localctx, 1); { - this.state = 241; + this.state = 251; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 15, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 16, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 238; + this.state = 248; this.match(SelectionAutoCompleteParser.WS); } } } - this.state = 243; + this.state = 253; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 15, this._ctx); + _alt = this.interpreter.adaptivePredict(this._input, 16, this._ctx); } } } catch (re) { @@ -1341,14 +1373,14 @@ export class SelectionAutoCompleteParser extends Parser { let _localctx: ValueContext = new ValueContext(this._ctx, this.state); this.enterRule(_localctx, 52, SelectionAutoCompleteParser.RULE_value); try { - this.state = 248; + this.state = 258; this._errHandler.sync(this); switch (this._input.LA(1)) { case SelectionAutoCompleteParser.QUOTED_STRING: _localctx = new QuotedStringValueContext(_localctx); this.enterOuterAlt(_localctx, 1); { - this.state = 244; + this.state = 254; this.match(SelectionAutoCompleteParser.QUOTED_STRING); } break; @@ -1356,7 +1388,7 @@ export class SelectionAutoCompleteParser extends Parser { _localctx = new IncompleteLeftQuotedStringValueContext(_localctx); this.enterOuterAlt(_localctx, 2); { - this.state = 245; + this.state = 255; this.match(SelectionAutoCompleteParser.INCOMPLETE_LEFT_QUOTED_STRING); } break; @@ -1364,7 +1396,7 @@ export class SelectionAutoCompleteParser extends Parser { _localctx = new IncompleteRightQuotedStringValueContext(_localctx); this.enterOuterAlt(_localctx, 3); { - this.state = 246; + this.state = 256; this.match(SelectionAutoCompleteParser.INCOMPLETE_RIGHT_QUOTED_STRING); } break; @@ -1372,7 +1404,7 @@ export class SelectionAutoCompleteParser extends Parser { _localctx = new UnquotedStringValueContext(_localctx); this.enterOuterAlt(_localctx, 4); { - this.state = 247; + this.state = 257; this.match(SelectionAutoCompleteParser.IDENTIFIER); } break; @@ -1418,115 +1450,121 @@ export class SelectionAutoCompleteParser extends Parser { } public static readonly _serializedATN: string = - '\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03\x10\xFD\x04\x02' + - '\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07' + - '\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r\x04' + - '\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12\x04' + - '\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17\x04' + - '\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t\x1C\x03' + - '\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03' + + '\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03\x10\u0107\x04' + + '\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04' + + '\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r' + + '\x04\x0E\t\x0E\x04\x0F\t\x0F\x04\x10\t\x10\x04\x11\t\x11\x04\x12\t\x12' + + '\x04\x13\t\x13\x04\x14\t\x14\x04\x15\t\x15\x04\x16\t\x16\x04\x17\t\x17' + + '\x04\x18\t\x18\x04\x19\t\x19\x04\x1A\t\x1A\x04\x1B\t\x1B\x04\x1C\t\x1C' + + '\x03\x02\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03' + + '\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03' + '\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03' + - '\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x05' + - '\x03T\n\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03' + + '\x05\x03T\n\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03' + '\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03\x03' + - '\x03\x03\x03\x07\x03h\n\x03\f\x03\x0E\x03k\v\x03\x03\x04\x03\x04\x03\x04' + - '\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03\x04\x05\x04w\n\x04' + - '\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x05\x03\x06\x03\x06\x03\x06' + - '\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06' + - '\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06' + - '\x03\x06\x03\x06\x03\x06\x06\x06\x97\n\x06\r\x06\x0E\x06\x98\x03\x06\x03' + - '\x06\x03\x06\x03\x06\x03\x06\x05\x06\xA0\n\x06\x03\x07\x03\x07\x03\x07' + - '\x03\x07\x03\x07\x03\b\x03\b\x03\b\x03\t\x03\t\x03\t\x03\n\x03\n\x06\n' + - '\xAF\n\n\r\n\x0E\n\xB0\x05\n\xB3\n\n\x03\v\x03\v\x03\f\x03\f\x03\r\x03' + - '\r\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x10\x03\x10\x03\x11\x03\x11\x03' + - '\x12\x03\x12\x03\x13\x03\x13\x03\x14\x07\x14\xC8\n\x14\f\x14\x0E\x14\xCB' + - '\v\x14\x03\x15\x07\x15\xCE\n\x15\f\x15\x0E\x15\xD1\v\x15\x03\x16\x07\x16' + - '\xD4\n\x16\f\x16\x0E\x16\xD7\v\x16\x03\x17\x07\x17\xDA\n\x17\f\x17\x0E' + - '\x17\xDD\v\x17\x03\x18\x07\x18\xE0\n\x18\f\x18\x0E\x18\xE3\v\x18\x03\x19' + - '\x07\x19\xE6\n\x19\f\x19\x0E\x19\xE9\v\x19\x03\x1A\x07\x1A\xEC\n\x1A\f' + - '\x1A\x0E\x1A\xEF\v\x1A\x03\x1B\x07\x1B\xF2\n\x1B\f\x1B\x0E\x1B\xF5\v\x1B' + - '\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x05\x1C\xFB\n\x1C\x03\x1C\x02\x02\x03' + - '\x04\x1D\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f\x02\x0E\x02\x10\x02\x12' + - '\x02\x14\x02\x16\x02\x18\x02\x1A\x02\x1C\x02\x1E\x02 \x02"\x02$\x02&' + - '\x02(\x02*\x02,\x02.\x020\x022\x024\x026\x02\x02\x02\x02\u0105\x028\x03' + - '\x02\x02\x02\x04S\x03\x02\x02\x02\x06v\x03\x02\x02\x02\bx\x03\x02\x02' + - '\x02\n\x9F\x03\x02\x02\x02\f\xA1\x03\x02\x02\x02\x0E\xA6\x03\x02\x02\x02' + - '\x10\xA9\x03\x02\x02\x02\x12\xB2\x03\x02\x02\x02\x14\xB4\x03\x02\x02\x02' + - '\x16\xB6\x03\x02\x02\x02\x18\xB8\x03\x02\x02\x02\x1A\xBA\x03\x02\x02\x02' + - '\x1C\xBC\x03\x02\x02\x02\x1E\xBE\x03\x02\x02\x02 \xC0\x03\x02\x02\x02' + - '"\xC2\x03\x02\x02\x02$\xC4\x03\x02\x02\x02&\xC9\x03\x02\x02\x02(\xCF' + - '\x03\x02\x02\x02*\xD5\x03\x02\x02\x02,\xDB\x03\x02\x02\x02.\xE1\x03\x02' + - '\x02\x020\xE7\x03\x02\x02\x022\xED\x03\x02\x02\x024\xF3\x03\x02\x02\x02' + - '6\xFA\x03\x02\x02\x0289\x05\x04\x03\x029:\x07\x02\x02\x03:\x03\x03\x02' + - '\x02\x02;<\b\x03\x01\x02\x05\x0E\b\x02>?\x05\x06\x04' + - '\x02?@\x05\x10\t\x02@T\x03\x02\x02\x02AB\x05\x0E\b\x02BC\x05\x06\x04\x02' + - 'CT\x03\x02\x02\x02DE\x05\x06\x04\x02EF\x05\x10\t\x02FT\x03\x02\x02\x02' + - 'GH\x05\x1E\x10\x02HI\x05,\x17\x02IJ\x05\x04\x03\nJT\x03\x02\x02\x02KL' + - '\x05\x1E\x10\x02LM\x05,\x17\x02MT\x03\x02\x02\x02NO\x07\x06\x02\x02OT' + - '\x05*\x16\x02PQ\x056\x1C\x02QR\x05*\x16\x02RT\x03\x02\x02\x02S;\x03\x02' + - '\x02\x02S=\x03\x02\x02\x02SA\x03\x02\x02\x02SD\x03\x02\x02\x02SG\x03\x02' + - '\x02\x02SK\x03\x02\x02\x02SN\x03\x02\x02\x02SP\x03\x02\x02\x02Ti\x03\x02' + - '\x02\x02UV\f\t\x02\x02VW\x05\x1C\x0F\x02WX\x05.\x18\x02XY\x05\x04\x03' + - '\nYh\x03\x02\x02\x02Z[\f\b\x02\x02[\\\x05\x1A\x0E\x02\\]\x05.\x18\x02' + - ']^\x05\x04\x03\t^h\x03\x02\x02\x02_`\f\x07\x02\x02`a\x05\x1C\x0F\x02a' + - 'b\x05.\x18\x02bh\x03\x02\x02\x02cd\f\x06\x02\x02de\x05\x1A\x0E\x02ef\x05' + - '.\x18\x02fh\x03\x02\x02\x02gU\x03\x02\x02\x02gZ\x03\x02\x02\x02g_\x03' + - '\x02\x02\x02gc\x03\x02\x02\x02hk\x03\x02\x02\x02ig\x03\x02\x02\x02ij\x03' + - '\x02\x02\x02j\x05\x03\x02\x02\x02ki\x03\x02\x02\x02lm\x05\x14\v\x02mn' + - '\x05 \x11\x02no\x05\x16\f\x02op\x05(\x15\x02pw\x03\x02\x02\x02qr\x05\x18' + - '\r\x02rs\x05\b\x05\x02sw\x03\x02\x02\x02tw\x05\b\x05\x02uw\x05\n\x06\x02' + - 'vl\x03\x02\x02\x02vq\x03\x02\x02\x02vt\x03\x02\x02\x02vu\x03\x02\x02\x02' + - 'w\x07\x03\x02\x02\x02xy\x05"\x12\x02yz\x05.\x18\x02z{\x05\x04\x03\x02' + - '{|\x05$\x13\x02|}\x05*\x16\x02}\t\x03\x02\x02\x02~\x7F\x05\x14\v\x02\x7F' + - '\x80\x05 \x11\x02\x80\x81\x05&\x14\x02\x81\xA0\x03\x02\x02\x02\x82\x83' + - '\x05\x18\r\x02\x83\x84\x05\f\x07\x02\x84\xA0\x03\x02\x02\x02\x85\x86\x05' + - '\x18\r\x02\x86\x87\x05"\x12\x02\x87\x88\x05.\x18\x02\x88\xA0\x03\x02' + - '\x02\x02\x89\x8A\x05\x18\r\x02\x8A\x8B\x05"\x12\x02\x8B\x8C\x05\x04\x03' + - '\x02\x8C\xA0\x03\x02\x02\x02\x8D\x8E\x05"\x12\x02\x8E\x8F\x05.\x18\x02' + - '\x8F\x90\x05\x04\x03\x02\x90\xA0\x03\x02\x02\x02\x91\xA0\x05\f\x07\x02' + - '\x92\x93\x05"\x12\x02\x93\x94\x05.\x18\x02\x94\xA0\x03\x02\x02\x02\x95' + - '\x97\x07\x07\x02\x02\x96\x95\x03\x02\x02\x02\x97\x98\x03\x02\x02\x02\x98' + - '\x96\x03\x02\x02\x02\x98\x99\x03\x02\x02\x02\x99\x9A\x03\x02\x02\x02\x9A' + - '\xA0\x050\x19\x02\x9B\x9C\x05 \x11\x02\x9C\x9D\x05\x16\f\x02\x9D\x9E\x05' + - '*\x16\x02\x9E\xA0\x03\x02\x02\x02\x9F~\x03\x02\x02\x02\x9F\x82\x03\x02' + - '\x02\x02\x9F\x85\x03\x02\x02\x02\x9F\x89\x03\x02\x02\x02\x9F\x8D\x03\x02' + - '\x02\x02\x9F\x91\x03\x02\x02\x02\x9F\x92\x03\x02\x02\x02\x9F\x96\x03\x02' + - '\x02\x02\x9F\x9B\x03\x02\x02\x02\xA0\v\x03\x02\x02\x02\xA1\xA2\x05"\x12' + - '\x02\xA2\xA3\x05.\x18\x02\xA3\xA4\x05$\x13\x02\xA4\xA5\x05*\x16\x02\xA5' + - '\r\x03\x02\x02\x02\xA6\xA7\x05\x12\n\x02\xA7\xA8\x052\x1A\x02\xA8\x0F' + - '\x03\x02\x02\x02\xA9\xAA\x05\x12\n\x02\xAA\xAB\x054\x1B\x02\xAB\x11\x03' + - '\x02\x02\x02\xAC\xB3\x07\x06\x02\x02\xAD\xAF\x07\x07\x02\x02\xAE\xAD\x03' + - '\x02\x02\x02\xAF\xB0\x03\x02\x02\x02\xB0\xAE\x03\x02\x02\x02\xB0\xB1\x03' + - '\x02\x02\x02\xB1\xB3\x03\x02\x02\x02\xB2\xAC\x03\x02\x02\x02\xB2\xAE\x03' + - '\x02\x02\x02\xB3\x13\x03\x02\x02\x02\xB4\xB5\x07\x0F\x02\x02\xB5\x15\x03' + - '\x02\x02\x02\xB6\xB7\x056\x1C\x02\xB7\x17\x03\x02\x02\x02\xB8\xB9\x07' + - '\x0F\x02\x02\xB9\x19\x03\x02\x02\x02\xBA\xBB\x07\x04\x02\x02\xBB\x1B\x03' + - '\x02\x02\x02\xBC\xBD\x07\x03\x02\x02\xBD\x1D\x03\x02\x02\x02\xBE\xBF\x07' + - '\x05\x02\x02\xBF\x1F\x03\x02\x02\x02\xC0\xC1\x07\b\x02\x02\xC1!\x03\x02' + - '\x02\x02\xC2\xC3\x07\t\x02\x02\xC3#\x03\x02\x02\x02\xC4\xC5\x07\n\x02' + - '\x02\xC5%\x03\x02\x02\x02\xC6\xC8\x07\x10\x02\x02\xC7\xC6\x03\x02\x02' + - '\x02\xC8\xCB\x03\x02\x02\x02\xC9\xC7\x03\x02\x02\x02\xC9\xCA\x03\x02\x02' + - "\x02\xCA'\x03\x02\x02\x02\xCB\xC9\x03\x02\x02\x02\xCC\xCE\x07\x10\x02" + - '\x02\xCD\xCC\x03\x02\x02\x02\xCE\xD1\x03\x02\x02\x02\xCF\xCD\x03\x02\x02' + - '\x02\xCF\xD0\x03\x02\x02\x02\xD0)\x03\x02\x02\x02\xD1\xCF\x03\x02\x02' + - '\x02\xD2\xD4\x07\x10\x02\x02\xD3\xD2\x03\x02\x02\x02\xD4\xD7\x03\x02\x02' + - '\x02\xD5\xD3\x03\x02\x02\x02\xD5\xD6\x03\x02\x02\x02\xD6+\x03\x02\x02' + - '\x02\xD7\xD5\x03\x02\x02\x02\xD8\xDA\x07\x10\x02\x02\xD9\xD8\x03\x02\x02' + - '\x02\xDA\xDD\x03\x02\x02\x02\xDB\xD9\x03\x02\x02\x02\xDB\xDC\x03\x02\x02' + - '\x02\xDC-\x03\x02\x02\x02\xDD\xDB\x03\x02\x02\x02\xDE\xE0\x07\x10\x02' + - '\x02\xDF\xDE\x03\x02\x02\x02\xE0\xE3\x03\x02\x02\x02\xE1\xDF\x03\x02\x02' + - '\x02\xE1\xE2\x03\x02\x02\x02\xE2/\x03\x02\x02\x02\xE3\xE1\x03\x02\x02' + - '\x02\xE4\xE6\x07\x10\x02\x02\xE5\xE4\x03\x02\x02\x02\xE6\xE9\x03\x02\x02' + - '\x02\xE7\xE5\x03\x02\x02\x02\xE7\xE8\x03\x02\x02\x02\xE81\x03\x02\x02' + - '\x02\xE9\xE7\x03\x02\x02\x02\xEA\xEC\x07\x10\x02\x02\xEB\xEA\x03\x02\x02' + - '\x02\xEC\xEF\x03\x02\x02\x02\xED\xEB\x03\x02\x02\x02\xED\xEE\x03\x02\x02' + - '\x02\xEE3\x03\x02\x02\x02\xEF\xED\x03\x02\x02\x02\xF0\xF2\x07\x10\x02' + - '\x02\xF1\xF0\x03\x02\x02\x02\xF2\xF5\x03\x02\x02\x02\xF3\xF1\x03\x02\x02' + - '\x02\xF3\xF4\x03\x02\x02\x02\xF45\x03\x02\x02\x02\xF5\xF3\x03\x02\x02' + - '\x02\xF6\xFB\x07\f\x02\x02\xF7\xFB\x07\r\x02\x02\xF8\xFB\x07\x0E\x02\x02' + - '\xF9\xFB\x07\x0F\x02\x02\xFA\xF6\x03\x02\x02\x02\xFA\xF7\x03\x02\x02\x02' + - '\xFA\xF8\x03\x02\x02\x02\xFA\xF9\x03\x02\x02\x02\xFB7\x03\x02\x02\x02' + - '\x13Sgiv\x98\x9F\xB0\xB2\xC9\xCF\xD5\xDB\xE1\xE7\xED\xF3\xFA'; + '\x03\x03\x03\x03\x07\x03h\n\x03\f\x03\x0E\x03k\v\x03\x03\x04\x03\x04\x03' + + '\x04\x03\x04\x03\x04\x05\x04r\n\x04\x03\x04\x03\x04\x03\x04\x03\x04\x03' + + '\x04\x03\x04\x03\x04\x05\x04{\n\x04\x03\x05\x03\x05\x03\x05\x03\x05\x03' + + '\x05\x03\x05\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03' + + '\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03' + + '\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03' + + '\x06\x03\x06\x03\x06\x03\x06\x03\x06\x06\x06\xA1\n\x06\r\x06\x0E\x06\xA2' + + '\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x05\x06\xAA\n\x06\x03\x07\x03' + + '\x07\x03\x07\x03\x07\x03\x07\x03\b\x03\b\x03\b\x03\t\x03\t\x03\t\x03\n' + + '\x03\n\x06\n\xB9\n\n\r\n\x0E\n\xBA\x05\n\xBD\n\n\x03\v\x03\v\x03\f\x03' + + '\f\x03\r\x03\r\x03\x0E\x03\x0E\x03\x0F\x03\x0F\x03\x10\x03\x10\x03\x11' + + '\x03\x11\x03\x12\x03\x12\x03\x13\x03\x13\x03\x14\x07\x14\xD2\n\x14\f\x14' + + '\x0E\x14\xD5\v\x14\x03\x15\x07\x15\xD8\n\x15\f\x15\x0E\x15\xDB\v\x15\x03' + + '\x16\x07\x16\xDE\n\x16\f\x16\x0E\x16\xE1\v\x16\x03\x17\x07\x17\xE4\n\x17' + + '\f\x17\x0E\x17\xE7\v\x17\x03\x18\x07\x18\xEA\n\x18\f\x18\x0E\x18\xED\v' + + '\x18\x03\x19\x07\x19\xF0\n\x19\f\x19\x0E\x19\xF3\v\x19\x03\x1A\x07\x1A' + + '\xF6\n\x1A\f\x1A\x0E\x1A\xF9\v\x1A\x03\x1B\x07\x1B\xFC\n\x1B\f\x1B\x0E' + + '\x1B\xFF\v\x1B\x03\x1C\x03\x1C\x03\x1C\x03\x1C\x05\x1C\u0105\n\x1C\x03' + + '\x1C\x02\x02\x03\x04\x1D\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f\x02\x0E' + + '\x02\x10\x02\x12\x02\x14\x02\x16\x02\x18\x02\x1A\x02\x1C\x02\x1E\x02 ' + + '\x02"\x02$\x02&\x02(\x02*\x02,\x02.\x020\x022\x024\x026\x02\x02\x02\x02' + + '\u0111\x028\x03\x02\x02\x02\x04S\x03\x02\x02\x02\x06z\x03\x02\x02\x02' + + '\b|\x03\x02\x02\x02\n\xA9\x03\x02\x02\x02\f\xAB\x03\x02\x02\x02\x0E\xB0' + + '\x03\x02\x02\x02\x10\xB3\x03\x02\x02\x02\x12\xBC\x03\x02\x02\x02\x14\xBE' + + '\x03\x02\x02\x02\x16\xC0\x03\x02\x02\x02\x18\xC2\x03\x02\x02\x02\x1A\xC4' + + '\x03\x02\x02\x02\x1C\xC6\x03\x02\x02\x02\x1E\xC8\x03\x02\x02\x02 \xCA' + + '\x03\x02\x02\x02"\xCC\x03\x02\x02\x02$\xCE\x03\x02\x02\x02&\xD3\x03\x02' + + '\x02\x02(\xD9\x03\x02\x02\x02*\xDF\x03\x02\x02\x02,\xE5\x03\x02\x02\x02' + + '.\xEB\x03\x02\x02\x020\xF1\x03\x02\x02\x022\xF7\x03\x02\x02\x024\xFD\x03' + + '\x02\x02\x026\u0104\x03\x02\x02\x0289\x05\x04\x03\x029:\x07\x02\x02\x03' + + ':\x03\x03\x02\x02\x02;<\b\x03\x01\x02\x05\x0E\b\x02' + + '>?\x05\x06\x04\x02?@\x05\x10\t\x02@T\x03\x02\x02\x02AB\x05\x0E\b\x02B' + + 'C\x05\x06\x04\x02CT\x03\x02\x02\x02DE\x05\x06\x04\x02EF\x05\x10\t\x02' + + 'FT\x03\x02\x02\x02GH\x05\x1E\x10\x02HI\x05,\x17\x02IJ\x05\x04\x03\nJT' + + '\x03\x02\x02\x02KL\x05\x1E\x10\x02LM\x05,\x17\x02MT\x03\x02\x02\x02NO' + + '\x07\x06\x02\x02OT\x05*\x16\x02PQ\x056\x1C\x02QR\x05*\x16\x02RT\x03\x02' + + '\x02\x02S;\x03\x02\x02\x02S=\x03\x02\x02\x02SA\x03\x02\x02\x02SD\x03\x02' + + '\x02\x02SG\x03\x02\x02\x02SK\x03\x02\x02\x02SN\x03\x02\x02\x02SP\x03\x02' + + '\x02\x02Ti\x03\x02\x02\x02UV\f\t\x02\x02VW\x05\x1C\x0F\x02WX\x05.\x18' + + '\x02XY\x05\x04\x03\nYh\x03\x02\x02\x02Z[\f\b\x02\x02[\\\x05\x1A\x0E\x02' + + '\\]\x05.\x18\x02]^\x05\x04\x03\t^h\x03\x02\x02\x02_`\f\x07\x02\x02`a\x05' + + '\x1C\x0F\x02ab\x05.\x18\x02bh\x03\x02\x02\x02cd\f\x06\x02\x02de\x05\x1A' + + '\x0E\x02ef\x05.\x18\x02fh\x03\x02\x02\x02gU\x03\x02\x02\x02gZ\x03\x02' + + '\x02\x02g_\x03\x02\x02\x02gc\x03\x02\x02\x02hk\x03\x02\x02\x02ig\x03\x02' + + '\x02\x02ij\x03\x02\x02\x02j\x05\x03\x02\x02\x02ki\x03\x02\x02\x02lm\x05' + + '\x14\v\x02mn\x05 \x11\x02nq\x05\x16\f\x02op\x07\x0E\x02\x02pr\x05\x16' + + '\f\x02qo\x03\x02\x02\x02qr\x03\x02\x02\x02rs\x03\x02\x02\x02st\x05(\x15' + + '\x02t{\x03\x02\x02\x02uv\x05\x18\r\x02vw\x05\b\x05\x02w{\x03\x02\x02\x02' + + 'x{\x05\b\x05\x02y{\x05\n\x06\x02zl\x03\x02\x02\x02zu\x03\x02\x02\x02z' + + 'x\x03\x02\x02\x02zy\x03\x02\x02\x02{\x07\x03\x02\x02\x02|}\x05"\x12\x02' + + '}~\x05.\x18\x02~\x7F\x05\x04\x03\x02\x7F\x80\x05$\x13\x02\x80\x81\x05' + + '*\x16\x02\x81\t\x03\x02\x02\x02\x82\x83\x05\x14\v\x02\x83\x84\x05 \x11' + + '\x02\x84\x85\x05&\x14\x02\x85\xAA\x03\x02\x02\x02\x86\x87\x05\x14\v\x02' + + '\x87\x88\x05 \x11\x02\x88\x89\x05\x16\f\x02\x89\x8A\x07\x0E\x02\x02\x8A' + + '\x8B\x05&\x14\x02\x8B\xAA\x03\x02\x02\x02\x8C\x8D\x05\x18\r\x02\x8D\x8E' + + '\x05\f\x07\x02\x8E\xAA\x03\x02\x02\x02\x8F\x90\x05\x18\r\x02\x90\x91\x05' + + '"\x12\x02\x91\x92\x05.\x18\x02\x92\xAA\x03\x02\x02\x02\x93\x94\x05\x18' + + '\r\x02\x94\x95\x05"\x12\x02\x95\x96\x05\x04\x03\x02\x96\xAA\x03\x02\x02' + + '\x02\x97\x98\x05"\x12\x02\x98\x99\x05.\x18\x02\x99\x9A\x05\x04\x03\x02' + + '\x9A\xAA\x03\x02\x02\x02\x9B\xAA\x05\f\x07\x02\x9C\x9D\x05"\x12\x02\x9D' + + '\x9E\x05.\x18\x02\x9E\xAA\x03\x02\x02\x02\x9F\xA1\x07\x07\x02\x02\xA0' + + '\x9F\x03\x02\x02\x02\xA1\xA2\x03\x02\x02\x02\xA2\xA0\x03\x02\x02\x02\xA2' + + '\xA3\x03\x02\x02\x02\xA3\xA4\x03\x02\x02\x02\xA4\xAA\x050\x19\x02\xA5' + + '\xA6\x05 \x11\x02\xA6\xA7\x05\x16\f\x02\xA7\xA8\x05*\x16\x02\xA8\xAA\x03' + + '\x02\x02\x02\xA9\x82\x03\x02\x02\x02\xA9\x86\x03\x02\x02\x02\xA9\x8C\x03' + + '\x02\x02\x02\xA9\x8F\x03\x02\x02\x02\xA9\x93\x03\x02\x02\x02\xA9\x97\x03' + + '\x02\x02\x02\xA9\x9B\x03\x02\x02\x02\xA9\x9C\x03\x02\x02\x02\xA9\xA0\x03' + + '\x02\x02\x02\xA9\xA5\x03\x02\x02\x02\xAA\v\x03\x02\x02\x02\xAB\xAC\x05' + + '"\x12\x02\xAC\xAD\x05.\x18\x02\xAD\xAE\x05$\x13\x02\xAE\xAF\x05*\x16' + + '\x02\xAF\r\x03\x02\x02\x02\xB0\xB1\x05\x12\n\x02\xB1\xB2\x052\x1A\x02' + + '\xB2\x0F\x03\x02\x02\x02\xB3\xB4\x05\x12\n\x02\xB4\xB5\x054\x1B\x02\xB5' + + '\x11\x03\x02\x02\x02\xB6\xBD\x07\x06\x02\x02\xB7\xB9\x07\x07\x02\x02\xB8' + + '\xB7\x03\x02\x02\x02\xB9\xBA\x03\x02\x02\x02\xBA\xB8\x03\x02\x02\x02\xBA' + + '\xBB\x03\x02\x02\x02\xBB\xBD\x03\x02\x02\x02\xBC\xB6\x03\x02\x02\x02\xBC' + + '\xB8\x03\x02\x02\x02\xBD\x13\x03\x02\x02\x02\xBE\xBF\x07\x0F\x02\x02\xBF' + + '\x15\x03\x02\x02\x02\xC0\xC1\x056\x1C\x02\xC1\x17\x03\x02\x02\x02\xC2' + + '\xC3\x07\x0F\x02\x02\xC3\x19\x03\x02\x02\x02\xC4\xC5\x07\x04\x02\x02\xC5' + + '\x1B\x03\x02\x02\x02\xC6\xC7\x07\x03\x02\x02\xC7\x1D\x03\x02\x02\x02\xC8' + + '\xC9\x07\x05\x02\x02\xC9\x1F\x03\x02\x02\x02\xCA\xCB\x07\b\x02\x02\xCB' + + '!\x03\x02\x02\x02\xCC\xCD\x07\t\x02\x02\xCD#\x03\x02\x02\x02\xCE\xCF\x07' + + '\n\x02\x02\xCF%\x03\x02\x02\x02\xD0\xD2\x07\x10\x02\x02\xD1\xD0\x03\x02' + + '\x02\x02\xD2\xD5\x03\x02\x02\x02\xD3\xD1\x03\x02\x02\x02\xD3\xD4\x03\x02' + + "\x02\x02\xD4'\x03\x02\x02\x02\xD5\xD3\x03\x02\x02\x02\xD6\xD8\x07\x10" + + '\x02\x02\xD7\xD6\x03\x02\x02\x02\xD8\xDB\x03\x02\x02\x02\xD9\xD7\x03\x02' + + '\x02\x02\xD9\xDA\x03\x02\x02\x02\xDA)\x03\x02\x02\x02\xDB\xD9\x03\x02' + + '\x02\x02\xDC\xDE\x07\x10\x02\x02\xDD\xDC\x03\x02\x02\x02\xDE\xE1\x03\x02' + + '\x02\x02\xDF\xDD\x03\x02\x02\x02\xDF\xE0\x03\x02\x02\x02\xE0+\x03\x02' + + '\x02\x02\xE1\xDF\x03\x02\x02\x02\xE2\xE4\x07\x10\x02\x02\xE3\xE2\x03\x02' + + '\x02\x02\xE4\xE7\x03\x02\x02\x02\xE5\xE3\x03\x02\x02\x02\xE5\xE6\x03\x02' + + '\x02\x02\xE6-\x03\x02\x02\x02\xE7\xE5\x03\x02\x02\x02\xE8\xEA\x07\x10' + + '\x02\x02\xE9\xE8\x03\x02\x02\x02\xEA\xED\x03\x02\x02\x02\xEB\xE9\x03\x02' + + '\x02\x02\xEB\xEC\x03\x02\x02\x02\xEC/\x03\x02\x02\x02\xED\xEB\x03\x02' + + '\x02\x02\xEE\xF0\x07\x10\x02\x02\xEF\xEE\x03\x02\x02\x02\xF0\xF3\x03\x02' + + '\x02\x02\xF1\xEF\x03\x02\x02\x02\xF1\xF2\x03\x02\x02\x02\xF21\x03\x02' + + '\x02\x02\xF3\xF1\x03\x02\x02\x02\xF4\xF6\x07\x10\x02\x02\xF5\xF4\x03\x02' + + '\x02\x02\xF6\xF9\x03\x02\x02\x02\xF7\xF5\x03\x02\x02\x02\xF7\xF8\x03\x02' + + '\x02\x02\xF83\x03\x02\x02\x02\xF9\xF7\x03\x02\x02\x02\xFA\xFC\x07\x10' + + '\x02\x02\xFB\xFA\x03\x02\x02\x02\xFC\xFF\x03\x02\x02\x02\xFD\xFB\x03\x02' + + '\x02\x02\xFD\xFE\x03\x02\x02\x02\xFE5\x03\x02\x02\x02\xFF\xFD\x03\x02' + + '\x02\x02\u0100\u0105\x07\v\x02\x02\u0101\u0105\x07\f\x02\x02\u0102\u0105' + + '\x07\r\x02\x02\u0103\u0105\x07\x0F\x02\x02\u0104\u0100\x03\x02\x02\x02' + + '\u0104\u0101\x03\x02\x02\x02\u0104\u0102\x03\x02\x02\x02\u0104\u0103\x03' + + '\x02\x02\x02\u01057\x03\x02\x02\x02\x14Sgiqz\xA2\xA9\xBA\xBC\xD3\xD9\xDF' + + '\xE5\xEB\xF1\xF7\xFD\u0104'; public static __ATN: ATN; public static get _ATN(): ATN { if (!SelectionAutoCompleteParser.__ATN) { @@ -2018,12 +2056,21 @@ export class AttributeExpressionContext extends TraversalAllowedExprContext { public colonToken(): ColonTokenContext { return this.getRuleContext(0, ColonTokenContext); } - public attributeValue(): AttributeValueContext { - return this.getRuleContext(0, AttributeValueContext); + public attributeValue(): AttributeValueContext[]; + public attributeValue(i: number): AttributeValueContext; + public attributeValue(i?: number): AttributeValueContext | AttributeValueContext[] { + if (i === undefined) { + return this.getRuleContexts(AttributeValueContext); + } else { + return this.getRuleContext(i, AttributeValueContext); + } } public postAttributeValueWhitespace(): PostAttributeValueWhitespaceContext { return this.getRuleContext(0, PostAttributeValueWhitespaceContext); } + public EQUAL(): TerminalNode | undefined { + return this.tryGetToken(SelectionAutoCompleteParser.EQUAL, 0); + } constructor(ctx: TraversalAllowedExprContext) { super(ctx.parent, ctx.invokingState); this.copyFrom(ctx); @@ -2241,6 +2288,47 @@ export class IncompleteAttributeExpressionMissingValueContext extends Incomplete } } } +export class IncompleteAttributeExpressionMissingSecondValueContext extends IncompleteExprContext { + public attributeName(): AttributeNameContext { + return this.getRuleContext(0, AttributeNameContext); + } + public colonToken(): ColonTokenContext { + return this.getRuleContext(0, ColonTokenContext); + } + public attributeValue(): AttributeValueContext { + return this.getRuleContext(0, AttributeValueContext); + } + public EQUAL(): TerminalNode { + return this.getToken(SelectionAutoCompleteParser.EQUAL, 0); + } + public attributeValueWhitespace(): AttributeValueWhitespaceContext { + return this.getRuleContext(0, AttributeValueWhitespaceContext); + } + constructor(ctx: IncompleteExprContext) { + super(ctx.parent, ctx.invokingState); + this.copyFrom(ctx); + } + // @Override + public enterRule(listener: SelectionAutoCompleteListener): void { + if (listener.enterIncompleteAttributeExpressionMissingSecondValue) { + listener.enterIncompleteAttributeExpressionMissingSecondValue(this); + } + } + // @Override + public exitRule(listener: SelectionAutoCompleteListener): void { + if (listener.exitIncompleteAttributeExpressionMissingSecondValue) { + listener.exitIncompleteAttributeExpressionMissingSecondValue(this); + } + } + // @Override + public accept(visitor: SelectionAutoCompleteVisitor): Result { + if (visitor.visitIncompleteAttributeExpressionMissingSecondValue) { + return visitor.visitIncompleteAttributeExpressionMissingSecondValue(this); + } else { + return visitor.visitChildren(this); + } + } +} export class ExpressionlessFunctionExpressionContext extends IncompleteExprContext { public functionName(): FunctionNameContext { return this.getRuleContext(0, FunctionNameContext); diff --git a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteVisitor.ts b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteVisitor.ts index 10446be0694df..599db58db9d7a 100644 --- a/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteVisitor.ts +++ b/js_modules/dagster-ui/packages/ui-core/src/selection/generated/SelectionAutoCompleteVisitor.ts @@ -23,6 +23,7 @@ import { FunctionNameContext, IncompleteAndExpressionContext, IncompleteAttributeExpressionMissingKeyContext, + IncompleteAttributeExpressionMissingSecondValueContext, IncompleteAttributeExpressionMissingValueContext, IncompleteExprContext, IncompleteExpressionContext, @@ -279,6 +280,16 @@ export interface SelectionAutoCompleteVisitor extends ParseTreeVisitor Result; + /** + * Visit a parse tree produced by the `IncompleteAttributeExpressionMissingSecondValue` + * labeled alternative in `SelectionAutoCompleteParser.incompleteExpr`. + * @param ctx the parse tree + * @return the visitor result + */ + visitIncompleteAttributeExpressionMissingSecondValue?: ( + ctx: IncompleteAttributeExpressionMissingSecondValueContext, + ) => Result; + /** * Visit a parse tree produced by the `ExpressionlessFunctionExpression` * labeled alternative in `SelectionAutoCompleteParser.incompleteExpr`.