any>>
+
+const nodeValuesSanitizers: NodeValueSanitizers = {}
+
+const getSanitizedNodeValue = (
+ nodeType: string,
+ valueKey: string,
+ value: unknown,
+) => {
+ const valueSanitizer = nodeValuesSanitizers?.[nodeType]?.[valueKey]
+
+ if (valueSanitizer) {
+ return valueSanitizer(value)
+ }
+
+ return value
+}
+
+const shouldCompareNode = (node: PoorNodeType) => {
+ return true
+}
+
+const isIdentifierNode = (node: PoorNodeType) =>
+ identifierNodeTypes.includes(getNodeType(node))
+
+const stringLikeLiteralUtils: StringLikeLiteralUtils = {
+ isStringLikeLiteralNode: (node: PoorNodeType) =>
+ node.nodeType === 'string_content',
+ getStringLikeLiteralValue: (node: PoorNodeType) => {
+ return node?.rawValue as string
+ },
+}
+
+const numericLiteralUtils: NumericLiteralUtils = {
+ isNumericLiteralNode: (node: PoorNodeType) => node.nodeType === 'number',
+ getNumericLiteralValue: (node: PoorNodeType) => node?.rawValue as string,
+}
+
+const programNodeAndBlockNodeUtils: ProgramNodeAndBlockNodeUtils = {
+ isProgramNode: (node: PoorNodeType) => node.nodeType === 'chunk',
+ isBlockNode: (node: PoorNodeType) => node.nodeType === 'block',
+ programNodeBodyKey: 'children',
+ blockNodeBodyKey: 'children',
+}
+
+const getNodePosition: ParserSettings['getNodePosition'] = (
+ node: PoorNodeType,
+) => ({
+ start: ((node?.loc as any)?.start?.index as number) ?? 0,
+ end: ((node?.loc as any)?.end?.index as number) ?? 0,
+ loc: node.loc as unknown as Location,
+})
+
+const getParseErrorLocation = (e: any) => ({
+ line: e.loc?.start?.line ?? 0,
+ column: e.loc?.start?.column ?? 0,
+})
+
+const alternativeNodeTypes = {
+ identifier: identifierNodeTypes,
+}
+
+const encodedIdentifierWildcardSequence = 'a_x_2_x_a'
+const encodedNodeWildcardSequence = 'a_x_3_x_a'
+
+const preprocessQueryCode = (code: string) => {
+ const queryCode = code
+ .replace(/(\$\$\$)/g, () => encodedNodeWildcardSequence)
+ .replace(/(\$\$)/g, () => encodedIdentifierWildcardSequence)
+
+ return queryCode
+}
+
+const replaceEncodedWildcards = (value: string) =>
+ value.replace(/a_x_3_x_a/g, () => '$$$').replace(/a_x_2_x_a/g, () => '$$')
+
+const postprocessQueryNode = (queryNode: PoorNodeType) => {
+ traverseAst(queryNode, isNode, getNodeType, {
+ identifier: (node) => {
+ const nodeName = node.rawValue as string
+
+ if (
+ nodeName.includes(encodedNodeWildcardSequence) ||
+ nodeName.includes(encodedIdentifierWildcardSequence)
+ ) {
+ node.rawValue = replaceEncodedWildcards(nodeName)
+ }
+ },
+ string_content: (node) => {
+ const nodeName = node.rawValue as string
+
+ if (
+ nodeName.includes(encodedNodeWildcardSequence) ||
+ nodeName.includes(encodedIdentifierWildcardSequence)
+ ) {
+ node.rawValue = replaceEncodedWildcards(nodeName)
+ }
+ },
+ })
+
+ return queryNode
+}
+
+export const pythonParser: ParserSettings = {
+ supportedExtensions,
+ parseCode,
+ isNode,
+ isIdentifierNode,
+ astPropsToSkip,
+ getProgramBodyFromRootNode,
+ getProgramNodeFromRootNode,
+ getIdentifierNodeName,
+ getNodeType,
+ unwrapExpressionStatement,
+ createBlockStatementNode,
+ getSanitizedNodeValue,
+ identifierNodeTypes,
+ setIdentifierNodeName,
+ shouldCompareNode,
+ wildcardUtils,
+ compareNodesBeforeWildcardsComparison: () => undefined,
+ compareNodesAfterWildcardsComparison: () => undefined,
+ identifierTypeAnnotationFieldName: '',
+ stringLikeLiteralUtils,
+ numericLiteralUtils,
+ programNodeAndBlockNodeUtils,
+ getNodePosition,
+ getParseErrorLocation,
+ alternativeNodeTypes,
+ preprocessQueryCode,
+ postprocessQueryNode,
+ init: parserModule.init,
+}
+
+export default pythonParser
diff --git a/packages/core/src/parserSettings/python/parseCode.ts b/packages/core/src/parserSettings/python/parseCode.ts
index 90a7892..3c398b3 100644
--- a/packages/core/src/parserSettings/python/parseCode.ts
+++ b/packages/core/src/parserSettings/python/parseCode.ts
@@ -1,12 +1,4 @@
-import Parser from 'web-tree-sitter'
-import {
- collectAstFromTree,
- getFilePaths,
- getFieldsMeta,
- getTreeSitterWasmPath,
-} from '../../treeSitterUtils'
-
-import { TreeSitterNodeFieldsMeta } from '../../types'
+import { treeSitterParserModuleFactory } from '../../treeSitterUtils'
const defineRawValueForNodeTypes = [
'identifier',
@@ -15,80 +7,10 @@ const defineRawValueForNodeTypes = [
'float',
]
-const getDefaultBasePath = () => {
- return typeof process?.cwd !== 'undefined' ? process.cwd() : '/'
-}
-
-export const parserModule = (() => {
- const treeSitterParserName = 'tree-sitter-python'
- let parser: Parser | null = null
- let parserInitError: Error | null = null
- let fieldsMeta: TreeSitterNodeFieldsMeta | null = null
-
- const filePaths = getFilePaths(treeSitterParserName)
-
- const init = async (basePathOption?: string | undefined) => {
- if (parser) {
- return
- }
-
- const basePath = basePathOption ?? getDefaultBasePath()
-
- return Parser.init({
- locateFile: () =>
- getTreeSitterWasmPath(basePath, filePaths.treeSitterWasm),
- })
- .then(async () => {
- fieldsMeta = await getFieldsMeta(basePath, filePaths.fieldsMeta)
- const Python = await Parser.Language.load(
- getTreeSitterWasmPath(basePath, filePaths.parserWasm),
- )
-
- const localParser = new Parser()
-
- localParser.setLanguage(Python)
- parser = localParser
- })
- .catch((error) => {
- console.error('Parser init error', error)
- parser = null
- parserInitError = error
- })
- }
-
- const parse = (code: string) => {
- if (parserInitError !== null) {
- throw parserInitError
- }
-
- if (parser === null) {
- throw new Error('Parser not ready')
- }
-
- if (fieldsMeta === null) {
- throw new Error("Couldn't load fields meta")
- }
-
- if (parserInitError) {
- throw parserInitError
- }
-
- const tree = parser.parse(code, undefined)
-
- const ast = collectAstFromTree(
- tree,
- code,
- defineRawValueForNodeTypes,
- fieldsMeta,
- )
-
- tree.delete()
-
- return ast ?? { nodeType: 'empty' } // this is to make TS happy, won't happen in real life.
- }
-
- return { init, parse }
-})()
+export const parserModule = treeSitterParserModuleFactory({
+ treeSitterParserName: 'tree-sitter-python',
+ defineRawValueForNodeTypes,
+})
export function parseCode(code: string) {
return parserModule.parse(code)
diff --git a/packages/core/src/parserSettings/python/settings.ts b/packages/core/src/parserSettings/python/settings.ts
index 61fa627..e2fd6cc 100644
--- a/packages/core/src/parserSettings/python/settings.ts
+++ b/packages/core/src/parserSettings/python/settings.ts
@@ -184,10 +184,3 @@ export const pythonParser: ParserSettings = {
}
export default pythonParser
-
-/**
- * TODOs:
- * - Note that python support is experimental (in search settings)
- * - Mention python in readme and keywords
- * - fix layout bug with wrapping search modes
- */
diff --git a/packages/core/src/searchStages/compareNodes.ts b/packages/core/src/searchStages/compareNodes.ts
index f3bc418..0db7618 100644
--- a/packages/core/src/searchStages/compareNodes.ts
+++ b/packages/core/src/searchStages/compareNodes.ts
@@ -146,6 +146,7 @@ export const compareNodes = (
log('First Wildcard type', firstWildcard.wildcardType)
log('wildcardWithoutAlias', firstWildcard.wildcardWithoutAlias)
+ log('MatchContext aliases', matchContext.getAllAliases())
if (isNodesTreeWildcard) {
levelMatch = true
diff --git a/packages/core/src/searchStages/searchFileContent.ts b/packages/core/src/searchStages/searchFileContent.ts
index f81f1b6..1a560eb 100644
--- a/packages/core/src/searchStages/searchFileContent.ts
+++ b/packages/core/src/searchStages/searchFileContent.ts
@@ -37,6 +37,10 @@ export const searchFileContent = ({
if (shallowSearchPassed) {
const measureParseFile = measureStart('parseFile')
+ /**
+ *
+ * Used for debugging
+ */
const getCodeForFileNode = (node: PoorNodeType) => {
const pos = settings.parserSettings.getNodePosition(node)
diff --git a/packages/core/src/searchStages/traverseAndMatch.ts b/packages/core/src/searchStages/traverseAndMatch.ts
index 166095c..92edb12 100644
--- a/packages/core/src/searchStages/traverseAndMatch.ts
+++ b/packages/core/src/searchStages/traverseAndMatch.ts
@@ -112,13 +112,18 @@ export const test_traverseAndMatchWithVisitors = (
const searchInPath = (node: PoorNodeType) => {
const matchContext = createMatchContext(initialMatchContext)
- const match = validateMatch(node, queryNode, settings, matchContext)
+ const { match, matchContext: extendedMatchContext } = validateMatch(
+ node,
+ queryNode,
+ settings,
+ matchContext,
+ )
if (match) {
const matchData = getMatchFromNode(
node,
settings.parserSettings,
- matchContext.getAllAliases(),
+ extendedMatchContext.getAllAliases(),
)
matches.push(matchData)
}
@@ -176,7 +181,7 @@ export const traverseAndMatch = (
logStepStart('traverse')
const matches = []
- const matchContext = createMatchContext(initialMatchContext)
+ const localMatchContext = createMatchContext(initialMatchContext)
/**
* LOOK FOR MATCH START
@@ -185,7 +190,8 @@ export const traverseAndMatch = (
fileNode,
queryNode,
searchSettings: settingsWithLogger,
- matchContext,
+ // To not bind ref in case rest of match is incorrect
+ matchContext: createMatchContext(initialMatchContext),
})
const foundMatchStart = levelMatch
@@ -205,7 +211,12 @@ export const traverseAndMatch = (
)
const measureValidate = measureStart('validate')
- const match = validateMatch(fileNode, queryNode, settings, matchContext)
+ const { match, matchContext: extendedMatchContext } = validateMatch(
+ fileNode,
+ queryNode,
+ settings,
+ localMatchContext,
+ )
measureValidate()
if (match) {
@@ -213,7 +224,7 @@ export const traverseAndMatch = (
getMatchFromNode(
fileNode,
parserSettings,
- matchContext.getAllAliases(),
+ extendedMatchContext.getAllAliases(),
),
)
} else {
diff --git a/packages/core/src/searchStages/validateMatch.ts b/packages/core/src/searchStages/validateMatch.ts
index eac2e58..db958fc 100644
--- a/packages/core/src/searchStages/validateMatch.ts
+++ b/packages/core/src/searchStages/validateMatch.ts
@@ -5,18 +5,19 @@ import {
PoorNodeType,
SearchSettings,
SearchSettingsWithOptionalLogger,
+ ValidateMatchReturnType,
} from '../types'
import { getKeyFromObject, noopLogger } from '../utils'
import { compareNodes } from './compareNodes'
-import { Logger } from '../logger'
-import { MatchContext } from '../matchContext'
+import { MatchContext, createMatchContext } from '../matchContext'
export const validateMatch = (
fileNode: PoorNodeType,
queryNode: PoorNodeType,
settings: SearchSettingsWithOptionalLogger & GetCodeForNode,
matchContext: MatchContext,
-) => {
+): ValidateMatchReturnType => {
+ const localMatchContext = createMatchContext(matchContext.getAllAliases())
const settingsWithLogger: SearchSettings & GetCodeForNode = {
...settings,
logger: settings.logger ?? noopLogger,
@@ -43,7 +44,7 @@ export const validateMatch = (
fileNode: fileNode,
queryNode: queryNode,
searchSettings: settingsWithLogger,
- matchContext,
+ matchContext: localMatchContext,
})
if (
@@ -88,7 +89,7 @@ export const validateMatch = (
log('nodes incompat:\n\n', 'invalid code')
}
- return false
+ return { match: false, matchContext: localMatchContext }
} else {
if (queryKeysToTraverseForValidatingMatch.length > 0) {
for (let i = 0; i < queryKeysToTraverseForValidatingMatch.length; i++) {
@@ -118,95 +119,117 @@ export const validateMatch = (
if (isExact) {
if (fileNodesArr.length !== queryNodesArr.length) {
- return false
+ return { match: false, matchContext: localMatchContext }
}
for (let i = 0; i < fileNodesArr.length; i++) {
const newCurrentNode = fileNodesArr[i]
const newCurrentQueryNode = queryNodesArr[i]
- if (
- !newCurrentNode ||
- !newCurrentQueryNode ||
- !validateMatch(
- newCurrentNode,
- newCurrentQueryNode,
- settings,
- matchContext,
- )
- ) {
- return false
+ if (!newCurrentNode || !newCurrentQueryNode) {
+ return { match: false, matchContext: localMatchContext }
+ }
+
+ const validateMatchResult = validateMatch(
+ newCurrentNode,
+ newCurrentQueryNode,
+ settings,
+ localMatchContext,
+ )
+
+ if (!validateMatchResult.match) {
+ return { match: false, matchContext: localMatchContext }
}
+
+ localMatchContext.merge(
+ validateMatchResult.matchContext.getAllAliases(),
+ )
}
} else {
if (queryNodesArr.length > fileNodesArr.length) {
log('validate: more query nodes than array nodes')
- return false
+ return { match: false, matchContext: localMatchContext }
}
- const matchedIndexes: number[] = []
+ if (mode === 'include') {
+ const matchedIndexes: number[] = []
- const queryNodesArrSorted = [...queryNodesArr].sort((a, b) =>
- sortByLeastIdentifierStrength(
- a,
- b,
- parserSettings.wildcardUtils,
- parserSettings.getIdentifierNodeName,
- ),
- )
+ const queryNodesArrSorted = [...queryNodesArr].sort((a, b) =>
+ sortByLeastIdentifierStrength(
+ a,
+ b,
+ parserSettings.wildcardUtils,
+ parserSettings.getIdentifierNodeName,
+ ),
+ )
- for (let i = 0; i < queryNodesArrSorted.length; i++) {
- const newQueryNode = queryNodesArrSorted[i]
+ for (let i = 0; i < queryNodesArrSorted.length; i++) {
+ const newQueryNode = queryNodesArrSorted[i]
- for (let j = 0; j < fileNodesArr.length; j++) {
- const newFileNode = fileNodesArr[j]
+ for (let j = 0; j < fileNodesArr.length; j++) {
+ const newFileNode = fileNodesArr[j]
- if (!matchedIndexes.includes(j)) {
- if (
- validateMatch(
+ if (!matchedIndexes.includes(j)) {
+ const validateMatchResult = validateMatch(
newFileNode,
newQueryNode,
settings,
- matchContext,
+ localMatchContext,
)
- ) {
- matchedIndexes.push(j)
- break
+
+ if (validateMatchResult.match) {
+ matchedIndexes.push(j)
+
+ localMatchContext.merge(
+ validateMatchResult.matchContext.getAllAliases(),
+ )
+
+ break
+ }
}
}
+
+ if (matchedIndexes.length !== i + 1) {
+ return { match: false, matchContext: localMatchContext }
+ }
}
- if (matchedIndexes.length !== i + 1) {
- return false
+ if (matchedIndexes.length !== queryNodesArr.length) {
+ return { match: false, matchContext: localMatchContext }
}
- }
+ } else {
+ // mode is include-with-order
- if (mode === ('include-with-order' as Mode)) {
- const propsFoundInOrder = matchedIndexes.every(
- (val, idx, arr) => {
- if (idx + 1 === arr.length) {
- return true
- } else {
- return val < arr[idx + 1]
- }
- },
- )
+ let queryNodeIndexToMatch = 0
- if (
- !propsFoundInOrder ||
- matchedIndexes.length !== queryNodesArr.length
- ) {
- return false
+ for (let j = 0; j < fileNodesArr.length; j++) {
+ const newFileNode = fileNodesArr[j]
+ const newQueryNode = queryNodesArr[queryNodeIndexToMatch]
+
+ const validateMatchResult = validateMatch(
+ newFileNode,
+ newQueryNode,
+ settings,
+ localMatchContext,
+ )
+
+ if (validateMatchResult.match) {
+ queryNodeIndexToMatch++
+
+ localMatchContext.merge(
+ validateMatchResult.matchContext.getAllAliases(),
+ )
+ }
}
- } else {
- if (matchedIndexes.length !== queryNodesArr.length) {
- return false
+
+ if (queryNodeIndexToMatch !== queryNodesArr.length) {
+ return { match: false, matchContext: localMatchContext }
}
}
-
- log('validate: non boolean return result for comparing nodes array')
}
+
+ log('validate: non boolean return result for comparing nodes array')
} else {
log('validate: is Node')
@@ -215,19 +238,36 @@ export const validateMatch = (
log('validate: newFileNode', newFileNode)
log('validate: newQueryNode', newQueryNode)
- if (
- !newFileNode ||
- !newQueryNode ||
- !validateMatch(newFileNode, newQueryNode, settings, matchContext)
- ) {
- return false
+ if (!newFileNode || !newQueryNode) {
+ return { match: false, matchContext: localMatchContext }
+ }
+
+ const validateMatchResult = validateMatch(
+ newFileNode,
+ newQueryNode,
+ settings,
+ localMatchContext,
+ )
+
+ if (!validateMatchResult.match) {
+ return { match: false, matchContext: localMatchContext }
}
+
+ localMatchContext.merge(
+ validateMatchResult.matchContext.getAllAliases(),
+ )
}
}
- return true
+ return {
+ match: true,
+ matchContext: localMatchContext,
+ }
} else {
- return true
+ return {
+ match: true,
+ matchContext: localMatchContext,
+ }
}
}
}
diff --git a/packages/core/src/treeSitterUtils.ts b/packages/core/src/treeSitterUtils.ts
index e3957f2..2a5e919 100644
--- a/packages/core/src/treeSitterUtils.ts
+++ b/packages/core/src/treeSitterUtils.ts
@@ -1,12 +1,25 @@
import type { SyntaxNode, Tree } from 'web-tree-sitter'
+import Parser from 'web-tree-sitter'
import { PoorNodeType, TreeSitterNodeFieldsMeta } from './types'
-export function collectAstFromTree(
- tree: Tree,
- codeText: string,
- defineRawValueForNodeTypes: string[],
- nodeFieldsMeta: TreeSitterNodeFieldsMeta,
-) {
+export type PostProcessNodes = Record<
+ string,
+ (node: PoorNodeType, codeText: string) => PoorNodeType
+>
+
+export function collectAstFromTree({
+ tree,
+ codeText,
+ defineRawValueForNodeTypes,
+ nodeFieldsMeta,
+ postProcessNodes,
+}: {
+ tree: Tree
+ codeText: string
+ defineRawValueForNodeTypes: string[]
+ nodeFieldsMeta: TreeSitterNodeFieldsMeta
+ postProcessNodes?: PostProcessNodes
+}) {
const getPosition = (node: SyntaxNode) => {
const startPosition = node.startPosition
const endPosition = node.endPosition
@@ -143,6 +156,10 @@ export function collectAstFromTree(
)
}
+ if (postProcessNodes?.[nodeType]) {
+ return postProcessNodes[nodeType](rawNode, codeText)
+ }
+
return rawNode
}
@@ -193,3 +210,86 @@ export const sanitizeFsPath = (fsPath: string) => {
return fsPath.replace(/\\/g, '/')
}
+
+const getDefaultBasePath = () => {
+ return typeof process?.cwd !== 'undefined' ? process.cwd() : '/'
+}
+
+export const treeSitterParserModuleFactory = ({
+ treeSitterParserName,
+ defineRawValueForNodeTypes,
+ postProcessNodes,
+}: {
+ treeSitterParserName: string
+ defineRawValueForNodeTypes: string[]
+ postProcessNodes?: PostProcessNodes
+}) => {
+ let parser: Parser | null = null
+ let parserInitError: Error | null = null
+ let fieldsMeta: TreeSitterNodeFieldsMeta | null = null
+
+ const filePaths = getFilePaths(treeSitterParserName)
+
+ const init = async (basePathOption?: string | undefined) => {
+ if (parser) {
+ return
+ }
+
+ const basePath = basePathOption ?? getDefaultBasePath()
+
+ return Parser.init({
+ locateFile: () =>
+ getTreeSitterWasmPath(basePath, filePaths.treeSitterWasm),
+ })
+ .then(async () => {
+ fieldsMeta = await getFieldsMeta(basePath, filePaths.fieldsMeta)
+ const Python = await Parser.Language.load(
+ getTreeSitterWasmPath(basePath, filePaths.parserWasm),
+ )
+
+ const localParser = new Parser()
+
+ localParser.setLanguage(Python)
+ parser = localParser
+ })
+ .catch((error) => {
+ console.error('Parser init error', error)
+ parser = null
+ parserInitError = error
+ })
+ }
+
+ const parse = (code: string) => {
+ if (parserInitError !== null) {
+ throw parserInitError
+ }
+
+ if (parser === null) {
+ throw new Error('Parser not ready')
+ }
+
+ if (fieldsMeta === null) {
+ throw new Error("Couldn't load fields meta")
+ }
+
+ if (parserInitError) {
+ throw parserInitError
+ }
+
+ const tree = parser.parse(code, undefined)
+
+ const ast = collectAstFromTree({
+ tree,
+ codeText: code,
+ defineRawValueForNodeTypes,
+ nodeFieldsMeta: fieldsMeta,
+ postProcessNodes,
+ })
+
+ tree.delete()
+
+ return ast ?? { nodeType: 'empty' } // this is to make TS happy, won't happen in real life.
+ }
+
+ return { init, parse }
+}
diff --git a/packages/core/src/types.ts b/packages/core/src/types.ts
index 2b04700..87e3d22 100644
--- a/packages/core/src/types.ts
+++ b/packages/core/src/types.ts
@@ -5,6 +5,7 @@ export type Mode = 'exact' | 'include' | 'include-with-order' | 'text'
export type Position = {
line: number
column: number
+ index?: number
}
export type Location = {
@@ -76,6 +77,8 @@ export type ParserType =
| 'angular-eslint-template-parser'
| 'css-tree'
| 'python'
+ | 'lua'
+ | 'csharp'
export type FileSystemSearchArgs = {
filePaths: string[]
@@ -292,3 +295,8 @@ export type TreeSitterNodeFieldsMeta = Record<
multipleOrChildrenFieldNames: string[]
}
>
+
+export type ValidateMatchReturnType = {
+ match: boolean
+ matchContext: MatchContext
+}
diff --git a/packages/core/tools/getAstJson/index.js b/packages/core/tools/getAstJson/index.js
index 9564c9b..9cfcb1a 100644
--- a/packages/core/tools/getAstJson/index.js
+++ b/packages/core/tools/getAstJson/index.js
@@ -18,7 +18,7 @@ const parserName = userParser ?? defaultParser
const parserSettings = __internal.parserSettingsMap[parserName]()
const runtime = async () => {
- await parserSettings?.parserInitPromise
+ await parserSettings?.init()
print('Parser loaded')
const filePathWithSourceCode = `${__dirname}/code.txt`
diff --git a/packages/eslint/README.md b/packages/eslint/README.md
index f06da48..cd5e365 100644
--- a/packages/eslint/README.md
+++ b/packages/eslint/README.md
@@ -1,3 +1,5 @@
+
+
@@ -14,26 +16,26 @@
Find and lint complex code patterns effortlessly
-___
+---
# What is CodeQue?
-CodeQue is semantic code search engine that understands the code syntax.
+CodeQue is semantic code search engine that understands the code syntax.
It matches code structurally which makes it excellent for more complex queries.
-Query language offers wildcards, partial matching and ignores code formatting.
+Query language offers wildcards, partial matching and ignores code formatting.
-Structural code search is available for JavaScript, TypesScript, HTML, CSS, Python and more soon.
+Structural code search is available for JavaScript, TypesScript, HTML, CSS, Python, Lua, C# and more soon.
-Text code search with handy wildcards is available for __every language__ and covers common regex search use cases.
+Text code search with handy wildcards is available for **every language** and covers common regex search use cases.
Give it a try in
playground
Just paste code snippet to start searching, no installation needed!
-__Integrations__
+**Integrations**
CodeQue is available as:
@@ -43,23 +45,22 @@ CodeQue is available as:
All CodeQue tools work offline hence code never leaves your local environment.
-__Coming soon__
+**Coming soon**
CodeQue will be soon available as:
- Duplicated code identification
-- Batch code refactoring
-- Advanced ESLint rule creator
-
+- Batch code refactoring
+- Advanced ESLint rule creator
🔔 Get notified about updates 🔔
-
-
+
+
## ESLint integration 💅
Using CodeQue ESLint plugin you can create your own custom linting rules in zero time.
@@ -79,6 +80,7 @@ yarn add --dev @codeque/eslint-plugin
```
CodeQue supports all parsers officially supported by ESLint
+
- [Espree](https://github.com/eslint/espree)
- [Esprima](https://www.npmjs.com/package/esprima)
- [@babel/eslint-parser](https://www.npmjs.com/package/@babel/eslint-parser)
@@ -90,7 +92,8 @@ CodeQue supports all parsers officially supported by ESLint
Add `@codeque` plugin to plugins list in your `.eslintrc`.
-And then add a definition for one of the rules:
+And then add a definition for one of the rules:
+
- `@codeque/error`
- `@codeque/warning`
@@ -104,25 +107,32 @@ Learn more about writing queries from [CodeQue docs](https://codeque.co/docs)
{
"plugins": ["@codeque"],
"rules": {
- "@codeque/error": ["error", [
- {
- "query": "fetchData()",
- "mode": "exact",
- "message": "Using fetchData() without parameters causes app crash!",
- },
- ]],
- "@codeque/warning": ["warn", [
- {
- "query": "import $$$ from 'lodash';",
- "mode": "include",
- "message": "Prefer to import lodash functions from separate packages like 'lodash.debounce'",
- },
- ]]
+ "@codeque/error": [
+ "error",
+ [
+ {
+ "query": "fetchData()",
+ "mode": "exact",
+ "message": "Using fetchData() without parameters causes app crash!"
+ }
+ ]
+ ],
+ "@codeque/warning": [
+ "warn",
+ [
+ {
+ "query": "import $$$ from 'lodash';",
+ "mode": "include",
+ "message": "Prefer to import lodash functions from separate packages like 'lodash.debounce'"
+ }
+ ]
+ ]
}
}
```
The above configuration
+
- rises an error when `fetchData()` function is called without parameters
- reports a warning when utility is imported from main `lodash` package
@@ -130,7 +140,6 @@ The above configuration
-
> If your config seems too big, feel free to extract your set of rules to a separate file. Change your `.eslintrc` to JS file and import rules from a separate file.
## Rule config object properties
@@ -138,12 +147,13 @@ The above configuration
Minimal rule config object should contain just `query` key
```js
-({
- query: "someCode"
+;({
+ query: 'someCode',
})
```
The default settings are:
+
- `mode` - `include`
- `message` - `Restricted code pattern`
- `caseInsensitive` - `true`
@@ -156,7 +166,7 @@ All configuration options
type RuleConfig = {
query: string // Content of the query
mode: 'exact' | 'include' | 'include-with-order' // CodeQue search mode
- message: string // Error message to display
+ message: string // Error message to display
caseInsensitive: boolean // Whether query should perform matches case insensitively
includeFiles: string[] | undefined // list of glob patterns to indicate files against which given rule should be executed
excludeFiles: string[] // list of glob patterns to indicate files against which given rule should not be executed
@@ -165,7 +175,7 @@ type RuleConfig = {
## Rule examples
-CodeQue is general purpose code search tool. The examples list could be endless. Here are some of them for you to get a glimpse of what's possible. Those are relatively simple, you will definitely find some more complex during day to day work.
+CodeQue is general purpose code search tool. The examples list could be endless. Here are some of them for you to get a glimpse of what's possible. Those are relatively simple, you will definitely find some more complex during day to day work.
> Don't know how to write a query? [Open an issue on GitHub](https://github.com/codeque-co/codeque/issues) !
@@ -181,13 +191,16 @@ This rule warns about all places in the code that can output some (usually unwan
```json
{
"rules": {
- "@codeque/warning": ["warn", [
- {
- "query": "console.$$()",
- "mode": "include",
- "message": "Prefer to use 'Logger' util.",
- },
- ]]
+ "@codeque/warning": [
+ "warn",
+ [
+ {
+ "query": "console.$$()",
+ "mode": "include",
+ "message": "Prefer to use 'Logger' util."
+ }
+ ]
+ ]
}
}
```
@@ -210,14 +223,17 @@ The rule warns against using `disabled` property on `SomeLibComponent`, and sugg
```json
{
"rules": {
- "@codeque/warning": ["warn", [
- {
- "query": " ",
- "mode": "include",
- "message": "'disabled' property does not work as expected. Use 'isDisabled' instead",
- "includeFiles": ["**/*.tsx"]
- },
- ]]
+ "@codeque/warning": [
+ "warn",
+ [
+ {
+ "query": " ",
+ "mode": "include",
+ "message": "'disabled' property does not work as expected. Use 'isDisabled' instead",
+ "includeFiles": ["**/*.tsx"]
+ }
+ ]
+ ]
}
}
```
@@ -242,20 +258,22 @@ This is interesting example that links together two statements in the same code
```json
{
"rules": {
- "@codeque/error": ["error", [
- {
- "query": "const { confirm } = useAsyncDialog(); const $$ = useCallback($$$, [confirm]);",
- "mode": "include",
- "message": "'confirm' is known to be unstable. Using it in hook dependency array can cause render loop",
- },
- ]]
+ "@codeque/error": [
+ "error",
+ [
+ {
+ "query": "const { confirm } = useAsyncDialog(); const $$ = useCallback($$$, [confirm]);",
+ "mode": "include",
+ "message": "'confirm' is known to be unstable. Using it in hook dependency array can cause render loop"
+ }
+ ]
+ ]
}
}
```
-
@@ -266,34 +284,35 @@ First rule restricts usage of object literal as a prop. Object literal could be
Second rule restricts places where a given array is mapped directly in JSX. It could be memoized to make the array reference stable and reduce re-renders.
-
Show configuration
```json
{
"rules": {
- "@codeque/error": ["error", [
- {
- "query": "<$$ $$={{}} />",
- "mode": "include",
- "message": "Don't use object literal in JSX props",
- "includeFiles": ["**/*.tsx"]
- },
- {
- "query": "<$$ $$={$$$.map(() => ($$$))} />",
- "mode": "include",
- "message": "Don't use map directly in JSX, memoize map result instead",
- "includeFiles": ["**/*.tsx"]
- },
- ]]
+ "@codeque/error": [
+ "error",
+ [
+ {
+ "query": "<$$ $$={{}} />",
+ "mode": "include",
+ "message": "Don't use object literal in JSX props",
+ "includeFiles": ["**/*.tsx"]
+ },
+ {
+ "query": "<$$ $$={$$$.map(() => ($$$))} />",
+ "mode": "include",
+ "message": "Don't use map directly in JSX, memoize map result instead",
+ "includeFiles": ["**/*.tsx"]
+ }
+ ]
+ ]
}
}
```
-
@@ -306,9 +325,9 @@ CodeQue performs shallow matching based on strings in query, so it can filter ou
Query that contains wildcards only, eg. `$$.$$()` will be looked for in every file, as query does not include any specific characters sequence.
-However query `console.$$()` would match only on files that contains `console` string somewhere within it's contents.
+However query `console.$$()` would match only on files that contains `console` string somewhere within it's contents.
-Remember to be as specific as possible and use file filtering options eg. to not run JSX rules on `*.js` files.
+Remember to be as specific as possible and use file filtering options eg. to not run JSX rules on `*.js` files.
CodeQue will run faster for more specific patterns that occurs rarely in the codebase. If pattern is very common, it would have to do more comparisons, hence would run longer.
@@ -331,7 +350,7 @@ Linting code pattern specific to your code base is what CodeQue eslint integrati
Rule from examples section that captures issue with unstable hook reference occurs rare in the codebase, but can prevent various important bugs.
```
-const { confirm } = useAsyncDialog();
+const { confirm } = useAsyncDialog();
const $$ = useCallback($$$, [confirm]);
```
@@ -355,8 +374,7 @@ Rule | Time (ms) | Relative
@codeque/warning | 28.286 | 100.0%
```
-
-And for new introduction of the pattern while you code, it will be captures in ~30ms
+And for new introduction of the pattern while you code, it will be captures in ~30ms
```sh
✖ 1 problems (0 errors, 1 warning)
@@ -366,13 +384,13 @@ Rule | Time (ms) | Relative
@codeque/warning | 30.553 | 100.0%
```
-It's not much comparing to the value it gives.
+It's not much comparing to the value it gives.
Consider how much time it would take to implement such rule with standard approach. No one has budget for that and instead time will be spend on fixing bugs.
#### Capturing restricted imports
-Here is the comparison of `no-restricted-imports` ESLint rule with CodeQue rule.
+Here is the comparison of `no-restricted-imports` ESLint rule with CodeQue rule.
Both restricts importing `useCallback` from `react`.
@@ -393,7 +411,6 @@ Rule | Time (ms) | Relative
no-restricted-imports | 30.239 | 43.9%
```
-
#### Restricting console usage
The performance result of ESLint `no-console` rule comparing to CodeQue `console.$$()` query on TypeScript codebase with ~4000 source files.
@@ -409,7 +426,6 @@ Rule | Time (ms) | Relative
no-console | 21.482 | 20.9%
```
-
## Telemetry
Plugin collects completely anonymous telemetry that helps me get insights about usage.
@@ -424,6 +440,7 @@ Learn more about [telemetry](https://codeque.co/docs/telemetry#es-lint-plugin)
Feel free to use [Github Issues](https://github.com/codeque-co/codeque/issues)
to
+
- ask for help with writing a query
- report a bug or doubt
-- suggest feature or improvement
\ No newline at end of file
+- suggest feature or improvement
diff --git a/packages/eslint/package.json b/packages/eslint/package.json
index a3cd42a..1a2bacc 100644
--- a/packages/eslint/package.json
+++ b/packages/eslint/package.json
@@ -1,6 +1,6 @@
{
"name": "@codeque/eslint-plugin",
- "version": "0.1.1",
+ "version": "0.1.2",
"description": "Create custom ESLint rules based on code samples. Utilizing CodeQue - structural code search engine.",
"author": "Jakub Mazurek (@jayu) ",
"license": "Sustainable Use License",
@@ -32,7 +32,7 @@
"ts-jest": "^27.1.1"
},
"dependencies": {
- "@codeque/core": "^0.5.0",
+ "@codeque/core": "^0.6.1",
"applicationinsights": "^2.7.0",
"is-ci": "^3.0.1",
"node-machine-id": "^1.1.12"
diff --git a/packages/eslint/src/lintCode.ts b/packages/eslint/src/lintCode.ts
index 504aa3e..9cb4385 100644
--- a/packages/eslint/src/lintCode.ts
+++ b/packages/eslint/src/lintCode.ts
@@ -243,7 +243,7 @@ export const createLintCode = (
}
const matchContext = __internal.createMatchContext()
- const match = __internal.validateMatch(
+ const { match } = __internal.validateMatch(
node,
queryWithSettings.parsedQuery.queryNode,
searchOptions,
diff --git a/packages/tree-sitter-port/output/tree-sitter-c-sharp/fields-meta.json b/packages/tree-sitter-port/output/tree-sitter-c-sharp/fields-meta.json
index f9af177..b9a5289 100644
--- a/packages/tree-sitter-port/output/tree-sitter-c-sharp/fields-meta.json
+++ b/packages/tree-sitter-port/output/tree-sitter-c-sharp/fields-meta.json
@@ -41,61 +41,60 @@
"type": "anonymous_object_creation_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
- "with_expression": "children",
- "name_equals": "children"
+ "typeof_expression": "children",
+ "with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -103,61 +102,61 @@
"type": "argument",
"singleFieldNames": ["name"],
"nodeTypeToMultipleFieldName": {
+ "declaration_expression": "children",
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
- "with_expression": "children",
- "declaration_expression": "children"
+ "typeof_expression": "children",
+ "with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -181,59 +180,59 @@
"type": "array_rank_specifier",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -248,59 +247,59 @@
"type": "arrow_expression_clause",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -313,15 +312,7 @@
},
"assignment_expression": {
"type": "assignment_expression",
- "singleFieldNames": ["left", "right"],
- "nodeTypeToMultipleFieldName": {
- "assignment_operator": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "assignment_operator": {
- "type": "assignment_operator",
- "singleFieldNames": [],
+ "singleFieldNames": ["left", "operator", "right"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
@@ -337,62 +328,60 @@
"type": "attribute_argument",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
- "with_expression": "children",
- "name_colon": "children",
- "name_equals": "children"
+ "typeof_expression": "children",
+ "with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -423,78 +412,73 @@
"type": "await_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "base_expression": {
- "type": "base_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"base_list": {
"type": "base_list",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "argument_list": "children",
+ "primary_constructor_base_type": "children",
"alias_qualified_name": "children",
"array_type": "children",
"function_pointer_type": "children",
"generic_name": "children",
- "global": "children",
"identifier": "children",
"implicit_type": "children",
"nullable_type": "children",
@@ -503,8 +487,7 @@
"qualified_name": "children",
"ref_type": "children",
"scoped_type": "children",
- "tuple_type": "children",
- "primary_constructor_base_type": "children"
+ "tuple_type": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -526,14 +509,15 @@
"empty_statement": "children",
"expression_statement": "children",
"fixed_statement": "children",
- "for_each_statement": "children",
"for_statement": "children",
+ "foreach_statement": "children",
"goto_statement": "children",
"if_statement": "children",
"labeled_statement": "children",
"local_declaration_statement": "children",
"local_function_statement": "children",
"lock_statement": "children",
+ "preproc_if": "children",
"return_statement": "children",
"switch_statement": "children",
"throw_statement": "children",
@@ -577,165 +561,92 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "case_pattern_switch_label": {
- "type": "case_pattern_switch_label",
+ "calling_convention": {
+ "type": "calling_convention",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "and_pattern": "children",
- "constant_pattern": "children",
- "declaration_pattern": "children",
- "discard": "children",
- "list_pattern": "children",
- "negated_pattern": "children",
- "or_pattern": "children",
- "parenthesized_pattern": "children",
- "recursive_pattern": "children",
- "relational_pattern": "children",
- "type_pattern": "children",
- "var_pattern": "children",
- "when_clause": "children"
+ "identifier": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "cast_expression": {
+ "type": "cast_expression",
+ "singleFieldNames": ["type", "value"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "catch_clause": {
+ "type": "catch_clause",
+ "singleFieldNames": ["body"],
+ "nodeTypeToMultipleFieldName": {
+ "catch_declaration": "children",
+ "catch_filter_clause": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "case_switch_label": {
- "type": "case_switch_label",
+ "catch_declaration": {
+ "type": "catch_declaration",
+ "singleFieldNames": ["name", "type"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "catch_filter_clause": {
+ "type": "catch_filter_clause",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
- "query_expression": "children",
- "range_expression": "children",
"raw_string_literal": "children",
"real_literal": "children",
- "ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
"string_literal": "children",
- "switch_expression": "children",
- "this_expression": "children",
- "throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
"verbatim_string_literal": "children",
- "with_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "cast_expression": {
- "type": "cast_expression",
- "singleFieldNames": ["type", "value"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "catch_clause": {
- "type": "catch_clause",
- "singleFieldNames": ["body"],
- "nodeTypeToMultipleFieldName": {
- "catch_declaration": "children",
- "catch_filter_clause": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "catch_declaration": {
- "type": "catch_declaration",
- "singleFieldNames": ["name", "type"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "catch_filter_clause": {
- "type": "catch_filter_clause",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "anonymous_method_expression": "children",
- "anonymous_object_creation_expression": "children",
- "array_creation_expression": "children",
- "as_expression": "children",
- "assignment_expression": "children",
- "await_expression": "children",
- "base_expression": "children",
- "binary_expression": "children",
- "boolean_literal": "children",
- "cast_expression": "children",
- "character_literal": "children",
- "checked_expression": "children",
- "conditional_access_expression": "children",
- "conditional_expression": "children",
- "default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
- "implicit_array_creation_expression": "children",
- "implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
- "initializer_expression": "children",
- "integer_literal": "children",
- "interpolated_string_expression": "children",
- "invocation_expression": "children",
- "is_expression": "children",
- "is_pattern_expression": "children",
- "lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
- "null_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -744,7 +655,7 @@
"type": "character_literal",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "character_literal_unescaped": "children",
+ "character_literal_content": "children",
"escape_sequence": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -753,59 +664,59 @@
"type": "checked_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -820,11 +731,14 @@
},
"class_declaration": {
"type": "class_declaration",
- "singleFieldNames": ["bases", "body", "name", "type_parameters"],
+ "singleFieldNames": ["body", "name"],
"nodeTypeToMultipleFieldName": {
"attribute_list": "children",
+ "base_list": "children",
"modifier": "children",
- "type_parameter_constraints_clause": "children"
+ "parameter_list": "children",
+ "type_parameter_constraints_clause": "children",
+ "type_parameter_list": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -832,17 +746,18 @@
"type": "compilation_unit",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "class_declaration": "children",
- "delegate_declaration": "children",
- "enum_declaration": "children",
"extern_alias_directive": "children",
"file_scoped_namespace_declaration": "children",
- "global_attribute_list": "children",
+ "global_attribute": "children",
"global_statement": "children",
- "interface_declaration": "children",
"namespace_declaration": "children",
+ "preproc_if": "children",
+ "shebang_directive": "children",
+ "class_declaration": "children",
+ "delegate_declaration": "children",
+ "enum_declaration": "children",
+ "interface_declaration": "children",
"record_declaration": "children",
- "record_struct_declaration": "children",
"struct_declaration": "children",
"using_directive": "children"
},
@@ -868,28 +783,27 @@
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"default_expression": "children",
"generic_name": "children",
- "global": "children",
"identifier": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
- "parenthesized_expression": "children",
- "postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
"raw_string_literal": "children",
"real_literal": "children",
- "size_of_expression": "children",
"string_literal": "children",
+ "verbatim_string_literal": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "postfix_unary_expression": "children",
+ "prefix_unary_expression": "children",
+ "sizeof_expression": "children",
"tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children"
+ "typeof_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -957,9 +871,9 @@
"method_declaration": "children",
"namespace_declaration": "children",
"operator_declaration": "children",
+ "preproc_if": "children",
"property_declaration": "children",
"record_declaration": "children",
- "record_struct_declaration": "children",
"struct_declaration": "children",
"using_directive": "children"
},
@@ -980,20 +894,6 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "default_switch_label": {
- "type": "default_switch_label",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "define_directive": {
- "type": "define_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "identifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
"delegate_declaration": {
"type": "delegate_declaration",
"singleFieldNames": ["name", "parameters", "type", "type_parameters"],
@@ -1014,88 +914,9 @@
},
"do_statement": {
"type": "do_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "anonymous_method_expression": "children",
- "anonymous_object_creation_expression": "children",
- "array_creation_expression": "children",
- "as_expression": "children",
- "assignment_expression": "children",
- "await_expression": "children",
- "base_expression": "children",
- "binary_expression": "children",
- "boolean_literal": "children",
- "cast_expression": "children",
- "character_literal": "children",
- "checked_expression": "children",
- "conditional_access_expression": "children",
- "conditional_expression": "children",
- "default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
- "implicit_array_creation_expression": "children",
- "implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
- "initializer_expression": "children",
- "integer_literal": "children",
- "interpolated_string_expression": "children",
- "invocation_expression": "children",
- "is_expression": "children",
- "is_pattern_expression": "children",
- "lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
- "null_literal": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
- "query_expression": "children",
- "range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
- "ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
- "switch_expression": "children",
- "this_expression": "children",
- "throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
- "with_expression": "children",
- "block": "children",
- "break_statement": "children",
- "checked_statement": "children",
- "continue_statement": "children",
- "do_statement": "children",
- "empty_statement": "children",
- "expression_statement": "children",
- "fixed_statement": "children",
- "for_each_statement": "children",
- "for_statement": "children",
- "goto_statement": "children",
- "if_statement": "children",
- "labeled_statement": "children",
- "local_declaration_statement": "children",
- "local_function_statement": "children",
- "lock_statement": "children",
- "return_statement": "children",
- "switch_statement": "children",
- "throw_statement": "children",
- "try_statement": "children",
- "unsafe_statement": "children",
- "using_statement": "children",
- "while_statement": "children",
- "yield_statement": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
+ "singleFieldNames": ["body", "condition"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
},
"element_access_expression": {
"type": "element_access_expression",
@@ -1107,49 +928,22 @@
"type": "element_binding_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "bracketed_argument_list": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "elif_directive": {
- "type": "elif_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "binary_expression": "children",
- "boolean_literal": "children",
- "identifier": "children",
- "integer_literal": "children",
- "parenthesized_expression": "children",
- "prefix_unary_expression": "children",
- "verbatim_string_literal": "children"
+ "argument": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "else_directive": {
- "type": "else_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"empty_statement": {
"type": "empty_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "endregion_directive": {
- "type": "endregion_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "preproc_message": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
"enum_declaration": {
"type": "enum_declaration",
- "singleFieldNames": ["bases", "body", "name"],
+ "singleFieldNames": ["body", "name"],
"nodeTypeToMultipleFieldName": {
"attribute_list": "children",
+ "base_list": "children",
"modifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -1166,91 +960,23 @@
"type": "enum_member_declaration_list",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "enum_member_declaration": "children"
+ "enum_member_declaration": "children",
+ "preproc_if": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "event_declaration": {
+ "type": "event_declaration",
+ "singleFieldNames": ["accessors", "name", "type"],
+ "nodeTypeToMultipleFieldName": {
+ "attribute_list": "children",
+ "explicit_interface_specifier": "children",
+ "modifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "equals_value_clause": {
- "type": "equals_value_clause",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "anonymous_method_expression": "children",
- "anonymous_object_creation_expression": "children",
- "array_creation_expression": "children",
- "as_expression": "children",
- "assignment_expression": "children",
- "await_expression": "children",
- "base_expression": "children",
- "binary_expression": "children",
- "boolean_literal": "children",
- "cast_expression": "children",
- "character_literal": "children",
- "checked_expression": "children",
- "conditional_access_expression": "children",
- "conditional_expression": "children",
- "default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
- "implicit_array_creation_expression": "children",
- "implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
- "initializer_expression": "children",
- "integer_literal": "children",
- "interpolated_string_expression": "children",
- "invocation_expression": "children",
- "is_expression": "children",
- "is_pattern_expression": "children",
- "lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
- "null_literal": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
- "query_expression": "children",
- "range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
- "ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
- "switch_expression": "children",
- "this_expression": "children",
- "throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
- "with_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "error_directive": {
- "type": "error_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "preproc_message": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "event_declaration": {
- "type": "event_declaration",
- "singleFieldNames": ["accessors", "name", "type"],
- "nodeTypeToMultipleFieldName": {
- "attribute_list": "children",
- "explicit_interface_specifier": "children",
- "modifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "event_field_declaration": {
- "type": "event_field_declaration",
+ "event_field_declaration": {
+ "type": "event_field_declaration",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
"attribute_list": "children",
@@ -1261,68 +987,12 @@
},
"explicit_interface_specifier": {
"type": "explicit_interface_specifier",
- "singleFieldNames": ["name"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "expression_colon": {
- "type": "expression_colon",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "anonymous_method_expression": "children",
- "anonymous_object_creation_expression": "children",
- "array_creation_expression": "children",
- "as_expression": "children",
- "assignment_expression": "children",
- "await_expression": "children",
- "base_expression": "children",
- "binary_expression": "children",
- "boolean_literal": "children",
- "cast_expression": "children",
- "character_literal": "children",
- "checked_expression": "children",
- "conditional_access_expression": "children",
- "conditional_expression": "children",
- "default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
+ "alias_qualified_name": "children",
"generic_name": "children",
- "global": "children",
"identifier": "children",
- "implicit_array_creation_expression": "children",
- "implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
- "initializer_expression": "children",
- "integer_literal": "children",
- "interpolated_string_expression": "children",
- "invocation_expression": "children",
- "is_expression": "children",
- "is_pattern_expression": "children",
- "lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
- "null_literal": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
- "query_expression": "children",
- "range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
- "ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
- "switch_expression": "children",
- "this_expression": "children",
- "throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
- "with_expression": "children"
+ "qualified_name": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -1359,18 +1029,8 @@
"file_scoped_namespace_declaration": {
"type": "file_scoped_namespace_declaration",
"singleFieldNames": ["name"],
- "nodeTypeToMultipleFieldName": {
- "class_declaration": "children",
- "delegate_declaration": "children",
- "enum_declaration": "children",
- "extern_alias_directive": "children",
- "interface_declaration": "children",
- "record_declaration": "children",
- "record_struct_declaration": "children",
- "struct_declaration": "children",
- "using_directive": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
},
"finally_clause": {
"type": "finally_clause",
@@ -1392,14 +1052,15 @@
"empty_statement": "children",
"expression_statement": "children",
"fixed_statement": "children",
- "for_each_statement": "children",
"for_statement": "children",
+ "foreach_statement": "children",
"goto_statement": "children",
"if_statement": "children",
"labeled_statement": "children",
"local_declaration_statement": "children",
"local_function_statement": "children",
"lock_statement": "children",
+ "preproc_if": "children",
"return_statement": "children",
"switch_statement": "children",
"throw_statement": "children",
@@ -1412,185 +1073,162 @@
},
"multipleOrChildrenFieldNames": ["children"]
},
- "for_each_statement": {
- "type": "for_each_statement",
- "singleFieldNames": ["body", "left", "right", "type"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"for_statement": {
"type": "for_statement",
"singleFieldNames": ["body", "condition"],
"nodeTypeToMultipleFieldName": {
",": "update",
+ "element_access_expression": "update",
+ "element_binding_expression": "update",
+ "generic_name": "update",
+ "identifier": "update",
+ "member_access_expression": "update",
+ "parenthesized_expression": "update",
+ "prefix_unary_expression": "update",
+ "this": "update",
+ "tuple_expression": "update",
"anonymous_method_expression": "update",
"anonymous_object_creation_expression": "update",
"array_creation_expression": "update",
"as_expression": "update",
"assignment_expression": "update",
"await_expression": "update",
- "base_expression": "update",
+ "base": "update",
"binary_expression": "update",
- "boolean_literal": "update",
"cast_expression": "update",
- "character_literal": "update",
"checked_expression": "update",
"conditional_access_expression": "update",
"conditional_expression": "update",
"default_expression": "update",
- "element_access_expression": "update",
- "element_binding_expression": "update",
- "generic_name": "update",
- "global": "update",
- "identifier": "update",
"implicit_array_creation_expression": "update",
"implicit_object_creation_expression": "update",
- "implicit_stack_alloc_array_creation_expression": "update",
+ "implicit_stackalloc_expression": "update",
"initializer_expression": "update",
- "integer_literal": "update",
"interpolated_string_expression": "update",
"invocation_expression": "update",
"is_expression": "update",
"is_pattern_expression": "update",
"lambda_expression": "update",
- "make_ref_expression": "update",
- "member_access_expression": "update",
+ "boolean_literal": "update",
+ "character_literal": "update",
+ "integer_literal": "update",
"null_literal": "update",
+ "raw_string_literal": "update",
+ "real_literal": "update",
+ "string_literal": "update",
+ "verbatim_string_literal": "update",
+ "makeref_expression": "update",
"object_creation_expression": "update",
- "parenthesized_expression": "update",
"postfix_unary_expression": "update",
- "prefix_unary_expression": "update",
+ "preproc_if": "update",
"query_expression": "update",
"range_expression": "update",
- "raw_string_literal": "update",
- "real_literal": "update",
"ref_expression": "update",
- "ref_type_expression": "update",
- "ref_value_expression": "update",
- "size_of_expression": "update",
- "stack_alloc_array_creation_expression": "update",
- "string_literal": "update",
+ "reftype_expression": "update",
+ "refvalue_expression": "update",
+ "sizeof_expression": "update",
+ "stackalloc_expression": "update",
"switch_expression": "update",
- "this_expression": "update",
"throw_expression": "update",
- "tuple_expression": "update",
- "type_of_expression": "update",
- "verbatim_string_literal": "update",
+ "typeof_expression": "update",
"with_expression": "update",
"variable_declaration": "initializer"
},
"multipleOrChildrenFieldNames": ["initializer", "update"]
},
+ "foreach_statement": {
+ "type": "foreach_statement",
+ "singleFieldNames": ["body", "left", "right", "type"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"from_clause": {
"type": "from_clause",
"singleFieldNames": ["name", "type"],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "function_pointer_calling_convention": {
- "type": "function_pointer_calling_convention",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "function_pointer_unmanaged_calling_convention_list": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
"function_pointer_parameter": {
"type": "function_pointer_parameter",
"singleFieldNames": ["type"],
- "nodeTypeToMultipleFieldName": {
- "parameter_modifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
},
"function_pointer_type": {
"type": "function_pointer_type",
- "singleFieldNames": [],
+ "singleFieldNames": ["returns"],
"nodeTypeToMultipleFieldName": {
- "function_pointer_calling_convention": "children",
+ "calling_convention": "children",
"function_pointer_parameter": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "function_pointer_unmanaged_calling_convention": {
- "type": "function_pointer_unmanaged_calling_convention",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "identifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "function_pointer_unmanaged_calling_convention_list": {
- "type": "function_pointer_unmanaged_calling_convention_list",
+ "generic_name": {
+ "type": "generic_name",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "function_pointer_unmanaged_calling_convention": "children"
+ "identifier": "children",
+ "type_argument_list": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "generic_name": {
- "type": "generic_name",
- "singleFieldNames": ["name", "type_arguments"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "global_attribute_list": {
- "type": "global_attribute_list",
+ "global_attribute": {
+ "type": "global_attribute",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
"attribute": "children"
@@ -1609,14 +1247,15 @@
"empty_statement": "children",
"expression_statement": "children",
"fixed_statement": "children",
- "for_each_statement": "children",
"for_statement": "children",
+ "foreach_statement": "children",
"goto_statement": "children",
"if_statement": "children",
"labeled_statement": "children",
"local_declaration_statement": "children",
"local_function_statement": "children",
"lock_statement": "children",
+ "preproc_if": "children",
"return_statement": "children",
"switch_statement": "children",
"throw_statement": "children",
@@ -1632,59 +1271,59 @@
"type": "goto_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -1693,59 +1332,59 @@
"type": "group_clause",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
- "null_literal": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
+ "null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -1756,20 +1395,6 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "if_directive": {
- "type": "if_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "binary_expression": "children",
- "boolean_literal": "children",
- "identifier": "children",
- "integer_literal": "children",
- "parenthesized_expression": "children",
- "prefix_unary_expression": "children",
- "verbatim_string_literal": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
"if_statement": {
"type": "if_statement",
"singleFieldNames": ["alternative", "condition", "consequence"],
@@ -1793,16 +1418,14 @@
},
"multipleOrChildrenFieldNames": ["children"]
},
- "implicit_parameter_list": {
- "type": "implicit_parameter_list",
+ "implicit_parameter": {
+ "type": "implicit_parameter",
"singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "parameter": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
},
- "implicit_stack_alloc_array_creation_expression": {
- "type": "implicit_stack_alloc_array_creation_expression",
+ "implicit_stackalloc_expression": {
+ "type": "implicit_stackalloc_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
"initializer_expression": "children"
@@ -1829,163 +1452,146 @@
"type": "initializer_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
"interface_declaration": {
"type": "interface_declaration",
- "singleFieldNames": ["bases", "body", "name", "type_parameters"],
+ "singleFieldNames": ["body", "name", "type_parameters"],
"nodeTypeToMultipleFieldName": {
"attribute_list": "children",
+ "base_list": "children",
"modifier": "children",
"type_parameter_constraints_clause": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "interpolated_raw_string_text": {
- "type": "interpolated_raw_string_text",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"interpolated_string_expression": {
"type": "interpolated_string_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "interpolated_raw_string_text": "children",
- "interpolated_string_text": "children",
- "interpolated_verbatim_string_text": "children",
- "interpolation": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "interpolated_string_text": {
- "type": "interpolated_string_text",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "escape_sequence": "children"
+ "escape_sequence": "children",
+ "interpolation": "children",
+ "interpolation_quote": "children",
+ "interpolation_start": "children",
+ "string_content": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "interpolated_verbatim_string_text": {
- "type": "interpolated_verbatim_string_text",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"interpolation": {
"type": "interpolation",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children",
"interpolation_alignment_clause": "children",
+ "interpolation_brace": "children",
"interpolation_format_clause": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -1994,59 +1600,59 @@
"type": "interpolation_alignment_clause",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -2077,61 +1683,61 @@
},
"join_clause": {
"type": "join_clause",
- "singleFieldNames": ["name", "type"],
+ "singleFieldNames": ["type"],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children",
"join_into_clause": "children"
},
@@ -2149,6 +1755,7 @@
"type": "labeled_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "identifier": "children",
"block": "children",
"break_statement": "children",
"checked_statement": "children",
@@ -2157,14 +1764,15 @@
"empty_statement": "children",
"expression_statement": "children",
"fixed_statement": "children",
- "for_each_statement": "children",
"for_statement": "children",
+ "foreach_statement": "children",
"goto_statement": "children",
"if_statement": "children",
"labeled_statement": "children",
"local_declaration_statement": "children",
"local_function_statement": "children",
"lock_statement": "children",
+ "preproc_if": "children",
"return_statement": "children",
"switch_statement": "children",
"throw_statement": "children",
@@ -2172,8 +1780,7 @@
"unsafe_statement": "children",
"using_statement": "children",
"while_statement": "children",
- "yield_statement": "children",
- "identifier": "children"
+ "yield_statement": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -2190,72 +1797,63 @@
"type": "let_clause",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "line_directive": {
- "type": "line_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "preproc_integer_literal": "children",
- "preproc_string_literal": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
"list_pattern": {
"type": "list_pattern",
"singleFieldNames": [],
@@ -2270,20 +1868,11 @@
"parenthesized_pattern": "children",
"recursive_pattern": "children",
"relational_pattern": "children",
- "slice_pattern": "children",
"type_pattern": "children",
"var_pattern": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "load_directive": {
- "type": "load_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "preproc_string_literal": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
"local_declaration_statement": {
"type": "local_declaration_statement",
"singleFieldNames": [],
@@ -2313,59 +1902,59 @@
"type": "lock_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children",
"block": "children",
"break_statement": "children",
@@ -2375,8 +1964,8 @@
"empty_statement": "children",
"expression_statement": "children",
"fixed_statement": "children",
- "for_each_statement": "children",
"for_statement": "children",
+ "foreach_statement": "children",
"goto_statement": "children",
"if_statement": "children",
"labeled_statement": "children",
@@ -2394,63 +1983,63 @@
},
"multipleOrChildrenFieldNames": ["children"]
},
- "make_ref_expression": {
- "type": "make_ref_expression",
+ "makeref_expression": {
+ "type": "makeref_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -2473,7 +2062,7 @@
"body",
"name",
"parameters",
- "type",
+ "returns",
"type_parameters"
],
"nodeTypeToMultipleFieldName": {
@@ -2490,21 +2079,6 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "name_colon": {
- "type": "name_colon",
- "singleFieldNames": ["name"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "name_equals": {
- "type": "name_equals",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "global": "children",
- "identifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
"namespace_declaration": {
"type": "namespace_declaration",
"singleFieldNames": ["body", "name"],
@@ -2530,12 +2104,6 @@
},
"multipleOrChildrenFieldNames": ["children"]
},
- "nullable_directive": {
- "type": "nullable_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"nullable_type": {
"type": "nullable_type",
"singleFieldNames": ["type"],
@@ -2568,59 +2136,59 @@
"type": "order_by_clause",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -2630,8 +2198,61 @@
"singleFieldNames": ["name", "type"],
"nodeTypeToMultipleFieldName": {
"attribute_list": "children",
- "equals_value_clause": "children",
- "parameter_modifier": "children"
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
+ "anonymous_method_expression": "children",
+ "anonymous_object_creation_expression": "children",
+ "array_creation_expression": "children",
+ "as_expression": "children",
+ "assignment_expression": "children",
+ "await_expression": "children",
+ "base": "children",
+ "binary_expression": "children",
+ "cast_expression": "children",
+ "checked_expression": "children",
+ "conditional_access_expression": "children",
+ "conditional_expression": "children",
+ "default_expression": "children",
+ "implicit_array_creation_expression": "children",
+ "implicit_object_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
+ "initializer_expression": "children",
+ "interpolated_string_expression": "children",
+ "invocation_expression": "children",
+ "is_expression": "children",
+ "is_pattern_expression": "children",
+ "lambda_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
+ "null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
+ "object_creation_expression": "children",
+ "postfix_unary_expression": "children",
+ "preproc_if": "children",
+ "query_expression": "children",
+ "range_expression": "children",
+ "ref_expression": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
+ "switch_expression": "children",
+ "throw_expression": "children",
+ "typeof_expression": "children",
+ "with_expression": "children",
+ "modifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -2651,60 +2272,61 @@
"type": "parenthesized_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
- "with_expression": "children"
+ "typeof_expression": "children",
+ "with_expression": "children",
+ "unary_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -2755,286 +2377,634 @@
"type": "postfix_unary_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "pragma_directive": {
- "type": "pragma_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "identifier": "children",
- "integer_literal": "children",
- "preproc_string_literal": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
"prefix_unary_expression": {
"type": "prefix_unary_expression",
- "singleFieldNames": ["argument", "operator"],
+ "singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "primary_constructor_base_type": {
- "type": "primary_constructor_base_type",
- "singleFieldNames": ["type"],
- "nodeTypeToMultipleFieldName": {
- "argument_list": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "property_declaration": {
- "type": "property_declaration",
- "singleFieldNames": ["accessors", "name", "type", "value"],
- "nodeTypeToMultipleFieldName": {
- "attribute_list": "children",
- "explicit_interface_specifier": "children",
- "modifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "property_pattern_clause": {
- "type": "property_pattern_clause",
+ "preproc_define": {
+ "type": "preproc_define",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "subpattern": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "qualified_name": {
- "type": "qualified_name",
- "singleFieldNames": ["name", "qualifier"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "query_continuation": {
- "type": "query_continuation",
- "singleFieldNames": ["name"],
- "nodeTypeToMultipleFieldName": {
- "from_clause": "children",
- "group_clause": "children",
- "join_clause": "children",
- "let_clause": "children",
- "order_by_clause": "children",
- "query_continuation": "children",
- "select_clause": "children",
- "where_clause": "children"
+ "preproc_arg": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "query_expression": {
- "type": "query_expression",
- "singleFieldNames": [],
+ "preproc_elif": {
+ "type": "preproc_elif",
+ "singleFieldNames": ["alternative", "condition"],
"nodeTypeToMultipleFieldName": {
- "from_clause": "children",
- "group_clause": "children",
- "join_clause": "children",
- "let_clause": "children",
- "order_by_clause": "children",
- "query_continuation": "children",
- "select_clause": "children",
- "where_clause": "children"
+ "class_declaration": "children",
+ "constructor_declaration": "children",
+ "conversion_operator_declaration": "children",
+ "delegate_declaration": "children",
+ "destructor_declaration": "children",
+ "enum_declaration": "children",
+ "event_declaration": "children",
+ "event_field_declaration": "children",
+ "field_declaration": "children",
+ "indexer_declaration": "children",
+ "interface_declaration": "children",
+ "method_declaration": "children",
+ "namespace_declaration": "children",
+ "operator_declaration": "children",
+ "preproc_if": "children",
+ "property_declaration": "children",
+ "record_declaration": "children",
+ "struct_declaration": "children",
+ "using_directive": "children",
+ "enum_member_declaration": "children",
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
+ "anonymous_method_expression": "children",
+ "anonymous_object_creation_expression": "children",
+ "array_creation_expression": "children",
+ "as_expression": "children",
+ "assignment_expression": "children",
+ "await_expression": "children",
+ "base": "children",
+ "binary_expression": "children",
+ "cast_expression": "children",
+ "checked_expression": "children",
+ "conditional_access_expression": "children",
+ "conditional_expression": "children",
+ "default_expression": "children",
+ "implicit_array_creation_expression": "children",
+ "implicit_object_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
+ "initializer_expression": "children",
+ "interpolated_string_expression": "children",
+ "invocation_expression": "children",
+ "is_expression": "children",
+ "is_pattern_expression": "children",
+ "lambda_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
+ "null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
+ "object_creation_expression": "children",
+ "postfix_unary_expression": "children",
+ "query_expression": "children",
+ "range_expression": "children",
+ "ref_expression": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
+ "switch_expression": "children",
+ "throw_expression": "children",
+ "typeof_expression": "children",
+ "with_expression": "children",
+ "extern_alias_directive": "children",
+ "file_scoped_namespace_declaration": "children",
+ "global_attribute": "children",
+ "block": "children",
+ "break_statement": "children",
+ "checked_statement": "children",
+ "continue_statement": "children",
+ "do_statement": "children",
+ "empty_statement": "children",
+ "expression_statement": "children",
+ "fixed_statement": "children",
+ "for_statement": "children",
+ "foreach_statement": "children",
+ "goto_statement": "children",
+ "if_statement": "children",
+ "labeled_statement": "children",
+ "local_declaration_statement": "children",
+ "local_function_statement": "children",
+ "lock_statement": "children",
+ "return_statement": "children",
+ "switch_statement": "children",
+ "throw_statement": "children",
+ "try_statement": "children",
+ "unsafe_statement": "children",
+ "using_statement": "children",
+ "while_statement": "children",
+ "yield_statement": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "range_expression": {
- "type": "range_expression",
+ "preproc_else": {
+ "type": "preproc_else",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "class_declaration": "children",
+ "constructor_declaration": "children",
+ "conversion_operator_declaration": "children",
+ "delegate_declaration": "children",
+ "destructor_declaration": "children",
+ "enum_declaration": "children",
+ "event_declaration": "children",
+ "event_field_declaration": "children",
+ "field_declaration": "children",
+ "indexer_declaration": "children",
+ "interface_declaration": "children",
+ "method_declaration": "children",
+ "namespace_declaration": "children",
+ "operator_declaration": "children",
+ "preproc_if": "children",
+ "property_declaration": "children",
+ "record_declaration": "children",
+ "struct_declaration": "children",
+ "using_directive": "children",
+ "enum_member_declaration": "children",
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
+ "implicit_array_creation_expression": "children",
+ "implicit_object_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
+ "initializer_expression": "children",
+ "interpolated_string_expression": "children",
+ "invocation_expression": "children",
+ "is_expression": "children",
+ "is_pattern_expression": "children",
+ "lambda_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
+ "null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
+ "object_creation_expression": "children",
+ "postfix_unary_expression": "children",
+ "query_expression": "children",
+ "range_expression": "children",
+ "ref_expression": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
+ "switch_expression": "children",
+ "throw_expression": "children",
+ "typeof_expression": "children",
+ "with_expression": "children",
+ "extern_alias_directive": "children",
+ "file_scoped_namespace_declaration": "children",
+ "global_attribute": "children",
+ "block": "children",
+ "break_statement": "children",
+ "checked_statement": "children",
+ "continue_statement": "children",
+ "do_statement": "children",
+ "empty_statement": "children",
+ "expression_statement": "children",
+ "fixed_statement": "children",
+ "for_statement": "children",
+ "foreach_statement": "children",
+ "goto_statement": "children",
+ "if_statement": "children",
+ "labeled_statement": "children",
+ "local_declaration_statement": "children",
+ "local_function_statement": "children",
+ "lock_statement": "children",
+ "return_statement": "children",
+ "switch_statement": "children",
+ "throw_statement": "children",
+ "try_statement": "children",
+ "unsafe_statement": "children",
+ "using_statement": "children",
+ "while_statement": "children",
+ "yield_statement": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "preproc_endregion": {
+ "type": "preproc_endregion",
+ "singleFieldNames": ["content"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "preproc_error": {
+ "type": "preproc_error",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "preproc_arg": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "preproc_if": {
+ "type": "preproc_if",
+ "singleFieldNames": ["alternative", "condition"],
+ "nodeTypeToMultipleFieldName": {
+ "class_declaration": "children",
+ "constructor_declaration": "children",
+ "conversion_operator_declaration": "children",
+ "delegate_declaration": "children",
+ "destructor_declaration": "children",
+ "enum_declaration": "children",
+ "event_declaration": "children",
+ "event_field_declaration": "children",
+ "field_declaration": "children",
+ "indexer_declaration": "children",
+ "interface_declaration": "children",
+ "method_declaration": "children",
+ "namespace_declaration": "children",
+ "operator_declaration": "children",
+ "preproc_if": "children",
+ "property_declaration": "children",
+ "record_declaration": "children",
+ "struct_declaration": "children",
+ "using_directive": "children",
+ "enum_member_declaration": "children",
"element_access_expression": "children",
"element_binding_expression": "children",
"generic_name": "children",
- "global": "children",
"identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
+ "anonymous_method_expression": "children",
+ "anonymous_object_creation_expression": "children",
+ "array_creation_expression": "children",
+ "as_expression": "children",
+ "assignment_expression": "children",
+ "await_expression": "children",
+ "base": "children",
+ "binary_expression": "children",
+ "cast_expression": "children",
+ "checked_expression": "children",
+ "conditional_access_expression": "children",
+ "conditional_expression": "children",
+ "default_expression": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
+ "typeof_expression": "children",
+ "with_expression": "children",
+ "extern_alias_directive": "children",
+ "file_scoped_namespace_declaration": "children",
+ "global_attribute": "children",
+ "block": "children",
+ "break_statement": "children",
+ "checked_statement": "children",
+ "continue_statement": "children",
+ "do_statement": "children",
+ "empty_statement": "children",
+ "expression_statement": "children",
+ "fixed_statement": "children",
+ "for_statement": "children",
+ "foreach_statement": "children",
+ "goto_statement": "children",
+ "if_statement": "children",
+ "labeled_statement": "children",
+ "local_declaration_statement": "children",
+ "local_function_statement": "children",
+ "lock_statement": "children",
+ "return_statement": "children",
+ "switch_statement": "children",
+ "throw_statement": "children",
+ "try_statement": "children",
+ "unsafe_statement": "children",
+ "using_statement": "children",
+ "while_statement": "children",
+ "yield_statement": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "preproc_line": {
+ "type": "preproc_line",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "integer_literal": "children",
+ "string_literal": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "preproc_nullable": {
+ "type": "preproc_nullable",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "preproc_pragma": {
+ "type": "preproc_pragma",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "identifier": "children",
+ "integer_literal": "children",
+ "string_literal": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "preproc_region": {
+ "type": "preproc_region",
+ "singleFieldNames": ["content"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "preproc_undef": {
+ "type": "preproc_undef",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "preproc_arg": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "primary_constructor_base_type": {
+ "type": "primary_constructor_base_type",
+ "singleFieldNames": ["type"],
+ "nodeTypeToMultipleFieldName": {
+ "argument_list": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "property_declaration": {
+ "type": "property_declaration",
+ "singleFieldNames": ["accessors", "name", "type", "value"],
+ "nodeTypeToMultipleFieldName": {
+ "attribute_list": "children",
+ "explicit_interface_specifier": "children",
+ "modifier": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "property_pattern_clause": {
+ "type": "property_pattern_clause",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "subpattern": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "qualified_name": {
+ "type": "qualified_name",
+ "singleFieldNames": ["name", "qualifier"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "query_expression": {
+ "type": "query_expression",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "from_clause": "children",
+ "group_clause": "children",
+ "identifier": "children",
+ "join_clause": "children",
+ "let_clause": "children",
+ "order_by_clause": "children",
+ "select_clause": "children",
+ "where_clause": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "range_expression": {
+ "type": "range_expression",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
"tuple_expression": "children",
- "type_of_expression": "children",
+ "anonymous_method_expression": "children",
+ "anonymous_object_creation_expression": "children",
+ "array_creation_expression": "children",
+ "as_expression": "children",
+ "assignment_expression": "children",
+ "await_expression": "children",
+ "base": "children",
+ "binary_expression": "children",
+ "cast_expression": "children",
+ "checked_expression": "children",
+ "conditional_access_expression": "children",
+ "conditional_expression": "children",
+ "default_expression": "children",
+ "implicit_array_creation_expression": "children",
+ "implicit_object_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
+ "initializer_expression": "children",
+ "interpolated_string_expression": "children",
+ "invocation_expression": "children",
+ "is_expression": "children",
+ "is_pattern_expression": "children",
+ "lambda_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
+ "null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
"verbatim_string_literal": "children",
+ "makeref_expression": "children",
+ "object_creation_expression": "children",
+ "postfix_unary_expression": "children",
+ "preproc_if": "children",
+ "query_expression": "children",
+ "range_expression": "children",
+ "ref_expression": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
+ "switch_expression": "children",
+ "throw_expression": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "record_declaration": {
- "type": "record_declaration",
- "singleFieldNames": [
- "bases",
- "body",
- "name",
- "parameters",
- "type_parameters"
- ],
+ "raw_string_literal": {
+ "type": "raw_string_literal",
+ "singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "attribute_list": "children",
- "modifier": "children",
- "type_parameter_constraints_clause": "children"
+ "raw_string_content": "children",
+ "raw_string_end": "children",
+ "raw_string_start": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "record_struct_declaration": {
- "type": "record_struct_declaration",
- "singleFieldNames": [
- "bases",
- "body",
- "name",
- "parameters",
- "type_parameters"
- ],
+ "record_declaration": {
+ "type": "record_declaration",
+ "singleFieldNames": ["body", "name"],
"nodeTypeToMultipleFieldName": {
"attribute_list": "children",
+ "base_list": "children",
"modifier": "children",
- "type_parameter_constraints_clause": "children"
+ "parameter_list": "children",
+ "type_parameter_constraints_clause": "children",
+ "type_parameter_list": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -3053,59 +3023,59 @@
"type": "ref_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -3116,146 +3086,130 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "ref_type_expression": {
- "type": "ref_type_expression",
+ "reftype_expression": {
+ "type": "reftype_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "ref_value_expression": {
- "type": "ref_value_expression",
+ "refvalue_expression": {
+ "type": "refvalue_expression",
"singleFieldNames": ["type", "value"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "reference_directive": {
- "type": "reference_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "preproc_string_literal": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "region_directive": {
- "type": "region_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "preproc_message": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
"relational_pattern": {
"type": "relational_pattern",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -3264,59 +3218,59 @@
"type": "return_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -3331,144 +3285,71 @@
"type": "select_clause",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "anonymous_method_expression": "children",
- "anonymous_object_creation_expression": "children",
- "array_creation_expression": "children",
- "as_expression": "children",
- "assignment_expression": "children",
- "await_expression": "children",
- "base_expression": "children",
- "binary_expression": "children",
- "boolean_literal": "children",
- "cast_expression": "children",
- "character_literal": "children",
- "checked_expression": "children",
- "conditional_access_expression": "children",
- "conditional_expression": "children",
- "default_expression": "children",
"element_access_expression": "children",
"element_binding_expression": "children",
"generic_name": "children",
- "global": "children",
"identifier": "children",
- "implicit_array_creation_expression": "children",
- "implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
- "initializer_expression": "children",
- "integer_literal": "children",
- "interpolated_string_expression": "children",
- "invocation_expression": "children",
- "is_expression": "children",
- "is_pattern_expression": "children",
- "lambda_expression": "children",
- "make_ref_expression": "children",
"member_access_expression": "children",
- "null_literal": "children",
- "object_creation_expression": "children",
"parenthesized_expression": "children",
- "postfix_unary_expression": "children",
"prefix_unary_expression": "children",
- "query_expression": "children",
- "range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
- "ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
- "switch_expression": "children",
- "this_expression": "children",
- "throw_expression": "children",
+ "this": "children",
"tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
- "with_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "shebang_directive": {
- "type": "shebang_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "simple_assignment_expression": {
- "type": "simple_assignment_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "size_of_expression": {
- "type": "size_of_expression",
+ "sizeof_expression": {
+ "type": "sizeof_expression",
"singleFieldNames": ["type"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "slice_pattern": {
- "type": "slice_pattern",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "stack_alloc_array_creation_expression": {
- "type": "stack_alloc_array_creation_expression",
+ "stackalloc_expression": {
+ "type": "stackalloc_expression",
"singleFieldNames": ["type"],
"nodeTypeToMultipleFieldName": {
"initializer_expression": "children"
@@ -3480,18 +3361,27 @@
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
"escape_sequence": "children",
- "string_literal_encoding": "children",
- "string_literal_fragment": "children"
+ "string_literal_content": "children",
+ "string_literal_encoding": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
+ "string_literal_content": {
+ "type": "string_literal_content",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"struct_declaration": {
"type": "struct_declaration",
- "singleFieldNames": ["bases", "body", "name", "type_parameters"],
+ "singleFieldNames": ["body", "name"],
"nodeTypeToMultipleFieldName": {
"attribute_list": "children",
+ "base_list": "children",
"modifier": "children",
- "type_parameter_constraints_clause": "children"
+ "parameter_list": "children",
+ "type_parameter_constraints_clause": "children",
+ "type_parameter_list": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -3499,11 +3389,64 @@
"type": "subpattern",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
+ "anonymous_method_expression": "children",
+ "anonymous_object_creation_expression": "children",
+ "array_creation_expression": "children",
+ "as_expression": "children",
+ "assignment_expression": "children",
+ "await_expression": "children",
+ "base": "children",
+ "binary_expression": "children",
+ "cast_expression": "children",
+ "checked_expression": "children",
+ "conditional_access_expression": "children",
+ "conditional_expression": "children",
+ "default_expression": "children",
+ "implicit_array_creation_expression": "children",
+ "implicit_object_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
+ "initializer_expression": "children",
+ "interpolated_string_expression": "children",
+ "invocation_expression": "children",
+ "is_expression": "children",
+ "is_pattern_expression": "children",
+ "lambda_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
+ "null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
+ "object_creation_expression": "children",
+ "postfix_unary_expression": "children",
+ "preproc_if": "children",
+ "query_expression": "children",
+ "range_expression": "children",
+ "ref_expression": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
+ "switch_expression": "children",
+ "throw_expression": "children",
+ "typeof_expression": "children",
+ "with_expression": "children",
"and_pattern": "children",
"constant_pattern": "children",
"declaration_pattern": "children",
"discard": "children",
- "expression_colon": "children",
"list_pattern": "children",
"negated_pattern": "children",
"or_pattern": "children",
@@ -3527,121 +3470,195 @@
"type": "switch_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
+ "implicit_array_creation_expression": "children",
+ "implicit_object_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
+ "initializer_expression": "children",
+ "interpolated_string_expression": "children",
+ "invocation_expression": "children",
+ "is_expression": "children",
+ "is_pattern_expression": "children",
+ "lambda_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
+ "null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
+ "object_creation_expression": "children",
+ "postfix_unary_expression": "children",
+ "preproc_if": "children",
+ "query_expression": "children",
+ "range_expression": "children",
+ "ref_expression": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
+ "switch_expression": "children",
+ "throw_expression": "children",
+ "typeof_expression": "children",
+ "with_expression": "children",
+ "switch_expression_arm": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "switch_expression_arm": {
+ "type": "switch_expression_arm",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
"element_access_expression": "children",
"element_binding_expression": "children",
"generic_name": "children",
- "global": "children",
"identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
+ "anonymous_method_expression": "children",
+ "anonymous_object_creation_expression": "children",
+ "array_creation_expression": "children",
+ "as_expression": "children",
+ "assignment_expression": "children",
+ "await_expression": "children",
+ "base": "children",
+ "binary_expression": "children",
+ "cast_expression": "children",
+ "checked_expression": "children",
+ "conditional_access_expression": "children",
+ "conditional_expression": "children",
+ "default_expression": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children",
- "switch_expression_arm": "children"
+ "and_pattern": "children",
+ "constant_pattern": "children",
+ "declaration_pattern": "children",
+ "discard": "children",
+ "list_pattern": "children",
+ "negated_pattern": "children",
+ "or_pattern": "children",
+ "parenthesized_pattern": "children",
+ "recursive_pattern": "children",
+ "relational_pattern": "children",
+ "type_pattern": "children",
+ "var_pattern": "children",
+ "when_clause": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "switch_expression_arm": {
- "type": "switch_expression_arm",
+ "switch_section": {
+ "type": "switch_section",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children",
"and_pattern": "children",
"constant_pattern": "children",
@@ -3655,14 +3672,6 @@
"relational_pattern": "children",
"type_pattern": "children",
"var_pattern": "children",
- "when_clause": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "switch_section": {
- "type": "switch_section",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
"block": "children",
"break_statement": "children",
"checked_statement": "children",
@@ -3671,8 +3680,8 @@
"empty_statement": "children",
"expression_statement": "children",
"fixed_statement": "children",
- "for_each_statement": "children",
"for_statement": "children",
+ "foreach_statement": "children",
"goto_statement": "children",
"if_statement": "children",
"labeled_statement": "children",
@@ -3687,9 +3696,7 @@
"using_statement": "children",
"while_statement": "children",
"yield_statement": "children",
- "case_pattern_switch_label": "children",
- "case_switch_label": "children",
- "default_switch_label": "children"
+ "when_clause": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -3699,69 +3706,63 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "this_expression": {
- "type": "this_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"throw_expression": {
"type": "throw_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -3770,59 +3771,59 @@
"type": "throw_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -3876,7 +3877,6 @@
"array_type": "children",
"function_pointer_type": "children",
"generic_name": "children",
- "global": "children",
"identifier": "children",
"implicit_type": "children",
"nullable_type": "children",
@@ -3889,18 +3889,6 @@
},
"multipleOrChildrenFieldNames": ["children"]
},
- "type_constraint": {
- "type": "type_constraint",
- "singleFieldNames": ["type"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "type_of_expression": {
- "type": "type_of_expression",
- "singleFieldNames": ["type"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"type_parameter": {
"type": "type_parameter",
"singleFieldNames": ["name"],
@@ -3911,21 +3899,20 @@
},
"type_parameter_constraint": {
"type": "type_parameter_constraint",
- "singleFieldNames": [],
+ "singleFieldNames": ["type"],
"nodeTypeToMultipleFieldName": {
- "constructor_constraint": "children",
- "type_constraint": "children"
+ "constructor_constraint": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
"type_parameter_constraints_clause": {
"type": "type_parameter_constraints_clause",
- "singleFieldNames": ["target"],
+ "singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- ",": "constraints",
- "type_parameter_constraint": "constraints"
+ "identifier": "children",
+ "type_parameter_constraint": "children"
},
- "multipleOrChildrenFieldNames": ["constraints"]
+ "multipleOrChildrenFieldNames": ["children"]
},
"type_parameter_list": {
"type": "type_parameter_list",
@@ -3941,13 +3928,17 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "undef_directive": {
- "type": "undef_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "identifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
+ "typeof_expression": {
+ "type": "typeof_expression",
+ "singleFieldNames": ["type"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "unary_expression": {
+ "type": "unary_expression",
+ "singleFieldNames": ["argument", "operator"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
},
"unsafe_statement": {
"type": "unsafe_statement",
@@ -3959,67 +3950,81 @@
},
"using_directive": {
"type": "using_directive",
- "singleFieldNames": ["alias", "name"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
+ "singleFieldNames": ["name"],
+ "nodeTypeToMultipleFieldName": {
+ "alias_qualified_name": "children",
+ "array_type": "children",
+ "function_pointer_type": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "implicit_type": "children",
+ "nullable_type": "children",
+ "pointer_type": "children",
+ "predefined_type": "children",
+ "qualified_name": "children",
+ "ref_type": "children",
+ "scoped_type": "children",
+ "tuple_type": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
},
"using_statement": {
"type": "using_statement",
"singleFieldNames": ["body"],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children",
"variable_declaration": "children"
},
@@ -4047,76 +4052,121 @@
"singleFieldNames": ["name"],
"nodeTypeToMultipleFieldName": {
"bracketed_argument_list": "children",
- "equals_value_clause": "children",
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
+ "anonymous_method_expression": "children",
+ "anonymous_object_creation_expression": "children",
+ "array_creation_expression": "children",
+ "as_expression": "children",
+ "assignment_expression": "children",
+ "await_expression": "children",
+ "base": "children",
+ "binary_expression": "children",
+ "cast_expression": "children",
+ "checked_expression": "children",
+ "conditional_access_expression": "children",
+ "conditional_expression": "children",
+ "default_expression": "children",
+ "implicit_array_creation_expression": "children",
+ "implicit_object_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
+ "initializer_expression": "children",
+ "interpolated_string_expression": "children",
+ "invocation_expression": "children",
+ "is_expression": "children",
+ "is_pattern_expression": "children",
+ "lambda_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
+ "null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
+ "object_creation_expression": "children",
+ "postfix_unary_expression": "children",
+ "preproc_if": "children",
+ "query_expression": "children",
+ "range_expression": "children",
+ "ref_expression": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
+ "switch_expression": "children",
+ "throw_expression": "children",
+ "typeof_expression": "children",
+ "with_expression": "children",
"tuple_pattern": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "warning_directive": {
- "type": "warning_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "preproc_message": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
"when_clause": {
"type": "when_clause",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
- "conditional_expression": "children",
- "default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
+ "conditional_expression": "children",
+ "default_expression": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -4125,215 +4175,189 @@
"type": "where_clause",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
"while_statement": {
"type": "while_statement",
+ "singleFieldNames": ["body", "condition"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "with_expression": {
+ "type": "with_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children",
- "block": "children",
- "break_statement": "children",
- "checked_statement": "children",
- "continue_statement": "children",
- "do_statement": "children",
- "empty_statement": "children",
- "expression_statement": "children",
- "fixed_statement": "children",
- "for_each_statement": "children",
- "for_statement": "children",
- "goto_statement": "children",
- "if_statement": "children",
- "labeled_statement": "children",
- "local_declaration_statement": "children",
- "local_function_statement": "children",
- "lock_statement": "children",
- "return_statement": "children",
- "switch_statement": "children",
- "throw_statement": "children",
- "try_statement": "children",
- "unsafe_statement": "children",
- "using_statement": "children",
- "while_statement": "children",
- "yield_statement": "children"
+ "with_initializer": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "with_expression": {
- "type": "with_expression",
+ "with_initializer": {
+ "type": "with_initializer",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
- "with_expression": "children",
- "with_initializer_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "with_initializer_expression": {
- "type": "with_initializer_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "simple_assignment_expression": "children"
+ "typeof_expression": "children",
+ "with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -4341,59 +4365,59 @@
"type": "yield_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "element_access_expression": "children",
+ "element_binding_expression": "children",
+ "generic_name": "children",
+ "identifier": "children",
+ "member_access_expression": "children",
+ "parenthesized_expression": "children",
+ "prefix_unary_expression": "children",
+ "this": "children",
+ "tuple_expression": "children",
"anonymous_method_expression": "children",
"anonymous_object_creation_expression": "children",
"array_creation_expression": "children",
"as_expression": "children",
"assignment_expression": "children",
"await_expression": "children",
- "base_expression": "children",
+ "base": "children",
"binary_expression": "children",
- "boolean_literal": "children",
"cast_expression": "children",
- "character_literal": "children",
"checked_expression": "children",
"conditional_access_expression": "children",
"conditional_expression": "children",
"default_expression": "children",
- "element_access_expression": "children",
- "element_binding_expression": "children",
- "generic_name": "children",
- "global": "children",
- "identifier": "children",
"implicit_array_creation_expression": "children",
"implicit_object_creation_expression": "children",
- "implicit_stack_alloc_array_creation_expression": "children",
+ "implicit_stackalloc_expression": "children",
"initializer_expression": "children",
- "integer_literal": "children",
"interpolated_string_expression": "children",
"invocation_expression": "children",
"is_expression": "children",
"is_pattern_expression": "children",
"lambda_expression": "children",
- "make_ref_expression": "children",
- "member_access_expression": "children",
+ "boolean_literal": "children",
+ "character_literal": "children",
+ "integer_literal": "children",
"null_literal": "children",
+ "raw_string_literal": "children",
+ "real_literal": "children",
+ "string_literal": "children",
+ "verbatim_string_literal": "children",
+ "makeref_expression": "children",
"object_creation_expression": "children",
- "parenthesized_expression": "children",
"postfix_unary_expression": "children",
- "prefix_unary_expression": "children",
+ "preproc_if": "children",
"query_expression": "children",
"range_expression": "children",
- "raw_string_literal": "children",
- "real_literal": "children",
"ref_expression": "children",
- "ref_type_expression": "children",
- "ref_value_expression": "children",
- "size_of_expression": "children",
- "stack_alloc_array_creation_expression": "children",
- "string_literal": "children",
+ "reftype_expression": "children",
+ "refvalue_expression": "children",
+ "sizeof_expression": "children",
+ "stackalloc_expression": "children",
"switch_expression": "children",
- "this_expression": "children",
"throw_expression": "children",
- "tuple_expression": "children",
- "type_of_expression": "children",
- "verbatim_string_literal": "children",
+ "typeof_expression": "children",
"with_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -4416,6 +4440,12 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "%=": {
+ "type": "%=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"&": {
"type": "&",
"singleFieldNames": [],
@@ -4428,12 +4458,24 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "&=": {
+ "type": "&=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"*": {
"type": "*",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "*=": {
+ "type": "*=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"+": {
"type": "+",
"singleFieldNames": [],
@@ -4446,6 +4488,12 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "+=": {
+ "type": "+=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"-": {
"type": "-",
"singleFieldNames": [],
@@ -4458,14 +4506,20 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "-=": {
+ "type": "-=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"/": {
"type": "/",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- ";": {
- "type": ";",
+ "/=": {
+ "type": "/=",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
@@ -4482,12 +4536,24 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "<<=": {
+ "type": "<<=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"<=": {
"type": "<=",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "=": {
+ "type": "=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"==": {
"type": "==",
"singleFieldNames": [],
@@ -4512,24 +4578,48 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ ">>=": {
+ "type": ">>=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
">>>": {
"type": ">>>",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ ">>>=": {
+ "type": ">>>=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"??": {
"type": "??",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "??=": {
+ "type": "??=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"^": {
"type": "^",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "^=": {
+ "type": "^=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"add": {
"type": "add",
"singleFieldNames": [],
@@ -4548,8 +4638,8 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "character_literal_unescaped": {
- "type": "character_literal_unescaped",
+ "character_literal_content": {
+ "type": "character_literal_content",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
@@ -4566,12 +4656,6 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "endif_directive": {
- "type": "endif_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"escape_sequence": {
"type": "escape_sequence",
"singleFieldNames": [],
@@ -4602,6 +4686,24 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "interpolation_brace": {
+ "type": "interpolation_brace",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "interpolation_quote": {
+ "type": "interpolation_quote",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "interpolation_start": {
+ "type": "interpolation_start",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"is": {
"type": "is",
"singleFieldNames": [],
@@ -4620,38 +4722,32 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "parameter_modifier": {
- "type": "parameter_modifier",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"predefined_type": {
"type": "predefined_type",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "preproc_integer_literal": {
- "type": "preproc_integer_literal",
+ "preproc_arg": {
+ "type": "preproc_arg",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "preproc_message": {
- "type": "preproc_message",
+ "raw_string_content": {
+ "type": "raw_string_content",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "preproc_string_literal": {
- "type": "preproc_string_literal",
+ "raw_string_end": {
+ "type": "raw_string_end",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "raw_string_literal": {
- "type": "raw_string_literal",
+ "raw_string_start": {
+ "type": "raw_string_start",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
@@ -4674,14 +4770,20 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "string_literal_encoding": {
- "type": "string_literal_encoding",
+ "shebang_directive": {
+ "type": "shebang_directive",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "string_content": {
+ "type": "string_content",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "string_literal_fragment": {
- "type": "string_literal_fragment",
+ "string_literal_encoding": {
+ "type": "string_literal_encoding",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
@@ -4704,6 +4806,12 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "|=": {
+ "type": "|=",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"||": {
"type": "||",
"singleFieldNames": [],
diff --git a/packages/tree-sitter-port/output/tree-sitter-c-sharp/meta.json b/packages/tree-sitter-port/output/tree-sitter-c-sharp/meta.json
index 38de111..61fdd02 100644
--- a/packages/tree-sitter-port/output/tree-sitter-c-sharp/meta.json
+++ b/packages/tree-sitter-port/output/tree-sitter-c-sharp/meta.json
@@ -1,5 +1,5 @@
{
"name": "tree-sitter-c-sharp",
- "version": "0.20.0",
- "generatedAt": "2023-08-13T18:16:24.586Z"
+ "version": "0.21.2",
+ "generatedAt": "2024-06-26T15:41:38.824Z"
}
diff --git a/packages/tree-sitter-port/output/tree-sitter-c-sharp/parser.wasm b/packages/tree-sitter-port/output/tree-sitter-c-sharp/parser.wasm
index 9ba6b75..65e8511 100755
Binary files a/packages/tree-sitter-port/output/tree-sitter-c-sharp/parser.wasm and b/packages/tree-sitter-port/output/tree-sitter-c-sharp/parser.wasm differ
diff --git a/packages/tree-sitter-port/output/tree-sitter-c/fields-meta.json b/packages/tree-sitter-port/output/tree-sitter-c/fields-meta.json
index a0f4b0d..d28eed0 100644
--- a/packages/tree-sitter-port/output/tree-sitter-c/fields-meta.json
+++ b/packages/tree-sitter-port/output/tree-sitter-c/fields-meta.json
@@ -20,7 +20,8 @@
"abstract_array_declarator": "children",
"abstract_function_declarator": "children",
"abstract_parenthesized_declarator": "children",
- "abstract_pointer_declarator": "children"
+ "abstract_pointer_declarator": "children",
+ "ms_call_modifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -28,10 +29,44 @@
"type": "abstract_pointer_declarator",
"singleFieldNames": ["declarator"],
"nodeTypeToMultipleFieldName": {
+ "ms_pointer_modifier": "children",
"type_qualifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
+ "alignas_qualifier": {
+ "type": "alignas_qualifier",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "alignof_expression": "children",
+ "assignment_expression": "children",
+ "binary_expression": "children",
+ "call_expression": "children",
+ "cast_expression": "children",
+ "char_literal": "children",
+ "compound_literal_expression": "children",
+ "concatenated_string": "children",
+ "conditional_expression": "children",
+ "false": "children",
+ "field_expression": "children",
+ "generic_expression": "children",
+ "gnu_asm_expression": "children",
+ "identifier": "children",
+ "null": "children",
+ "number_literal": "children",
+ "offsetof_expression": "children",
+ "parenthesized_expression": "children",
+ "pointer_expression": "children",
+ "sizeof_expression": "children",
+ "string_literal": "children",
+ "subscript_expression": "children",
+ "true": "children",
+ "unary_expression": "children",
+ "update_expression": "children",
+ "type_descriptor": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
"alignof_expression": {
"type": "alignof_expression",
"singleFieldNames": ["type"],
@@ -42,6 +77,7 @@
"type": "argument_list",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "compound_statement": "children",
"alignof_expression": "children",
"assignment_expression": "children",
"binary_expression": "children",
@@ -67,7 +103,6 @@
"true": "children",
"unary_expression": "children",
"update_expression": "children",
- "compound_statement": "children",
"preproc_defined": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -131,6 +166,7 @@
"type": "attributed_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "attribute_declaration": "children",
"attributed_statement": "children",
"break_statement": "children",
"case_statement": "children",
@@ -143,9 +179,10 @@
"if_statement": "children",
"labeled_statement": "children",
"return_statement": "children",
+ "seh_leave_statement": "children",
+ "seh_try_statement": "children",
"switch_statement": "children",
- "while_statement": "children",
- "attribute_declaration": "children"
+ "while_statement": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -215,6 +252,8 @@
"if_statement": "children",
"labeled_statement": "children",
"return_statement": "children",
+ "seh_leave_statement": "children",
+ "seh_try_statement": "children",
"switch_statement": "children",
"type_definition": "children",
"while_statement": "children"
@@ -252,6 +291,15 @@
"type": "compound_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "declaration": "children",
+ "function_definition": "children",
+ "linkage_specification": "children",
+ "preproc_call": "children",
+ "preproc_def": "children",
+ "preproc_function_def": "children",
+ "preproc_if": "children",
+ "preproc_ifdef": "children",
+ "preproc_include": "children",
"attributed_statement": "children",
"break_statement": "children",
"case_statement": "children",
@@ -264,25 +312,18 @@
"if_statement": "children",
"labeled_statement": "children",
"return_statement": "children",
+ "seh_leave_statement": "children",
+ "seh_try_statement": "children",
"switch_statement": "children",
"while_statement": "children",
+ "type_definition": "children",
"enum_specifier": "children",
"macro_type_specifier": "children",
"primitive_type": "children",
"sized_type_specifier": "children",
"struct_specifier": "children",
"type_identifier": "children",
- "union_specifier": "children",
- "declaration": "children",
- "function_definition": "children",
- "linkage_specification": "children",
- "preproc_call": "children",
- "preproc_def": "children",
- "preproc_function_def": "children",
- "preproc_if": "children",
- "preproc_ifdef": "children",
- "preproc_include": "children",
- "type_definition": "children"
+ "union_specifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -314,11 +355,12 @@
"array_declarator": "declarator",
"attributed_declarator": "declarator",
"function_declarator": "declarator",
+ "gnu_asm_expression": "declarator",
"identifier": "declarator",
+ "init_declarator": "declarator",
+ "ms_call_modifier": "declarator",
"parenthesized_declarator": "declarator",
"pointer_declarator": "declarator",
- "gnu_asm_expression": "declarator",
- "init_declarator": "declarator",
"attribute_declaration": "children",
"attribute_specifier": "children",
"ms_declspec_modifier": "children",
@@ -331,6 +373,15 @@
"type": "declaration_list",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "declaration": "children",
+ "function_definition": "children",
+ "linkage_specification": "children",
+ "preproc_call": "children",
+ "preproc_def": "children",
+ "preproc_function_def": "children",
+ "preproc_if": "children",
+ "preproc_ifdef": "children",
+ "preproc_include": "children",
"attributed_statement": "children",
"break_statement": "children",
"case_statement": "children",
@@ -343,25 +394,18 @@
"if_statement": "children",
"labeled_statement": "children",
"return_statement": "children",
+ "seh_leave_statement": "children",
+ "seh_try_statement": "children",
"switch_statement": "children",
"while_statement": "children",
+ "type_definition": "children",
"enum_specifier": "children",
"macro_type_specifier": "children",
"primitive_type": "children",
"sized_type_specifier": "children",
"struct_specifier": "children",
"type_identifier": "children",
- "union_specifier": "children",
- "declaration": "children",
- "function_definition": "children",
- "linkage_specification": "children",
- "preproc_call": "children",
- "preproc_def": "children",
- "preproc_function_def": "children",
- "preproc_if": "children",
- "preproc_ifdef": "children",
- "preproc_include": "children",
- "type_definition": "children"
+ "union_specifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -387,6 +431,8 @@
"if_statement": "children",
"labeled_statement": "children",
"return_statement": "children",
+ "seh_leave_statement": "children",
+ "seh_try_statement": "children",
"switch_statement": "children",
"while_statement": "children"
},
@@ -410,7 +456,10 @@
"type": "enumerator_list",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "enumerator": "children"
+ "enumerator": "children",
+ "preproc_call": "children",
+ "preproc_if": "children",
+ "preproc_ifdef": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -418,6 +467,7 @@
"type": "expression_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "comma_expression": "children",
"alignof_expression": "children",
"assignment_expression": "children",
"binary_expression": "children",
@@ -442,8 +492,7 @@
"subscript_expression": "children",
"true": "children",
"unary_expression": "children",
- "update_expression": "children",
- "comma_expression": "children"
+ "update_expression": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -504,7 +553,9 @@
"singleFieldNames": ["declarator", "parameters"],
"nodeTypeToMultipleFieldName": {
"attribute_specifier": "children",
- "gnu_asm_expression": "children"
+ "call_expression": "children",
+ "gnu_asm_expression": "children",
+ "identifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -559,6 +610,7 @@
"type": "gnu_asm_clobber_list",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "concatenated_string": "register",
"string_literal": "register"
},
"multipleOrChildrenFieldNames": ["register"]
@@ -676,7 +728,9 @@
"singleFieldNames": ["value"],
"nodeTypeToMultipleFieldName": {
"field_designator": "designator",
- "subscript_designator": "designator"
+ "field_identifier": "designator",
+ "subscript_designator": "designator",
+ "subscript_range_designator": "designator"
},
"multipleOrChildrenFieldNames": ["designator"]
},
@@ -696,6 +750,8 @@
"if_statement": "children",
"labeled_statement": "children",
"return_statement": "children",
+ "seh_leave_statement": "children",
+ "seh_try_statement": "children",
"switch_statement": "children",
"while_statement": "children"
},
@@ -798,7 +854,8 @@
"pointer_declarator": "children",
"field_identifier": "children",
"primitive_type": "children",
- "type_identifier": "children"
+ "type_identifier": "children",
+ "ms_call_modifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -806,6 +863,7 @@
"type": "parenthesized_expression",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "comma_expression": "children",
"alignof_expression": "children",
"assignment_expression": "children",
"binary_expression": "children",
@@ -831,7 +889,6 @@
"true": "children",
"unary_expression": "children",
"update_expression": "children",
- "comma_expression": "children",
"preproc_defined": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -876,6 +933,17 @@
"type": "preproc_elif",
"singleFieldNames": ["alternative", "condition"],
"nodeTypeToMultipleFieldName": {
+ "declaration": "children",
+ "enumerator": "children",
+ "field_declaration": "children",
+ "function_definition": "children",
+ "linkage_specification": "children",
+ "preproc_call": "children",
+ "preproc_def": "children",
+ "preproc_function_def": "children",
+ "preproc_if": "children",
+ "preproc_ifdef": "children",
+ "preproc_include": "children",
"attributed_statement": "children",
"break_statement": "children",
"case_statement": "children",
@@ -888,16 +956,27 @@
"if_statement": "children",
"labeled_statement": "children",
"return_statement": "children",
+ "seh_leave_statement": "children",
+ "seh_try_statement": "children",
"switch_statement": "children",
"while_statement": "children",
+ "type_definition": "children",
"enum_specifier": "children",
"macro_type_specifier": "children",
"primitive_type": "children",
"sized_type_specifier": "children",
"struct_specifier": "children",
"type_identifier": "children",
- "union_specifier": "children",
+ "union_specifier": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "preproc_elifdef": {
+ "type": "preproc_elifdef",
+ "singleFieldNames": ["alternative", "name"],
+ "nodeTypeToMultipleFieldName": {
"declaration": "children",
+ "enumerator": "children",
"field_declaration": "children",
"function_definition": "children",
"linkage_specification": "children",
@@ -907,14 +986,6 @@
"preproc_if": "children",
"preproc_ifdef": "children",
"preproc_include": "children",
- "type_definition": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "preproc_elifdef": {
- "type": "preproc_elifdef",
- "singleFieldNames": ["alternative", "name"],
- "nodeTypeToMultipleFieldName": {
"attributed_statement": "children",
"break_statement": "children",
"case_statement": "children",
@@ -927,16 +998,28 @@
"if_statement": "children",
"labeled_statement": "children",
"return_statement": "children",
+ "seh_leave_statement": "children",
+ "seh_try_statement": "children",
"switch_statement": "children",
"while_statement": "children",
+ "type_definition": "children",
"enum_specifier": "children",
"macro_type_specifier": "children",
"primitive_type": "children",
"sized_type_specifier": "children",
"struct_specifier": "children",
"type_identifier": "children",
- "union_specifier": "children",
+ "union_specifier": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "preproc_else": {
+ "type": "preproc_else",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
"declaration": "children",
+ "enumerator": "children",
+ "field_declaration": "children",
"function_definition": "children",
"linkage_specification": "children",
"preproc_call": "children",
@@ -945,14 +1028,6 @@
"preproc_if": "children",
"preproc_ifdef": "children",
"preproc_include": "children",
- "type_definition": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "preproc_else": {
- "type": "preproc_else",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
"attributed_statement": "children",
"break_statement": "children",
"case_statement": "children",
@@ -965,26 +1040,18 @@
"if_statement": "children",
"labeled_statement": "children",
"return_statement": "children",
+ "seh_leave_statement": "children",
+ "seh_try_statement": "children",
"switch_statement": "children",
"while_statement": "children",
+ "type_definition": "children",
"enum_specifier": "children",
"macro_type_specifier": "children",
"primitive_type": "children",
"sized_type_specifier": "children",
"struct_specifier": "children",
"type_identifier": "children",
- "union_specifier": "children",
- "declaration": "children",
- "field_declaration": "children",
- "function_definition": "children",
- "linkage_specification": "children",
- "preproc_call": "children",
- "preproc_def": "children",
- "preproc_function_def": "children",
- "preproc_if": "children",
- "preproc_ifdef": "children",
- "preproc_include": "children",
- "type_definition": "children"
+ "union_specifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -998,6 +1065,17 @@
"type": "preproc_if",
"singleFieldNames": ["alternative", "condition"],
"nodeTypeToMultipleFieldName": {
+ "declaration": "children",
+ "enumerator": "children",
+ "field_declaration": "children",
+ "function_definition": "children",
+ "linkage_specification": "children",
+ "preproc_call": "children",
+ "preproc_def": "children",
+ "preproc_function_def": "children",
+ "preproc_if": "children",
+ "preproc_ifdef": "children",
+ "preproc_include": "children",
"attributed_statement": "children",
"break_statement": "children",
"case_statement": "children",
@@ -1010,16 +1088,27 @@
"if_statement": "children",
"labeled_statement": "children",
"return_statement": "children",
+ "seh_leave_statement": "children",
+ "seh_try_statement": "children",
"switch_statement": "children",
"while_statement": "children",
+ "type_definition": "children",
"enum_specifier": "children",
"macro_type_specifier": "children",
"primitive_type": "children",
"sized_type_specifier": "children",
"struct_specifier": "children",
"type_identifier": "children",
- "union_specifier": "children",
+ "union_specifier": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "preproc_ifdef": {
+ "type": "preproc_ifdef",
+ "singleFieldNames": ["alternative", "name"],
+ "nodeTypeToMultipleFieldName": {
"declaration": "children",
+ "enumerator": "children",
"field_declaration": "children",
"function_definition": "children",
"linkage_specification": "children",
@@ -1029,14 +1118,6 @@
"preproc_if": "children",
"preproc_ifdef": "children",
"preproc_include": "children",
- "type_definition": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "preproc_ifdef": {
- "type": "preproc_ifdef",
- "singleFieldNames": ["alternative", "name"],
- "nodeTypeToMultipleFieldName": {
"attributed_statement": "children",
"break_statement": "children",
"case_statement": "children",
@@ -1049,26 +1130,18 @@
"if_statement": "children",
"labeled_statement": "children",
"return_statement": "children",
+ "seh_leave_statement": "children",
+ "seh_try_statement": "children",
"switch_statement": "children",
"while_statement": "children",
+ "type_definition": "children",
"enum_specifier": "children",
"macro_type_specifier": "children",
"primitive_type": "children",
"sized_type_specifier": "children",
"struct_specifier": "children",
"type_identifier": "children",
- "union_specifier": "children",
- "declaration": "children",
- "field_declaration": "children",
- "function_definition": "children",
- "linkage_specification": "children",
- "preproc_call": "children",
- "preproc_def": "children",
- "preproc_function_def": "children",
- "preproc_if": "children",
- "preproc_ifdef": "children",
- "preproc_include": "children",
- "type_definition": "children"
+ "union_specifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -1090,6 +1163,7 @@
"type": "return_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "comma_expression": "children",
"alignof_expression": "children",
"assignment_expression": "children",
"binary_expression": "children",
@@ -1114,8 +1188,34 @@
"subscript_expression": "children",
"true": "children",
"unary_expression": "children",
- "update_expression": "children",
- "comma_expression": "children"
+ "update_expression": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "seh_except_clause": {
+ "type": "seh_except_clause",
+ "singleFieldNames": ["body", "filter"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "seh_finally_clause": {
+ "type": "seh_finally_clause",
+ "singleFieldNames": ["body"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "seh_leave_statement": {
+ "type": "seh_leave_statement",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "seh_try_statement": {
+ "type": "seh_try_statement",
+ "singleFieldNames": ["body"],
+ "nodeTypeToMultipleFieldName": {
+ "seh_except_clause": "children",
+ "seh_finally_clause": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -1193,6 +1293,12 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "subscript_range_designator": {
+ "type": "subscript_range_designator",
+ "singleFieldNames": ["end", "start"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"switch_statement": {
"type": "switch_statement",
"singleFieldNames": ["body", "condition"],
@@ -1203,13 +1309,6 @@
"type": "translation_unit",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "enum_specifier": "children",
- "macro_type_specifier": "children",
- "primitive_type": "children",
- "sized_type_specifier": "children",
- "struct_specifier": "children",
- "type_identifier": "children",
- "union_specifier": "children",
"attributed_statement": "children",
"break_statement": "children",
"case_statement": "children",
@@ -1233,6 +1332,13 @@
"return_statement": "children",
"switch_statement": "children",
"type_definition": "children",
+ "enum_specifier": "children",
+ "macro_type_specifier": "children",
+ "primitive_type": "children",
+ "sized_type_specifier": "children",
+ "struct_specifier": "children",
+ "type_identifier": "children",
+ "union_specifier": "children",
"while_statement": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -1264,8 +1370,10 @@
"type_qualifier": {
"type": "type_qualifier",
"singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
+ "nodeTypeToMultipleFieldName": {
+ "alignas_qualifier": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
},
"unary_expression": {
"type": "unary_expression",
diff --git a/packages/tree-sitter-port/output/tree-sitter-c/meta.json b/packages/tree-sitter-port/output/tree-sitter-c/meta.json
index 2b29f5c..bba4b0f 100644
--- a/packages/tree-sitter-port/output/tree-sitter-c/meta.json
+++ b/packages/tree-sitter-port/output/tree-sitter-c/meta.json
@@ -1,5 +1,5 @@
{
"name": "tree-sitter-c",
- "version": "0.20.5",
- "generatedAt": "2023-08-13T18:16:22.639Z"
+ "version": "0.21.4",
+ "generatedAt": "2024-06-26T15:41:27.820Z"
}
diff --git a/packages/tree-sitter-port/output/tree-sitter-c/parser.wasm b/packages/tree-sitter-port/output/tree-sitter-c/parser.wasm
index 8a5e66c..0a801e0 100755
Binary files a/packages/tree-sitter-port/output/tree-sitter-c/parser.wasm and b/packages/tree-sitter-port/output/tree-sitter-c/parser.wasm differ
diff --git a/packages/tree-sitter-port/output/tree-sitter-lua/fields-meta.json b/packages/tree-sitter-port/output/tree-sitter-lua/fields-meta.json
index f1ad271..fabde99 100644
--- a/packages/tree-sitter-port/output/tree-sitter-lua/fields-meta.json
+++ b/packages/tree-sitter-port/output/tree-sitter-lua/fields-meta.json
@@ -1,23 +1,46 @@
{
- "argument_list": {
- "type": "argument_list",
+ "arguments": {
+ "type": "arguments",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "expression_list": "children",
+ "binary_expression": "children",
+ "false": "children",
+ "function_call": "children",
+ "function_definition": "children",
+ "nil": "children",
+ "number": "children",
+ "parenthesized_expression": "children",
"string": "children",
- "table": "children"
+ "table_constructor": "children",
+ "true": "children",
+ "unary_expression": "children",
+ "vararg_expression": "children",
+ "bracket_index_expression": "children",
+ "dot_index_expression": "children",
+ "identifier": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "assignment_statement": {
+ "type": "assignment_statement",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "expression_list": "children",
+ "variable_list": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
"attribute": {
"type": "attribute",
- "singleFieldNames": ["name"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "identifier": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
},
"binary_expression": {
"type": "binary_expression",
- "singleFieldNames": ["left", "operator", "right"],
+ "singleFieldNames": ["left", "right"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
@@ -26,27 +49,25 @@
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
"return_statement": "children",
+ "assignment_statement": "children",
"break_statement": "children",
- "call": "children",
+ "function_declaration": "children",
+ "variable_declaration": "children",
"do_statement": "children",
"empty_statement": "children",
- "for_generic_statement": "children",
- "for_numeric_statement": "children",
- "function_definition_statement": "children",
+ "for_statement": "children",
+ "function_call": "children",
"goto_statement": "children",
"if_statement": "children",
"label_statement": "children",
- "local_function_definition_statement": "children",
- "local_variable_declaration": "children",
"repeat_statement": "children",
- "variable_assignment": "children",
"while_statement": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "call": {
- "type": "call",
- "singleFieldNames": ["arguments", "function"],
+ "bracket_index_expression": {
+ "type": "bracket_index_expression",
+ "singleFieldNames": ["field", "table"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
@@ -54,29 +75,27 @@
"type": "chunk",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "hash_bang_line": "children",
"return_statement": "children",
- "shebang": "children",
+ "assignment_statement": "children",
"break_statement": "children",
- "call": "children",
+ "function_declaration": "children",
+ "variable_declaration": "children",
"do_statement": "children",
"empty_statement": "children",
- "for_generic_statement": "children",
- "for_numeric_statement": "children",
- "function_definition_statement": "children",
+ "for_statement": "children",
+ "function_call": "children",
"goto_statement": "children",
"if_statement": "children",
"label_statement": "children",
- "local_function_definition_statement": "children",
- "local_variable_declaration": "children",
"repeat_statement": "children",
- "variable_assignment": "children",
"while_statement": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
"comment": {
"type": "comment",
- "singleFieldNames": [],
+ "singleFieldNames": ["content", "end", "start"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
@@ -86,14 +105,20 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "else_clause": {
- "type": "else_clause",
+ "dot_index_expression": {
+ "type": "dot_index_expression",
+ "singleFieldNames": ["field", "table"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "else_statement": {
+ "type": "else_statement",
"singleFieldNames": ["body"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "elseif_clause": {
- "type": "elseif_clause",
+ "elseif_statement": {
+ "type": "elseif_statement",
"singleFieldNames": ["condition", "consequence"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
@@ -110,96 +135,100 @@
"nodeTypeToMultipleFieldName": {
"binary_expression": "children",
"false": "children",
+ "function_call": "children",
"function_definition": "children",
"nil": "children",
"number": "children",
- "call": "children",
"parenthesized_expression": "children",
- "variable": "children",
"string": "children",
- "table": "children",
+ "table_constructor": "children",
"true": "children",
"unary_expression": "children",
- "vararg_expression": "children"
+ "vararg_expression": "children",
+ "bracket_index_expression": "children",
+ "dot_index_expression": "children",
+ "identifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
"field": {
"type": "field",
- "singleFieldNames": ["key", "value"],
+ "singleFieldNames": ["name", "value"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "field_list": {
- "type": "field_list",
+ "for_generic_clause": {
+ "type": "for_generic_clause",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "field": "children"
+ "expression_list": "children",
+ "variable_list": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "for_generic_statement": {
- "type": "for_generic_statement",
- "singleFieldNames": ["body", "left", "right"],
+ "for_numeric_clause": {
+ "type": "for_numeric_clause",
+ "singleFieldNames": ["end", "name", "start", "step"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "for_numeric_statement": {
- "type": "for_numeric_statement",
- "singleFieldNames": ["body", "end", "name", "start", "step"],
+ "for_statement": {
+ "type": "for_statement",
+ "singleFieldNames": ["body", "clause"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "function_definition": {
- "type": "function_definition",
- "singleFieldNames": ["body", "parameters"],
+ "function_call": {
+ "type": "function_call",
+ "singleFieldNames": ["arguments", "name"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "function_definition_statement": {
- "type": "function_definition_statement",
+ "function_declaration": {
+ "type": "function_declaration",
"singleFieldNames": ["body", "name", "parameters"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "goto_statement": {
- "type": "goto_statement",
- "singleFieldNames": ["name"],
+ "function_definition": {
+ "type": "function_definition",
+ "singleFieldNames": ["body", "parameters"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "goto_statement": {
+ "type": "goto_statement",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "identifier": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
"if_statement": {
"type": "if_statement",
"singleFieldNames": ["condition", "consequence"],
"nodeTypeToMultipleFieldName": {
- "else_clause": "alternative",
- "elseif_clause": "alternative"
+ "else_statement": "alternative",
+ "elseif_statement": "alternative"
},
"multipleOrChildrenFieldNames": ["alternative"]
},
"label_statement": {
"type": "label_statement",
- "singleFieldNames": ["name"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "local_function_definition_statement": {
- "type": "local_function_definition_statement",
- "singleFieldNames": ["body", "name", "parameters"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "local_variable_declaration": {
- "type": "local_variable_declaration",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "expression_list": "children",
- "variable_list": "children"
+ "identifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
- "parameter_list": {
- "type": "parameter_list",
+ "method_index_expression": {
+ "type": "method_index_expression",
+ "singleFieldNames": ["method", "table"],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
+ "parameters": {
+ "type": "parameters",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
"identifier": "name",
@@ -213,17 +242,19 @@
"nodeTypeToMultipleFieldName": {
"binary_expression": "children",
"false": "children",
+ "function_call": "children",
"function_definition": "children",
"nil": "children",
"number": "children",
- "call": "children",
"parenthesized_expression": "children",
- "variable": "children",
"string": "children",
- "table": "children",
+ "table_constructor": "children",
"true": "children",
"unary_expression": "children",
- "vararg_expression": "children"
+ "vararg_expression": "children",
+ "bracket_index_expression": "children",
+ "dot_index_expression": "children",
+ "identifier": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -237,44 +268,43 @@
"type": "return_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "empty_statement": "children",
"expression_list": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
"string": {
"type": "string",
- "singleFieldNames": [],
+ "singleFieldNames": ["content", "end", "start"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "table": {
- "type": "table",
+ "string_content": {
+ "type": "string_content",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "escape_sequence": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "table_constructor": {
+ "type": "table_constructor",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "field_list": "children"
+ "field": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
"unary_expression": {
"type": "unary_expression",
- "singleFieldNames": ["argument", "operator"],
+ "singleFieldNames": ["operand"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "variable": {
- "type": "variable",
- "singleFieldNames": ["field", "method", "name", "table"],
- "nodeTypeToMultipleFieldName": {
- "attribute": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "variable_assignment": {
- "type": "variable_assignment",
+ "variable_declaration": {
+ "type": "variable_declaration",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "expression_list": "children",
+ "assignment_statement": "children",
"variable_list": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -283,10 +313,12 @@
"type": "variable_list",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "identifier": "name",
- "variable": "children"
+ "attribute": "attribute",
+ "bracket_index_expression": "name",
+ "dot_index_expression": "name",
+ "identifier": "name"
},
- "multipleOrChildrenFieldNames": ["name", "children"]
+ "multipleOrChildrenFieldNames": ["attribute", "name"]
},
"while_statement": {
"type": "while_statement",
@@ -294,122 +326,50 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "#": {
- "type": "#",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "%": {
- "type": "%",
+ "--": {
+ "type": "--",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "&": {
- "type": "&",
+ "[[": {
+ "type": "[[",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "*": {
- "type": "*",
+ "]]": {
+ "type": "]]",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "+": {
- "type": "+",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "-": {
- "type": "-",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "..": {
- "type": "..",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "/": {
- "type": "/",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "//": {
- "type": "//",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "<": {
- "type": "<",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "<<": {
- "type": "<<",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "<=": {
- "type": "<=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "==": {
- "type": "==",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- ">": {
- "type": ">",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- ">=": {
- "type": ">=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- ">>": {
- "type": ">>",
+ "break_statement": {
+ "type": "break_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "^": {
- "type": "^",
+ "comment_content": {
+ "type": "comment_content",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "and": {
- "type": "and",
+ "escape_sequence": {
+ "type": "escape_sequence",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "break_statement": {
- "type": "break_statement",
+ "false": {
+ "type": "false",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "false": {
- "type": "false",
+ "hash_bang_line": {
+ "type": "hash_bang_line",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
@@ -426,30 +386,12 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "not": {
- "type": "not",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"number": {
"type": "number",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
- "or": {
- "type": "or",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "shebang": {
- "type": "shebang",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
"true": {
"type": "true",
"singleFieldNames": [],
@@ -461,23 +403,5 @@
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
- },
- "|": {
- "type": "|",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "~": {
- "type": "~",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "~=": {
- "type": "~=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
}
}
diff --git a/packages/tree-sitter-port/output/tree-sitter-lua/meta.json b/packages/tree-sitter-port/output/tree-sitter-lua/meta.json
index d6f69ee..6b94e7d 100644
--- a/packages/tree-sitter-port/output/tree-sitter-lua/meta.json
+++ b/packages/tree-sitter-port/output/tree-sitter-lua/meta.json
@@ -1,5 +1,5 @@
{
"name": "tree-sitter-lua",
- "version": "2.1.3",
- "generatedAt": "2023-08-13T18:16:28.581Z"
+ "version": "0.1.0",
+ "generatedAt": "2024-06-26T15:41:59.042Z"
}
diff --git a/packages/tree-sitter-port/output/tree-sitter-lua/parser.wasm b/packages/tree-sitter-port/output/tree-sitter-lua/parser.wasm
index 6f44988..9e28306 100755
Binary files a/packages/tree-sitter-port/output/tree-sitter-lua/parser.wasm and b/packages/tree-sitter-port/output/tree-sitter-lua/parser.wasm differ
diff --git a/packages/tree-sitter-port/output/tree-sitter-php/fields-meta.json b/packages/tree-sitter-port/output/tree-sitter-php/fields-meta.json
deleted file mode 100644
index efb8d64..0000000
--- a/packages/tree-sitter-port/output/tree-sitter-php/fields-meta.json
+++ /dev/null
@@ -1,3051 +0,0 @@
-{
- "abstract_modifier": {
- "type": "abstract_modifier",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "anonymous_function_creation_expression": {
- "type": "anonymous_function_creation_expression",
- "singleFieldNames": [
- "attributes",
- "body",
- "parameters",
- "reference_modifier",
- "return_type"
- ],
- "nodeTypeToMultipleFieldName": {
- "anonymous_function_use_clause": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "anonymous_function_use_clause": {
- "type": "anonymous_function_use_clause",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "by_ref": "children",
- "variable_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "argument": {
- "type": "argument",
- "singleFieldNames": ["name", "reference_modifier"],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "variadic_unpacking": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "arguments": {
- "type": "arguments",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "argument": "children",
- "variadic_placeholder": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "array_creation_expression": {
- "type": "array_creation_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "array_element_initializer": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "array_element_initializer": {
- "type": "array_element_initializer",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "by_ref": "children",
- "variadic_unpacking": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "arrow_function": {
- "type": "arrow_function",
- "singleFieldNames": [
- "attributes",
- "body",
- "parameters",
- "reference_modifier",
- "return_type"
- ],
- "nodeTypeToMultipleFieldName": {
- "static_modifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "assignment_expression": {
- "type": "assignment_expression",
- "singleFieldNames": ["left", "right"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "attribute": {
- "type": "attribute",
- "singleFieldNames": ["parameters"],
- "nodeTypeToMultipleFieldName": {
- "name": "children",
- "qualified_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "attribute_group": {
- "type": "attribute_group",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "attribute": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "attribute_list": {
- "type": "attribute_list",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "attribute_group": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "augmented_assignment_expression": {
- "type": "augmented_assignment_expression",
- "singleFieldNames": ["left", "operator", "right"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "base_clause": {
- "type": "base_clause",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "name": "children",
- "qualified_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "binary_expression": {
- "type": "binary_expression",
- "singleFieldNames": ["left", "operator", "right"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "break_statement": {
- "type": "break_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "by_ref": {
- "type": "by_ref",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "scoped_call_expression": "children",
- "subscript_expression": "children",
- "variable_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "case_statement": {
- "type": "case_statement",
- "singleFieldNames": ["value"],
- "nodeTypeToMultipleFieldName": {
- "break_statement": "children",
- "class_declaration": "children",
- "compound_statement": "children",
- "const_declaration": "children",
- "continue_statement": "children",
- "declare_statement": "children",
- "do_statement": "children",
- "echo_statement": "children",
- "empty_statement": "children",
- "enum_declaration": "children",
- "expression_statement": "children",
- "for_statement": "children",
- "foreach_statement": "children",
- "function_definition": "children",
- "function_static_declaration": "children",
- "global_declaration": "children",
- "goto_statement": "children",
- "if_statement": "children",
- "interface_declaration": "children",
- "named_label_statement": "children",
- "namespace_definition": "children",
- "namespace_use_declaration": "children",
- "return_statement": "children",
- "switch_statement": "children",
- "trait_declaration": "children",
- "try_statement": "children",
- "unset_statement": "children",
- "while_statement": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "cast_expression": {
- "type": "cast_expression",
- "singleFieldNames": ["type", "value"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "cast_type": {
- "type": "cast_type",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "catch_clause": {
- "type": "catch_clause",
- "singleFieldNames": ["body", "name", "type"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "class_constant_access_expression": {
- "type": "class_constant_access_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "array_creation_expression": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "encapsed_string": "children",
- "function_call_expression": "children",
- "heredoc": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nowdoc": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "parenthesized_expression": "children",
- "qualified_name": "children",
- "relative_scope": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "string": "children",
- "subscript_expression": "children",
- "variable_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "class_declaration": {
- "type": "class_declaration",
- "singleFieldNames": ["attributes", "body", "modifier", "name"],
- "nodeTypeToMultipleFieldName": {
- "base_clause": "children",
- "class_interface_clause": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "class_interface_clause": {
- "type": "class_interface_clause",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "name": "children",
- "qualified_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "clone_expression": {
- "type": "clone_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "colon_block": {
- "type": "colon_block",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "break_statement": "children",
- "class_declaration": "children",
- "compound_statement": "children",
- "const_declaration": "children",
- "continue_statement": "children",
- "declare_statement": "children",
- "do_statement": "children",
- "echo_statement": "children",
- "empty_statement": "children",
- "enum_declaration": "children",
- "expression_statement": "children",
- "for_statement": "children",
- "foreach_statement": "children",
- "function_definition": "children",
- "function_static_declaration": "children",
- "global_declaration": "children",
- "goto_statement": "children",
- "if_statement": "children",
- "interface_declaration": "children",
- "named_label_statement": "children",
- "namespace_definition": "children",
- "namespace_use_declaration": "children",
- "return_statement": "children",
- "switch_statement": "children",
- "trait_declaration": "children",
- "try_statement": "children",
- "unset_statement": "children",
- "while_statement": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "compound_statement": {
- "type": "compound_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "break_statement": "children",
- "class_declaration": "children",
- "compound_statement": "children",
- "const_declaration": "children",
- "continue_statement": "children",
- "declare_statement": "children",
- "do_statement": "children",
- "echo_statement": "children",
- "empty_statement": "children",
- "enum_declaration": "children",
- "expression_statement": "children",
- "for_statement": "children",
- "foreach_statement": "children",
- "function_definition": "children",
- "function_static_declaration": "children",
- "global_declaration": "children",
- "goto_statement": "children",
- "if_statement": "children",
- "interface_declaration": "children",
- "named_label_statement": "children",
- "namespace_definition": "children",
- "namespace_use_declaration": "children",
- "return_statement": "children",
- "switch_statement": "children",
- "trait_declaration": "children",
- "try_statement": "children",
- "unset_statement": "children",
- "while_statement": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "conditional_expression": {
- "type": "conditional_expression",
- "singleFieldNames": ["alternative", "body", "condition"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "const_declaration": {
- "type": "const_declaration",
- "singleFieldNames": ["attributes", "modifier"],
- "nodeTypeToMultipleFieldName": {
- "const_element": "children",
- "visibility_modifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "const_element": {
- "type": "const_element",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "continue_statement": {
- "type": "continue_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "declaration_list": {
- "type": "declaration_list",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "const_declaration": "children",
- "method_declaration": "children",
- "property_declaration": "children",
- "use_declaration": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "declare_directive": {
- "type": "declare_directive",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "declare_statement": {
- "type": "declare_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "break_statement": "children",
- "class_declaration": "children",
- "compound_statement": "children",
- "const_declaration": "children",
- "continue_statement": "children",
- "declare_statement": "children",
- "do_statement": "children",
- "echo_statement": "children",
- "empty_statement": "children",
- "enum_declaration": "children",
- "expression_statement": "children",
- "for_statement": "children",
- "foreach_statement": "children",
- "function_definition": "children",
- "function_static_declaration": "children",
- "global_declaration": "children",
- "goto_statement": "children",
- "if_statement": "children",
- "interface_declaration": "children",
- "named_label_statement": "children",
- "namespace_definition": "children",
- "namespace_use_declaration": "children",
- "return_statement": "children",
- "switch_statement": "children",
- "trait_declaration": "children",
- "try_statement": "children",
- "unset_statement": "children",
- "while_statement": "children",
- "declare_directive": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "default_statement": {
- "type": "default_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "break_statement": "children",
- "class_declaration": "children",
- "compound_statement": "children",
- "const_declaration": "children",
- "continue_statement": "children",
- "declare_statement": "children",
- "do_statement": "children",
- "echo_statement": "children",
- "empty_statement": "children",
- "enum_declaration": "children",
- "expression_statement": "children",
- "for_statement": "children",
- "foreach_statement": "children",
- "function_definition": "children",
- "function_static_declaration": "children",
- "global_declaration": "children",
- "goto_statement": "children",
- "if_statement": "children",
- "interface_declaration": "children",
- "named_label_statement": "children",
- "namespace_definition": "children",
- "namespace_use_declaration": "children",
- "return_statement": "children",
- "switch_statement": "children",
- "trait_declaration": "children",
- "try_statement": "children",
- "unset_statement": "children",
- "while_statement": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "do_statement": {
- "type": "do_statement",
- "singleFieldNames": ["body", "condition"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "dynamic_variable_name": {
- "type": "dynamic_variable_name",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "echo_statement": {
- "type": "echo_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "sequence_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "else_clause": {
- "type": "else_clause",
- "singleFieldNames": ["body"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "else_if_clause": {
- "type": "else_if_clause",
- "singleFieldNames": ["body", "condition"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "empty_statement": {
- "type": "empty_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "encapsed_string": {
- "type": "encapsed_string",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "escape_sequence": "children",
- "string_value": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "enum_case": {
- "type": "enum_case",
- "singleFieldNames": ["attributes", "name", "value"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "enum_declaration": {
- "type": "enum_declaration",
- "singleFieldNames": ["attributes", "body", "name"],
- "nodeTypeToMultipleFieldName": {
- "class_interface_clause": "children",
- "primitive_type": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "enum_declaration_list": {
- "type": "enum_declaration_list",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "enum_case": "children",
- "method_declaration": "children",
- "use_declaration": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "exponentiation_expression": {
- "type": "exponentiation_expression",
- "singleFieldNames": ["left", "right"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "expression_statement": {
- "type": "expression_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "final_modifier": {
- "type": "final_modifier",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "finally_clause": {
- "type": "finally_clause",
- "singleFieldNames": ["body"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "for_statement": {
- "type": "for_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "break_statement": "children",
- "class_declaration": "children",
- "compound_statement": "children",
- "const_declaration": "children",
- "continue_statement": "children",
- "declare_statement": "children",
- "do_statement": "children",
- "echo_statement": "children",
- "empty_statement": "children",
- "enum_declaration": "children",
- "expression_statement": "children",
- "for_statement": "children",
- "foreach_statement": "children",
- "function_definition": "children",
- "function_static_declaration": "children",
- "global_declaration": "children",
- "goto_statement": "children",
- "if_statement": "children",
- "interface_declaration": "children",
- "named_label_statement": "children",
- "namespace_definition": "children",
- "namespace_use_declaration": "children",
- "return_statement": "children",
- "switch_statement": "children",
- "trait_declaration": "children",
- "try_statement": "children",
- "unset_statement": "children",
- "while_statement": "children",
- "sequence_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "foreach_statement": {
- "type": "foreach_statement",
- "singleFieldNames": ["body"],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "by_ref": "children",
- "list_literal": "children",
- "pair": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "formal_parameters": {
- "type": "formal_parameters",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "property_promotion_parameter": "children",
- "simple_parameter": "children",
- "variadic_parameter": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "function_call_expression": {
- "type": "function_call_expression",
- "singleFieldNames": ["arguments", "function"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "function_definition": {
- "type": "function_definition",
- "singleFieldNames": [
- "attributes",
- "body",
- "name",
- "parameters",
- "reference_modifier",
- "return_type"
- ],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "function_static_declaration": {
- "type": "function_static_declaration",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "static_variable_declaration": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "global_declaration": {
- "type": "global_declaration",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "dynamic_variable_name": "children",
- "variable_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "goto_statement": {
- "type": "goto_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "heredoc": {
- "type": "heredoc",
- "singleFieldNames": ["end_tag", "value"],
- "nodeTypeToMultipleFieldName": {
- "\"": "identifier",
- "heredoc_start": "identifier"
- },
- "multipleOrChildrenFieldNames": ["identifier"]
- },
- "heredoc_body": {
- "type": "heredoc_body",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "escape_sequence": "children",
- "string_value": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "if_statement": {
- "type": "if_statement",
- "singleFieldNames": ["body", "condition"],
- "nodeTypeToMultipleFieldName": {
- "else_clause": "alternative",
- "else_if_clause": "alternative"
- },
- "multipleOrChildrenFieldNames": ["alternative"]
- },
- "include_expression": {
- "type": "include_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "include_once_expression": {
- "type": "include_once_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "interface_declaration": {
- "type": "interface_declaration",
- "singleFieldNames": ["body", "name"],
- "nodeTypeToMultipleFieldName": {
- "base_clause": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "intersection_type": {
- "type": "intersection_type",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "named_type": "children",
- "optional_type": "children",
- "primitive_type": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "list_literal": {
- "type": "list_literal",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "by_ref": "children",
- "list_literal": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "match_block": {
- "type": "match_block",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "match_conditional_expression": "children",
- "match_default_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "match_condition_list": {
- "type": "match_condition_list",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "match_conditional_expression": {
- "type": "match_conditional_expression",
- "singleFieldNames": ["conditional_expressions", "return_expression"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "match_default_expression": {
- "type": "match_default_expression",
- "singleFieldNames": ["return_expression"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "match_expression": {
- "type": "match_expression",
- "singleFieldNames": ["body", "condition"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "member_access_expression": {
- "type": "member_access_expression",
- "singleFieldNames": ["name", "object"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "member_call_expression": {
- "type": "member_call_expression",
- "singleFieldNames": ["arguments", "name", "object"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "method_declaration": {
- "type": "method_declaration",
- "singleFieldNames": [
- "attributes",
- "body",
- "name",
- "parameters",
- "reference_modifier",
- "return_type"
- ],
- "nodeTypeToMultipleFieldName": {
- "abstract_modifier": "children",
- "final_modifier": "children",
- "readonly_modifier": "children",
- "static_modifier": "children",
- "var_modifier": "children",
- "visibility_modifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "name": {
- "type": "name",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "named_label_statement": {
- "type": "named_label_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "named_type": {
- "type": "named_type",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "name": "children",
- "qualified_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "namespace_aliasing_clause": {
- "type": "namespace_aliasing_clause",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "namespace_definition": {
- "type": "namespace_definition",
- "singleFieldNames": ["body", "name"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "namespace_name": {
- "type": "namespace_name",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "namespace_name_as_prefix": {
- "type": "namespace_name_as_prefix",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "namespace_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "namespace_use_clause": {
- "type": "namespace_use_clause",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "name": "children",
- "namespace_aliasing_clause": "children",
- "qualified_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "namespace_use_declaration": {
- "type": "namespace_use_declaration",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "namespace_name": "children",
- "namespace_use_clause": "children",
- "namespace_use_group": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "namespace_use_group": {
- "type": "namespace_use_group",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "namespace_use_group_clause": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "namespace_use_group_clause": {
- "type": "namespace_use_group_clause",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "namespace_aliasing_clause": "children",
- "namespace_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "nowdoc": {
- "type": "nowdoc",
- "singleFieldNames": ["end_tag", "identifier", "value"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "nowdoc_body": {
- "type": "nowdoc_body",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "nowdoc_string": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "nullsafe_member_access_expression": {
- "type": "nullsafe_member_access_expression",
- "singleFieldNames": ["name", "object"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "nullsafe_member_call_expression": {
- "type": "nullsafe_member_call_expression",
- "singleFieldNames": ["arguments", "name", "object"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "object_creation_expression": {
- "type": "object_creation_expression",
- "singleFieldNames": ["attributes"],
- "nodeTypeToMultipleFieldName": {
- "arguments": "children",
- "base_clause": "children",
- "class_interface_clause": "children",
- "declaration_list": "children",
- "dynamic_variable_name": "children",
- "member_access_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "qualified_name": "children",
- "scoped_property_access_expression": "children",
- "subscript_expression": "children",
- "variable_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "optional_type": {
- "type": "optional_type",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "named_type": "children",
- "primitive_type": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "pair": {
- "type": "pair",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "by_ref": "children",
- "list_literal": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "parenthesized_expression": {
- "type": "parenthesized_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "primitive_type": {
- "type": "primitive_type",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "print_intrinsic": {
- "type": "print_intrinsic",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "program": {
- "type": "program",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "break_statement": "children",
- "class_declaration": "children",
- "compound_statement": "children",
- "const_declaration": "children",
- "continue_statement": "children",
- "declare_statement": "children",
- "do_statement": "children",
- "echo_statement": "children",
- "empty_statement": "children",
- "enum_declaration": "children",
- "expression_statement": "children",
- "for_statement": "children",
- "foreach_statement": "children",
- "function_definition": "children",
- "function_static_declaration": "children",
- "global_declaration": "children",
- "goto_statement": "children",
- "if_statement": "children",
- "interface_declaration": "children",
- "named_label_statement": "children",
- "namespace_definition": "children",
- "namespace_use_declaration": "children",
- "return_statement": "children",
- "switch_statement": "children",
- "trait_declaration": "children",
- "try_statement": "children",
- "unset_statement": "children",
- "while_statement": "children",
- "php_tag": "children",
- "text": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "property_declaration": {
- "type": "property_declaration",
- "singleFieldNames": ["attributes", "type"],
- "nodeTypeToMultipleFieldName": {
- "abstract_modifier": "children",
- "final_modifier": "children",
- "property_element": "children",
- "readonly_modifier": "children",
- "static_modifier": "children",
- "var_modifier": "children",
- "visibility_modifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "property_element": {
- "type": "property_element",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "property_initializer": "children",
- "variable_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "property_initializer": {
- "type": "property_initializer",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "property_promotion_parameter": {
- "type": "property_promotion_parameter",
- "singleFieldNames": [
- "default_value",
- "name",
- "readonly",
- "type",
- "visibility"
- ],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "qualified_name": {
- "type": "qualified_name",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "name": "children",
- "namespace_name_as_prefix": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "readonly_modifier": {
- "type": "readonly_modifier",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "reference_assignment_expression": {
- "type": "reference_assignment_expression",
- "singleFieldNames": ["left", "right"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "reference_modifier": {
- "type": "reference_modifier",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "relative_scope": {
- "type": "relative_scope",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "require_expression": {
- "type": "require_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "require_once_expression": {
- "type": "require_once_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "return_statement": {
- "type": "return_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "scoped_call_expression": {
- "type": "scoped_call_expression",
- "singleFieldNames": ["arguments", "name", "scope"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "scoped_property_access_expression": {
- "type": "scoped_property_access_expression",
- "singleFieldNames": ["name", "scope"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "sequence_expression": {
- "type": "sequence_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "sequence_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "shell_command_expression": {
- "type": "shell_command_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "escape_sequence": "children",
- "string_value": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "simple_parameter": {
- "type": "simple_parameter",
- "singleFieldNames": [
- "attributes",
- "default_value",
- "name",
- "reference_modifier",
- "type"
- ],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "static_modifier": {
- "type": "static_modifier",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "static_variable_declaration": {
- "type": "static_variable_declaration",
- "singleFieldNames": ["name", "value"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "subscript_expression": {
- "type": "subscript_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "switch_block": {
- "type": "switch_block",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "case_statement": "children",
- "default_statement": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "switch_statement": {
- "type": "switch_statement",
- "singleFieldNames": ["body", "condition"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "text": {
- "type": "text",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "text_interpolation": {
- "type": "text_interpolation",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "php_tag": "children",
- "text": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "throw_expression": {
- "type": "throw_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "trait_declaration": {
- "type": "trait_declaration",
- "singleFieldNames": ["body", "name"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "try_statement": {
- "type": "try_statement",
- "singleFieldNames": ["body"],
- "nodeTypeToMultipleFieldName": {
- "catch_clause": "children",
- "finally_clause": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "type_list": {
- "type": "type_list",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "named_type": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "unary_op_expression": {
- "type": "unary_op_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "union_type": {
- "type": "union_type",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "named_type": "children",
- "optional_type": "children",
- "primitive_type": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "unset_statement": {
- "type": "unset_statement",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "cast_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "subscript_expression": "children",
- "variable_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "update_expression": {
- "type": "update_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "cast_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "subscript_expression": "children",
- "variable_name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "use_as_clause": {
- "type": "use_as_clause",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "class_constant_access_expression": "children",
- "name": "children",
- "visibility_modifier": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "use_declaration": {
- "type": "use_declaration",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "name": "children",
- "qualified_name": "children",
- "use_list": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "use_instead_of_clause": {
- "type": "use_instead_of_clause",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "class_constant_access_expression": "children",
- "name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "use_list": {
- "type": "use_list",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "use_as_clause": "children",
- "use_instead_of_clause": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "variable_name": {
- "type": "variable_name",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "name": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "variadic_parameter": {
- "type": "variadic_parameter",
- "singleFieldNames": ["attributes", "name", "reference_modifier", "type"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "variadic_placeholder": {
- "type": "variadic_placeholder",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "variadic_unpacking": {
- "type": "variadic_unpacking",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "visibility_modifier": {
- "type": "visibility_modifier",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "while_statement": {
- "type": "while_statement",
- "singleFieldNames": ["body", "condition"],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "yield_expression": {
- "type": "yield_expression",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {
- "boolean": "children",
- "encapsed_string": "children",
- "float": "children",
- "heredoc": "children",
- "integer": "children",
- "nowdoc": "children",
- "null": "children",
- "string": "children",
- "anonymous_function_creation_expression": "children",
- "array_creation_expression": "children",
- "arrow_function": "children",
- "cast_expression": "children",
- "class_constant_access_expression": "children",
- "dynamic_variable_name": "children",
- "function_call_expression": "children",
- "member_access_expression": "children",
- "member_call_expression": "children",
- "name": "children",
- "nullsafe_member_access_expression": "children",
- "nullsafe_member_call_expression": "children",
- "object_creation_expression": "children",
- "parenthesized_expression": "children",
- "print_intrinsic": "children",
- "qualified_name": "children",
- "scoped_call_expression": "children",
- "scoped_property_access_expression": "children",
- "shell_command_expression": "children",
- "subscript_expression": "children",
- "throw_expression": "children",
- "update_expression": "children",
- "variable_name": "children",
- "assignment_expression": "children",
- "augmented_assignment_expression": "children",
- "binary_expression": "children",
- "clone_expression": "children",
- "conditional_expression": "children",
- "exponentiation_expression": "children",
- "include_expression": "children",
- "include_once_expression": "children",
- "match_expression": "children",
- "reference_assignment_expression": "children",
- "require_expression": "children",
- "require_once_expression": "children",
- "unary_op_expression": "children",
- "yield_expression": "children",
- "array_element_initializer": "children"
- },
- "multipleOrChildrenFieldNames": ["children"]
- },
- "!=": {
- "type": "!=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "!==": {
- "type": "!==",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "\"": {
- "type": "\"",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "%": {
- "type": "%",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "%=": {
- "type": "%=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "&": {
- "type": "&",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "&&": {
- "type": "&&",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "&=": {
- "type": "&=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "*": {
- "type": "*",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "**=": {
- "type": "**=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "*=": {
- "type": "*=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "+": {
- "type": "+",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "+=": {
- "type": "+=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "-": {
- "type": "-",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "-=": {
- "type": "-=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- ".": {
- "type": ".",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- ".=": {
- "type": ".=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "/": {
- "type": "/",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "/=": {
- "type": "/=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "<": {
- "type": "<",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "<<": {
- "type": "<<",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "<<=": {
- "type": "<<=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "<=": {
- "type": "<=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "<=>": {
- "type": "<=>",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "<>": {
- "type": "<>",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "==": {
- "type": "==",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "===": {
- "type": "===",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- ">": {
- "type": ">",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- ">=": {
- "type": ">=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- ">>": {
- "type": ">>",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- ">>=": {
- "type": ">>=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "??": {
- "type": "??",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "??=": {
- "type": "??=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "^": {
- "type": "^",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "^=": {
- "type": "^=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "and": {
- "type": "and",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "boolean": {
- "type": "boolean",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "bottom_type": {
- "type": "bottom_type",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "comment": {
- "type": "comment",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "escape_sequence": {
- "type": "escape_sequence",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "heredoc_end": {
- "type": "heredoc_end",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "heredoc_start": {
- "type": "heredoc_start",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "instanceof": {
- "type": "instanceof",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "integer": {
- "type": "integer",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "nowdoc_string": {
- "type": "nowdoc_string",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "or": {
- "type": "or",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "php_tag": {
- "type": "php_tag",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "string_value": {
- "type": "string_value",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "var_modifier": {
- "type": "var_modifier",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "xor": {
- "type": "xor",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "|": {
- "type": "|",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "|=": {
- "type": "|=",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- },
- "||": {
- "type": "||",
- "singleFieldNames": [],
- "nodeTypeToMultipleFieldName": {},
- "multipleOrChildrenFieldNames": []
- }
-}
diff --git a/packages/tree-sitter-port/output/tree-sitter-php/meta.json b/packages/tree-sitter-port/output/tree-sitter-php/meta.json
index 3470dad..53dd175 100644
--- a/packages/tree-sitter-port/output/tree-sitter-php/meta.json
+++ b/packages/tree-sitter-port/output/tree-sitter-php/meta.json
@@ -1,5 +1,5 @@
{
"name": "tree-sitter-php",
- "version": "0.19.0",
- "generatedAt": "2023-08-13T18:16:29.152Z"
+ "version": "0.22.5",
+ "generatedAt": "2024-06-26T15:42:10.851Z"
}
diff --git a/packages/tree-sitter-port/output/tree-sitter-php/parser.wasm b/packages/tree-sitter-port/output/tree-sitter-php/parser.wasm
deleted file mode 100755
index bbfba40..0000000
Binary files a/packages/tree-sitter-port/output/tree-sitter-php/parser.wasm and /dev/null differ
diff --git a/packages/tree-sitter-port/output/tree-sitter-python/fields-meta.json b/packages/tree-sitter-port/output/tree-sitter-python/fields-meta.json
index 7c15652..db41dd9 100644
--- a/packages/tree-sitter-port/output/tree-sitter-python/fields-meta.json
+++ b/packages/tree-sitter-port/output/tree-sitter-python/fields-meta.json
@@ -50,6 +50,7 @@
"type": "as_pattern",
"singleFieldNames": ["alias"],
"nodeTypeToMultipleFieldName": {
+ "case_pattern": "children",
"as_pattern": "children",
"boolean_operator": "children",
"comparison_operator": "children",
@@ -176,7 +177,8 @@
"pass_statement": "children",
"print_statement": "children",
"raise_statement": "children",
- "return_statement": "children"
+ "return_statement": "children",
+ "type_alias_statement": "children"
},
"multipleOrChildrenFieldNames": ["alternative", "children"]
},
@@ -202,9 +204,33 @@
"type": "case_clause",
"singleFieldNames": ["consequence", "guard"],
"nodeTypeToMultipleFieldName": {
- "case_pattern": "pattern"
+ "case_pattern": "children"
},
- "multipleOrChildrenFieldNames": ["pattern"]
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "case_pattern": {
+ "type": "case_pattern",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "as_pattern": "children",
+ "class_pattern": "children",
+ "complex_pattern": "children",
+ "concatenated_string": "children",
+ "dict_pattern": "children",
+ "dotted_name": "children",
+ "false": "children",
+ "float": "children",
+ "integer": "children",
+ "keyword_pattern": "children",
+ "list_pattern": "children",
+ "none": "children",
+ "splat_pattern": "children",
+ "string": "children",
+ "true": "children",
+ "tuple_pattern": "children",
+ "union_pattern": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
},
"chevron": {
"type": "chevron",
@@ -247,10 +273,19 @@
},
"class_definition": {
"type": "class_definition",
- "singleFieldNames": ["body", "name", "superclasses"],
+ "singleFieldNames": ["body", "name", "superclasses", "type_parameters"],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "class_pattern": {
+ "type": "class_pattern",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "case_pattern": "children",
+ "dotted_name": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
"comparison_operator": {
"type": "comparison_operator",
"singleFieldNames": [],
@@ -294,6 +329,15 @@
},
"multipleOrChildrenFieldNames": ["operators", "children"]
},
+ "complex_pattern": {
+ "type": "complex_pattern",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "float": "children",
+ "integer": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
"concatenated_string": {
"type": "concatenated_string",
"singleFieldNames": [],
@@ -341,6 +385,14 @@
},
"multipleOrChildrenFieldNames": ["children"]
},
+ "constrained_type": {
+ "type": "constrained_type",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "type": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
"continue_statement": {
"type": "continue_statement",
"singleFieldNames": [],
@@ -440,6 +492,31 @@
},
"multipleOrChildrenFieldNames": ["children"]
},
+ "dict_pattern": {
+ "type": "dict_pattern",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "case_pattern": "value",
+ "splat_pattern": "children",
+ "-": "children",
+ "_": "children",
+ "class_pattern": "children",
+ "complex_pattern": "children",
+ "concatenated_string": "children",
+ "dict_pattern": "children",
+ "dotted_name": "children",
+ "false": "children",
+ "float": "children",
+ "integer": "children",
+ "list_pattern": "children",
+ "none": "children",
+ "string": "children",
+ "true": "children",
+ "tuple_pattern": "children",
+ "union_pattern": "children"
+ },
+ "multipleOrChildrenFieldNames": ["value", "children"]
+ },
"dictionary": {
"type": "dictionary",
"singleFieldNames": [],
@@ -797,7 +874,13 @@
},
"function_definition": {
"type": "function_definition",
- "singleFieldNames": ["body", "name", "parameters", "return_type"],
+ "singleFieldNames": [
+ "body",
+ "name",
+ "parameters",
+ "return_type",
+ "type_parameters"
+ ],
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
@@ -819,6 +902,15 @@
},
"multipleOrChildrenFieldNames": ["children"]
},
+ "generic_type": {
+ "type": "generic_type",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "identifier": "children",
+ "type_parameter": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
"global_statement": {
"type": "global_statement",
"singleFieldNames": [],
@@ -912,6 +1004,29 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "keyword_pattern": {
+ "type": "keyword_pattern",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "class_pattern": "children",
+ "complex_pattern": "children",
+ "concatenated_string": "children",
+ "dict_pattern": "children",
+ "dotted_name": "children",
+ "false": "children",
+ "float": "children",
+ "identifier": "children",
+ "integer": "children",
+ "list_pattern": "children",
+ "none": "children",
+ "splat_pattern": "children",
+ "string": "children",
+ "true": "children",
+ "tuple_pattern": "children",
+ "union_pattern": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
"keyword_separator": {
"type": "keyword_separator",
"singleFieldNames": [],
@@ -988,6 +1103,7 @@
"type": "list_pattern",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "case_pattern": "children",
"attribute": "children",
"identifier": "children",
"list_pattern": "children",
@@ -1085,6 +1201,15 @@
},
"multipleOrChildrenFieldNames": ["subject"]
},
+ "member_type": {
+ "type": "member_type",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "identifier": "children",
+ "type": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
"module": {
"type": "module",
"singleFieldNames": [],
@@ -1112,7 +1237,8 @@
"pass_statement": "children",
"print_statement": "children",
"raise_statement": "children",
- "return_statement": "children"
+ "return_statement": "children",
+ "type_alias_statement": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -1450,6 +1576,22 @@
},
"multipleOrChildrenFieldNames": ["children"]
},
+ "splat_pattern": {
+ "type": "splat_pattern",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "identifier": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "splat_type": {
+ "type": "splat_type",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "identifier": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
"string": {
"type": "string",
"singleFieldNames": [],
@@ -1465,6 +1607,7 @@
"type": "string_content",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "escape_interpolation": "children",
"escape_sequence": "children"
},
"multipleOrChildrenFieldNames": ["children"]
@@ -1565,6 +1708,7 @@
"type": "tuple_pattern",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
+ "case_pattern": "children",
"attribute": "children",
"identifier": "children",
"list_pattern": "children",
@@ -1574,42 +1718,19 @@
},
"multipleOrChildrenFieldNames": ["children"]
},
- "type": {
- "type": "type",
+ "type_alias_statement": {
+ "type": "type_alias_statement",
"singleFieldNames": [],
"nodeTypeToMultipleFieldName": {
- "as_pattern": "children",
- "boolean_operator": "children",
- "comparison_operator": "children",
- "conditional_expression": "children",
- "lambda": "children",
- "named_expression": "children",
- "not_operator": "children",
- "attribute": "children",
- "await": "children",
- "binary_operator": "children",
- "call": "children",
- "concatenated_string": "children",
- "dictionary": "children",
- "dictionary_comprehension": "children",
- "ellipsis": "children",
- "false": "children",
- "float": "children",
- "generator_expression": "children",
- "identifier": "children",
- "integer": "children",
- "list": "children",
- "list_comprehension": "children",
- "list_splat": "children",
- "none": "children",
- "parenthesized_expression": "children",
- "set": "children",
- "set_comprehension": "children",
- "string": "children",
- "subscript": "children",
- "true": "children",
- "tuple": "children",
- "unary_operator": "children"
+ "type": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "type_parameter": {
+ "type": "type_parameter",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "type": "children"
},
"multipleOrChildrenFieldNames": ["children"]
},
@@ -1635,6 +1756,36 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "union_pattern": {
+ "type": "union_pattern",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "class_pattern": "children",
+ "complex_pattern": "children",
+ "concatenated_string": "children",
+ "dict_pattern": "children",
+ "dotted_name": "children",
+ "false": "children",
+ "float": "children",
+ "integer": "children",
+ "list_pattern": "children",
+ "none": "children",
+ "splat_pattern": "children",
+ "string": "children",
+ "true": "children",
+ "tuple_pattern": "children",
+ "union_pattern": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
+ "union_type": {
+ "type": "union_type",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {
+ "type": "children"
+ },
+ "multipleOrChildrenFieldNames": ["children"]
+ },
"while_statement": {
"type": "while_statement",
"singleFieldNames": ["alternative", "body", "condition"],
@@ -1855,6 +2006,12 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "_": {
+ "type": "_",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"and": {
"type": "and",
"singleFieldNames": [],
@@ -1867,6 +2024,12 @@
"nodeTypeToMultipleFieldName": {},
"multipleOrChildrenFieldNames": []
},
+ "escape_interpolation": {
+ "type": "escape_interpolation",
+ "singleFieldNames": [],
+ "nodeTypeToMultipleFieldName": {},
+ "multipleOrChildrenFieldNames": []
+ },
"escape_sequence": {
"type": "escape_sequence",
"singleFieldNames": [],
diff --git a/packages/tree-sitter-port/output/tree-sitter-python/meta.json b/packages/tree-sitter-port/output/tree-sitter-python/meta.json
index 3a94bda..82f0b62 100644
--- a/packages/tree-sitter-port/output/tree-sitter-python/meta.json
+++ b/packages/tree-sitter-port/output/tree-sitter-python/meta.json
@@ -1,5 +1,5 @@
{
"name": "tree-sitter-python",
- "version": "0.20.3",
- "generatedAt": "2023-08-13T18:16:21.498Z"
+ "version": "0.21.0",
+ "generatedAt": "2024-06-26T15:41:11.470Z"
}
diff --git a/packages/tree-sitter-port/output/tree-sitter-python/parser.wasm b/packages/tree-sitter-port/output/tree-sitter-python/parser.wasm
index a7ac75e..132a88c 100755
Binary files a/packages/tree-sitter-port/output/tree-sitter-python/parser.wasm and b/packages/tree-sitter-port/output/tree-sitter-python/parser.wasm differ
diff --git a/packages/tree-sitter-port/package.json b/packages/tree-sitter-port/package.json
index a1712c9..237c5e7 100644
--- a/packages/tree-sitter-port/package.json
+++ b/packages/tree-sitter-port/package.json
@@ -26,7 +26,7 @@
"eslint": "^8.18.0",
"tree-sitter-cli": "^0.20.8",
"ts-node": "^10.9.1",
- "typescript": "^4.7.4"
+ "typescript": "5.9.3"
},
"dependencies": {}
}
diff --git a/packages/tree-sitter-port/src/buildWasmAndGenerateMappings.ts b/packages/tree-sitter-port/src/buildWasmAndGenerateMappings.ts
index 4475a27..1b9ac05 100644
--- a/packages/tree-sitter-port/src/buildWasmAndGenerateMappings.ts
+++ b/packages/tree-sitter-port/src/buildWasmAndGenerateMappings.ts
@@ -6,7 +6,19 @@ import { logger as log } from './log'
import fs from 'fs'
import { prepareNodeTypes } from './prepareNodeTypes'
-for (const parserSettings of parsersSettings) {
+const userSelectedParsers = process.argv.slice(2)
+
+const selectedParsers =
+ userSelectedParsers.length > 0
+ ? parsersSettings.filter(({ parserType, parserName }) => {
+ return (
+ userSelectedParsers.includes(parserType) ||
+ userSelectedParsers.includes(parserName)
+ )
+ })
+ : parsersSettings
+
+for (const parserSettings of selectedParsers) {
const parserLogName = `${parserSettings.parserType} (${parserSettings.parserName})`
const localLogger = log.info('Generating for ' + parserLogName)
diff --git a/packages/tree-sitter-port/src/copyFiles.ts b/packages/tree-sitter-port/src/copyFiles.ts
index 5bda1eb..939ad1f 100644
--- a/packages/tree-sitter-port/src/copyFiles.ts
+++ b/packages/tree-sitter-port/src/copyFiles.ts
@@ -4,7 +4,7 @@ import path from 'path'
import { logger as log } from './log'
import { ParserType } from '@codeque/core'
-const parsersToCopy: Array = ['python']
+const parsersToCopy: Array = ['python', 'lua', 'csharp']
const filteredParserSettings = parsersSettings.filter(({ parserType }) =>
parsersToCopy.includes(parserType),
diff --git a/packages/tree-sitter-port/src/settings.ts b/packages/tree-sitter-port/src/settings.ts
index 603efc3..a500e30 100644
--- a/packages/tree-sitter-port/src/settings.ts
+++ b/packages/tree-sitter-port/src/settings.ts
@@ -26,6 +26,13 @@ export const parsersSettings: ParserSettings[] = [
nodeTypesLocation: 'src/node-types.json',
buildWasmCommand: getWasmBuildCommand('tree-sitter-python'),
nodeTypesToIgnore: [',', 'comment'],
+ conflictResolvers: [
+ {
+ nodeType: 'dict_pattern',
+ fields: ['key', 'children'],
+ mergeToField: 'children',
+ },
+ ],
},
{
parserType: 'babel', // temporary for test
@@ -36,7 +43,7 @@ export const parsersSettings: ParserSettings[] = [
nodeTypesToIgnore: [],
},
{
- parserType: 'babel', // temporary for test
+ parserType: 'csharp',
parserName: 'tree-sitter-c-sharp',
repoUrl: 'https://github.com/tree-sitter/tree-sitter-c-sharp.git',
nodeTypesLocation: 'src/node-types.json',
@@ -44,15 +51,12 @@ export const parsersSettings: ParserSettings[] = [
nodeTypesToIgnore: [','],
},
{
- parserType: 'babel', // temporary for test
+ parserType: 'lua', // temporary for test
parserName: 'tree-sitter-lua',
- // TODO check other forks
- // - https://github.com/tjdevries/tree-sitter-lua
- // - https://github.com/MunifTanjim/tree-sitter-lua/blob/main/src/node-types.json
- repoUrl: 'https://github.com/Azganoth/tree-sitter-lua.git',
+ repoUrl: 'https://github.com/MunifTanjim/tree-sitter-lua.git',
nodeTypesLocation: 'src/node-types.json',
buildWasmCommand: getWasmBuildCommand('tree-sitter-lua'),
- nodeTypesToIgnore: [],
+ nodeTypesToIgnore: ["'", '"'],
conflictResolvers: [
{
nodeType: 'expression_list',
diff --git a/packages/tree-sitter-port/src/upgradeParsers.ts b/packages/tree-sitter-port/src/upgradeParsers.ts
index 67b3d7e..a52c5a7 100644
--- a/packages/tree-sitter-port/src/upgradeParsers.ts
+++ b/packages/tree-sitter-port/src/upgradeParsers.ts
@@ -3,7 +3,19 @@ import { execSync } from 'child_process'
import path from 'path'
import { logger as log } from './log'
-for (const parserSettings of parsersSettings) {
+const userSelectedParsers = process.argv.slice(2)
+
+const selectedParsers =
+ userSelectedParsers.length > 0
+ ? parsersSettings.filter(({ parserType, parserName }) => {
+ return (
+ userSelectedParsers.includes(parserType) ||
+ userSelectedParsers.includes(parserName)
+ )
+ })
+ : parsersSettings
+
+for (const parserSettings of selectedParsers) {
const parserLogName = `${parserSettings.parserType} (${parserSettings.parserName})`
const localLogger = log.info('Fetching ' + parserLogName + ' parser')
try {
diff --git a/packages/vscode/.gitignore b/packages/vscode/.gitignore
index 41bcfe0..cdbfa64 100644
--- a/packages/vscode/.gitignore
+++ b/packages/vscode/.gitignore
@@ -1,2 +1,4 @@
dist-webviews
-*.vsix
\ No newline at end of file
+*.vsix
+builds
+tsconfig.tsbuildinfo
\ No newline at end of file
diff --git a/packages/vscode/CHANGELOG.md b/packages/vscode/CHANGELOG.md
deleted file mode 100644
index e593e9d..0000000
--- a/packages/vscode/CHANGELOG.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Change Log
-
-All notable changes to the "codeque" extension will be documented in this file.
-
-Check [Keep a Changelog](http://keepachangelog.com/) for recommendations on how to structure this file.
-
-## [Unreleased]
-
-- Initial release
\ No newline at end of file
diff --git a/packages/vscode/InternalReadme.md b/packages/vscode/InternalReadme.md
index af090a9..7a06c88 100644
--- a/packages/vscode/InternalReadme.md
+++ b/packages/vscode/InternalReadme.md
@@ -1,5 +1,7 @@
## Development
+Make sure to build core package first `yarn workspace @codeque/core build`
+
Run `yarn watch:extension` and `yarn watch:webviews`
Open Vscode and run `Run extension` configuration in debugger
@@ -8,13 +10,28 @@ While in VSCode with extension host run `> Reload Extension` to refresh webview
To refresh extension backed re-run debugger configuration.
+## Testing production build locally
+Make sure to build core package first `yarn workspace @codeque/core build`
+
+Then change version in package.json to include `-local` suffix, eg. `0.35.1-local`.
+
+Otherwise vscode will confuse locally installed version and you won't be able to download published version with the same version code, unless you uninstall local version manually
+
+Package the extension into vsix file `cd packages/vscode && vsce package`
+
+Command runs checks, run webpack build and package extension into `vsix` (kind of archive file)
+
+You will get file `codeque-.vsix`
+
+The install extension from command pallette in vscode `cmd+p` -> `install from VSIX` -> select generated file -> Hit "Restart Extensions" button
+
## Publish to official Visual Studio Code Marketplace
Bump version manually in package.json
And just run
-`vsce publish`
+`vsce publish -p `
`vsce` will automatically run pre-publish hooks from script `vscode:prepublish` to run checks and build package
@@ -24,4 +41,4 @@ You might be asked to [get new PAT](https://code.visualstudio.com/api/working-wi
Same procedure as above, but run
-`ovsx publish`
+`ovsx publish -p `
diff --git a/packages/vscode/README.md b/packages/vscode/README.md
index 61d3d43..77078ef 100644
--- a/packages/vscode/README.md
+++ b/packages/vscode/README.md
@@ -1,3 +1,11 @@
+
+
+
+
+
+
+
+
@@ -14,26 +22,26 @@
Find and lint complex code patterns effortlessly
-___
+---
# What is CodeQue?
-CodeQue is semantic code search engine that understands the code syntax.
+CodeQue is semantic code search engine that understands the code syntax.
It matches code structurally which makes it excellent for more complex queries.
-Query language offers wildcards, partial matching and ignores code formatting.
+Query language offers wildcards, partial matching and ignores code formatting.
-Structural code search is available for JavaScript, TypesScript, HTML, CSS, Python and more soon.
+Structural code search is available for JavaScript, TypesScript, HTML, CSS, Python, Lua, C# and more soon.
-Text code search with handy wildcards is available for __every language__ and covers common regex search use cases.
+Text code search with handy wildcards is available for **every language** and covers common regex search use cases.
Give it a try in
playground
Just paste code snippet to start searching, no installation needed!
-__Integrations__
+**Integrations**
CodeQue is available as:
@@ -43,33 +51,33 @@ CodeQue is available as:
All CodeQue tools work offline hence code never leaves your local environment.
-__Coming soon__
+**Coming soon**
CodeQue will be soon available as:
- Duplicated code identification
-- Batch code refactoring
-- Advanced ESLint rule creator
-
+- Batch code refactoring
+- Advanced ESLint rule creator
🔔 Get notified about updates 🔔
-
-
+
+
## Visual Studio Code Extension 🔮
+
VScode extension aims to make your workflow more efficient.
-It addresses the problems of standard search by providing multiline support and offers an easy way to add gaps or use wildcards in the query.
+It addresses the problems of standard search by providing multiline support and offers an easy way to add gaps or use wildcards in the query.
-You don't need to have any Regex knowledge to query complex code patterns.
+You don't need to have any Regex knowledge to query complex code patterns.
With CodeQue, you can easily navigate and modify your codebase, making your development process faster and more efficient.
-It will help you with code refactoring, speed up project discovery, and make it easy to find duplicated or similar code patterns.
+It will help you with code refactoring, speed up project discovery, and make it easy to find duplicated or similar code patterns.
Advanced code search options and todo-like list of accurate search results will streamline your workflow.
@@ -85,10 +93,12 @@ Advanced code search options and todo-like list of accurate search results will
-## About
+## About
+
One of the main strengths of CodeQue is its easy-to-use query language, but it also offers several additional features that make it a great support tool for your daily work.
**Features**
+
- [Query language](#query-language)
- [Search modes](#search-modes)
- [Searching by file imports](#searching-by-file-imports)
@@ -99,6 +109,7 @@ One of the main strengths of CodeQue is its easy-to-use query language, but it a
- [Search errors](#search-errors)
**Example Queries**
+
- [All usages of `console` object](#all-usages-of-console-object)
- [Object with given key and value](#object-with-given-key-and-value)
- [React component with specific props combination](#react-component-with-specific-props-combination)
@@ -112,7 +123,7 @@ One of the main strengths of CodeQue is its easy-to-use query language, but it a
### Query language
The beauty of CodeQue query language is that the query has to be valid source code.
-You don't have to learn anything new!
+You don't have to learn anything new!
Except the fact there are a few types of wildcards.
@@ -122,7 +133,7 @@ It matches all identifiers, JSX identifiers, types identifiers, function names a
`$$$` is an statement/expression wildcard.
-It matches any statement or expression. Think of it as 'match anything'.
+It matches any statement or expression. Think of it as 'match anything'.
There a few quirks there. It's good to have general understanding of how code is represented in AST (Abstract Syntax Tree) for more complex queries.
More technically `$$$` wildcard is matching any node with all it's children.
@@ -137,7 +148,7 @@ Strings have their's own wildcards
#### Number wildcard
-`0x0`- matches any number
+`0x0`- matches any number
Here is an example of query which finds all types of logs which includes word `test` in parameter 👇
@@ -148,6 +159,7 @@ Here is an example of query which finds all types of logs which includes word `t
### Search modes
CodeQue offers the following search modes
+
- include
- text
- exact
@@ -155,13 +167,13 @@ CodeQue offers the following search modes
-The most useful mode is `include`. As the name suggest the matched code has to include the code from query, but it can also contain other statements. It performs structural comparison.
+The most useful mode is `include`. As the name suggest the matched code has to include the code from query, but it can also contain other statements. It performs structural comparison.
[Learn more about `include` search mode](https://codeque.co/docs#include-search-mode)
-`text` search mode is good replacement of build-in vscode search. It acts like a normal text search, but it's big advantage is that it allows for matching multiline statements. It also offers it's own types of wildcards.
+`text` search mode is good replacement of build-in vscode search. It acts like a normal text search, but it's big advantage is that it allows for matching multiline statements. It also offers it's own types of wildcards.
[Learn more about `text` search mode](https://codeque.co/docs#include-search-mode)
@@ -173,13 +185,13 @@ Sometimes you might want to find the code that matches exactly your query. Here
-Last but not least, `include-with-order` search mode can be useful in some rare cases. Same like `include` mode it matches code structurally and allows for missing parts, but in addition, it require the order to match.
+Last but not least, `include-with-order` search mode can be useful in some rare cases. Same like `include` mode it matches code structurally and allows for missing parts, but in addition, it require the order to match.
[Learn more about `include-with-order` search mode](https://codeque.co/docs#include-w-ith-order-search-mode)
-Here is the example of `include` mode matching function body containing statements from query 👇
+Here is the example of `include` mode matching function body containing statements from query 👇
@@ -220,6 +232,7 @@ You can define glob patters to either include or exclude files from the list.
By default CodeQue is not searching in files ignored by `.gitignore`
Enable the following flags with caution, as they might significantly downgrade search performance for lager projects.
+
- Search ignored files
- Search `node_modules` (for most projects to search node_modules you have to also enable searching by ignored files)
- Search files above 100kb (these are usually bundled files which are structurally heavy due to their size and amount of information)
@@ -232,7 +245,7 @@ Example files list settings 👇
### Case sensitivity
-You can choose whether to compare identifier persisting their original case or do case insensitive match.
+You can choose whether to compare identifier persisting their original case or do case insensitive match.
### Search errors
@@ -244,7 +257,7 @@ You can check search error details in tooltip available after click the error co
## Query examples
-CodeQue is general purpose code search tool. The examples list could be endless. Here are some of them for you to get a glimpse of what's possible. Those are relatively simple, you will definitely find some more complex during day to day work.
+CodeQue is general purpose code search tool. The examples list could be endless. Here are some of them for you to get a glimpse of what's possible. Those are relatively simple, you will definitely find some more complex during day to day work.
> Don't know how to write a query? [Open an issue on GitHub](https://github.com/codeque-co/codeque/issues) !
@@ -262,17 +275,18 @@ console.$$()
CodeQue ability to match parts of the objects might be very useful, especially for searching patterns in large JSONs.
-This query will match part of an object literal in file or JSON (depending on file extension) regardless of how deeply nested the object is in the structure.
+This query will match part of an object literal in file or JSON (depending on file extension) regardless of how deeply nested the object is in the structure.
More specifically it will match all objects with at least one address entry with country specified to `PL` and phone number which is non empty string.
-
```ts
-({
- addresses: [{
- country: 'PL'
- }],
- phoneNumber: "$$$"
+;({
+ addresses: [
+ {
+ country: 'PL',
+ },
+ ],
+ phoneNumber: '$$$',
})
```
@@ -283,11 +297,7 @@ More specifically it will match all objects with at least one address entry with
I found it very useful to find props with specific props combination. Sometimes props depends on each other and we might want to refactor some of them, but how do we determine whether they are used together? We can review long list of results for basic code search, but who has time for that 😉
```tsx
-
+
```
### React bad patterns
@@ -297,9 +307,7 @@ This quite simple query highlights usage of object literal as a prop. It could b
Assuming we use `include` mode, the object can have 0 or more properties with any values.
```tsx
-<$$
- $$={{}}
-/>
+<$$ $$={{}} />
```
This query finds places where a given array is mapped directly in JSX. It could be memoized to make the array reference stable and reduce re-renders.
@@ -307,27 +315,18 @@ This query finds places where a given array is mapped directly in JSX. It could
> In `include` search mode query `<$$/>` will match components with and without children!
```tsx
-<$$
- $$={
- $$$.map(() => ($$$))
- }
-/>
+<$$ $$={$$$.map(() => $$$)} />
```
One last example is another variation of the above, this time with inline function that should be memoized using `useCallback` hook.
-> Note that we used `() => $$$`, not `() => {}`.
-Triple wildcard will match both function body as a block, but also as an expression.
+> Note that we used `() => $$$`, not `() => {}`.
+> Triple wildcard will match both function body as a block, but also as an expression.
```tsx
-<$$
- $$={
- () => $$$
- }
-/>
+<$$ $$={() => $$$} />
```
-
### Conditionally set parameter of a function
This query was posted by one of CodeQue users. They wanted to find all conditionally set apiMethod parameter of `useRequest` hook.
@@ -336,7 +335,7 @@ We use `$$$` to be more generic for matching parts of conditional expression.
```ts
useRequest({
- apiMethod: $$$ ? $$$ : $$$
+ apiMethod: $$$ ? $$$ : $$$,
})
```
@@ -351,7 +350,7 @@ You can use the snipped below to search for all similar places across the codeba
This is interesting example that links together two statements in the same code block, that does not necessarily have to directly follow each other.
```ts
-const { confirm } = useAsyncDialog();
+const { confirm } = useAsyncDialog()
const $$ = useCallback($$$, [confirm])
```
@@ -367,6 +366,7 @@ Learn more about [telemetry](https://codeque.co/docs/telemetry#vs-code-extension
Feel free to use [Github Issues](https://github.com/codeque-co/codeque/issues)
to
+
- ask for help with writing a query
- report a bug or doubt
- suggest feature or improvement
@@ -377,6 +377,7 @@ to
Feel free to use [Github Issues](https://github.com/codeque-co/codeque/issues)
to
+
- ask for help with writing a query
- report a bug or doubt
-- suggest feature or improvement
\ No newline at end of file
+- suggest feature or improvement
diff --git a/packages/vscode/package.json b/packages/vscode/package.json
index 876ed7f..9b85985 100644
--- a/packages/vscode/package.json
+++ b/packages/vscode/package.json
@@ -1,8 +1,8 @@
{
"name": "codeque",
"publisher": "CodeQue",
- "displayName": "CodeQue - Multiline and Structural Code Search",
- "description": "Multiline code search for every language. Structural code search for JavaScript, TypeScript, HTML and CSS",
+ "displayName": "Multiline & Structural Code Search",
+ "description": "Multiline code search for every language. Structural code search for JavaScript, TypeScript, HTML, CSS, Python and Lua",
"repository": {
"type": "git",
"url": "https://github.com/codeque-co/codeque"
@@ -10,7 +10,7 @@
"bugs": {
"url": "https://github.com/codeque-co/codeque/issues"
},
- "version": "0.26.0",
+ "version": "0.37.0",
"engines": {
"vscode": "^1.68.0",
"node": ">=14"
@@ -28,6 +28,8 @@
"html",
"css",
"python",
+ "lua",
+ "csharp",
"code search",
"find",
"match",
@@ -88,19 +90,27 @@
"commands": [
{
"command": "codeque.searchWithOptionalQuerySelectionFromEditor",
- "title": "CQ: Open Search"
+ "title": "CQ (CodeQue): Open Search"
},
{
"command": "codeque.searchByEntryPoint",
- "title": "CQ: Search by Entry Point"
+ "title": "CQ (CodeQue): Search by Entry Point"
},
{
"command": "codeque.searchInFolder",
- "title": "CQ: Search in Folder"
+ "title": "CQ (CodeQue): Search in Folder"
},
{
"command": "codeque.refresh",
- "title": "CQ: Refresh extension"
+ "title": "CQ (CodeQue): Refresh extension"
+ },
+ {
+ "command": "codeque.activateProLicense",
+ "title": "CQ (CodeQue): Activate Pro license"
+ },
+ {
+ "command": "codeque.getProLicense",
+ "title": "CQ (CodeQue): Get Pro license"
}
],
"menus": {
@@ -156,13 +166,13 @@
"mocha": "^10.0.0",
"process": "^0.11.10",
"ts-loader": "^9.3.1",
- "typescript": "^4.7.4",
+ "typescript": "5.9.3",
"webpack": "^5.73.0",
"webpack-cli": "^4.10.0"
},
"dependencies": {
"@chakra-ui/react": "^2.2.4",
- "@codeque/core": "^0.6.0",
+ "@codeque/core": "^0.6.1",
"@emotion/react": "^11.9.3",
"@emotion/styled": "^11.9.3",
"@types/react": "^18.0.15",
@@ -171,6 +181,7 @@
"copy-to-clipboard": "^3.3.2",
"dedent": "^0.7.0",
"framer-motion": "^6.5.1",
+ "node-fetch": "^3.3.2",
"prism-react-renderer": "^1.3.5",
"react": "^18.2.0",
"react-dom": "^18.2.0",
diff --git a/packages/vscode/src/EventBus.ts b/packages/vscode/src/EventBus.ts
index 6cdfc01..9e15349 100644
--- a/packages/vscode/src/EventBus.ts
+++ b/packages/vscode/src/EventBus.ts
@@ -1,6 +1,7 @@
-import { StateShape } from './StateManager'
-import { Match } from '@codeque/core'
-import { ExtendedSearchResults } from './types'
+import { SearchStateShape } from './SearchStateManager'
+import { Match, SearchInFileError } from '@codeque/core'
+import { Banner, ExtendedSearchResults } from './types'
+import { UserStateShape } from './UserStateManager'
type ResultsEventData = {
results: ExtendedSearchResults
@@ -14,21 +15,39 @@ type EventTypes = {
'results-panel-opened': null
'results-panel-visibility': boolean
'show-results-panel': null
- 'set-settings': Partial
- 'initial-settings': StateShape
+ 'set-search-settings': Partial
+ 'initial-search-settings': SearchStateShape
+ 'search-settings-changed': Partial
+ 'set-user-settings': Partial
+ 'initial-user-settings': UserStateShape
+ 'user-settings-changed': Partial
'open-file': {
filePath: string
- location?: Match['loc']
+ locationsToSelect?: Array
+ locationsToDecorate?: Array
}
'open-search-from-selection': null
'start-search': null
'search-started': string
'have-results': ResultsEventData
'have-partial-results': ResultsEventData
- 'settings-changed': Partial
'set-query-in-settings': string | null
+ 'set-replacement-in-settings': string | null
'set-query-on-ui': string
'stop-search': null
+ 'start-replace': null
+ 'replace-started': null
+ 'replace-progress': number | null
+ 'replace-finished': { time: number }
+ 'replace-errors': { errors: Array }
+ 'search-progress': number | null
+ 'fetch:banners:start': null
+ 'fetch:banners:response': Banner[]
+ 'banner:close': string
+ 'banner:clicked-link': string
+ 'pro-modal:closed': null
+ 'pro-modal:subscribe_clicked': null
+ 'pro-modal:twitter_handler_clicked': null
}
type EventObjectTypes = {
@@ -50,11 +69,11 @@ export class EventBus {
'results-panel-opened': [],
'show-results-panel': [],
'results-panel-visibility': [],
- 'initial-settings': [],
- 'set-settings': [],
+ 'initial-search-settings': [],
+ 'set-search-settings': [],
+ 'search-settings-changed': [],
'set-query-in-settings': [],
'set-query-on-ui': [],
- 'settings-changed': [],
'open-file': [],
'open-search-from-selection': [],
'start-search': [],
@@ -62,6 +81,23 @@ export class EventBus {
'have-results': [],
'have-partial-results': [],
'stop-search': [],
+ 'replace-finished': [],
+ 'replace-started': [],
+ 'replace-errors': [],
+ 'start-replace': [],
+ 'set-replacement-in-settings': [],
+ 'replace-progress': [],
+ 'search-progress': [],
+ 'set-user-settings': [],
+ 'initial-user-settings': [],
+ 'user-settings-changed': [],
+ 'fetch:banners:start': [],
+ 'fetch:banners:response': [],
+ 'banner:close': [],
+ 'banner:clicked-link': [],
+ 'pro-modal:closed': [],
+ 'pro-modal:subscribe_clicked': [],
+ 'pro-modal:twitter_handler_clicked': [],
}
public env = 'extension'
@@ -108,6 +144,11 @@ export class EventBus {
data?: EventTypes[T],
dispatchThroughTransports = true,
) => {
+ if (process.env.NODE_ENV !== 'production') {
+ //eslint-disable-next-line
+ console.log('event', eventType, data)
+ }
+
try {
await Promise.all(
this.listeners[eventType].map((callback) => callback(data)),
diff --git a/packages/vscode/src/SearchManager.ts b/packages/vscode/src/SearchManager.ts
index f1d40e9..5a617e7 100644
--- a/packages/vscode/src/SearchManager.ts
+++ b/packages/vscode/src/SearchManager.ts
@@ -13,6 +13,8 @@ import {
htmlFamilyExtensionTester,
filterExtensions,
pythonExtensionTester,
+ luaExtensionTester,
+ csharpExtensionTester,
__internal,
} from '@codeque/core'
import {
@@ -22,7 +24,7 @@ import {
import path from 'path'
import * as vscode from 'vscode'
import { eventBusInstance } from './EventBus'
-import { StateManager, StateShape, SearchFileType } from './StateManager'
+import { SearchStateManager, SearchStateShape } from './SearchStateManager'
import {
simpleDebounce,
fileTypeToParserMap,
@@ -30,6 +32,8 @@ import {
} from './utils'
import { TelemetryModule } from './telemetry'
import { isQueryRestricted } from './restrictedQueries'
+import { UserStateManager } from './UserStateManager'
+import { SearchFileType } from 'types'
type FilesLists = {
files: string[]
@@ -44,6 +48,8 @@ const extensionTesterMap: Record = {
'js-ts-json': typeScriptFamilyExtensionTester,
css: cssExtensionTester,
python: pythonExtensionTester,
+ lua: luaExtensionTester,
+ csharp: csharpExtensionTester,
}
export class SearchManager {
@@ -63,16 +69,18 @@ export class SearchManager {
}[],
workspaceFoldersChangeListener: undefined as vscode.Disposable | undefined,
}
- private lastSearchSettings: StateShape | undefined
+ private lastSearchSettings: SearchStateShape | undefined
private telemetryReporter: TelemetryModule
private extensionSourceRootPath: string
constructor(
- private readonly stateManager: StateManager,
+ private readonly searchStateManager: SearchStateManager,
+ private readonly userStateManager: UserStateManager,
telemetryReporter: TelemetryModule,
extensionSourceRootPath: string,
) {
eventBusInstance.addListener('start-search', this.startSearch)
+ eventBusInstance.addListener('start-replace', this.startStubReplace)
eventBusInstance.addListener('stop-search', this.stopCurrentSearch)
this.initializeSearchRoots()
@@ -218,13 +226,17 @@ export class SearchManager {
}
private startSearch = () => {
- const state = this.stateManager.getState()
+ const state = this.searchStateManager.getState()
- if (!isQueryRestricted(state.query, state.fileType)) {
+ if (!isQueryRestricted(state.query, state.fileType, state.mode)) {
this.performSearch(state)
}
}
+ private startStubReplace = () => {
+ this.telemetryReporter.reportStubReplaceClick()
+ }
+
private stopCurrentSearch = () => {
if (this.currentFilesGetHardStopFlag) {
this.currentFilesGetHardStopFlag.stopSearch = true
@@ -316,7 +328,7 @@ export class SearchManager {
return adjustedEntryPoint
}
- public performSearch = async (settings: StateShape) => {
+ public performSearch = async (settings: SearchStateShape) => {
this.lastSearchSettings = settings
if (this.roots === undefined) {
@@ -453,6 +465,7 @@ export class SearchManager {
setTimeout(
(async () => {
try {
+ this.searchStateManager.setState({ searchFinished: false })
const results = await searchMultiThread({
parser,
filePaths: filesListFilteredByExtension,
@@ -482,6 +495,16 @@ export class SearchManager {
isWorkspace,
})
+ if (processedResults.matches.length > 0) {
+ const searchesWithResultsCount =
+ this.userStateManager.getState().searchesWithResultsCount
+
+ this.userStateManager.setState({
+ searchesWithResultsCount: searchesWithResultsCount + 1,
+ })
+ }
+
+ this.searchStateManager.setState({ searchFinished: true })
this.searchRunning = false
this.currentFilesGetHardStopFlag?.destroy()
this.currentSearchHardStopFlag?.destroy()
@@ -573,6 +596,7 @@ export class SearchManager {
this.filesListState.workspaceFoldersChangeListener?.dispose()
eventBusInstance.removeListener('start-search', this.startSearch)
+ eventBusInstance.removeListener('start-replace', this.startStubReplace)
eventBusInstance.removeListener('stop-search', this.stopCurrentSearch)
}
}
diff --git a/packages/vscode/src/SearchResultsPanel.ts b/packages/vscode/src/SearchResultsPanel.ts
index 7257bcd..3f868ef 100644
--- a/packages/vscode/src/SearchResultsPanel.ts
+++ b/packages/vscode/src/SearchResultsPanel.ts
@@ -3,9 +3,12 @@ import dedent from 'dedent'
import * as vscode from 'vscode'
import { eventBusInstance } from './EventBus'
import { getNonce } from './getNonce'
-import { StateManager } from './StateManager'
-import fs from 'fs'
-import path from 'path'
+import { SearchStateManager } from './SearchStateManager'
+
+import {
+ getMatchHighlightStyle,
+ getMatchHighlightStyleSecondary,
+} from './codeHighlightSettings'
export class SearchResultsPanel {
/**
* Track the currently panel. Only allow a single panel to exist at a time.
@@ -16,12 +19,12 @@ export class SearchResultsPanel {
private readonly _panel: vscode.WebviewPanel
private readonly _extensionUri: vscode.Uri
- private readonly stateManager: StateManager
+ private readonly searchStateManager: SearchStateManager
private _disposables: vscode.Disposable[] = []
public static createOrShow(
extensionUri: vscode.Uri,
- stateManager: StateManager,
+ searchStateManager: SearchStateManager,
) {
const column = vscode.window.activeTextEditor
? vscode.window.activeTextEditor.viewColumn
@@ -65,7 +68,7 @@ export class SearchResultsPanel {
SearchResultsPanel.currentPanel = new SearchResultsPanel(
panel,
extensionUri,
- stateManager,
+ searchStateManager,
)
}
@@ -78,23 +81,23 @@ export class SearchResultsPanel {
public static revive(
panel: vscode.WebviewPanel,
extensionUri: vscode.Uri,
- stateManager: StateManager,
+ searchStateManager: SearchStateManager,
) {
SearchResultsPanel.currentPanel = new SearchResultsPanel(
panel,
extensionUri,
- stateManager,
+ searchStateManager,
)
}
private constructor(
panel: vscode.WebviewPanel,
extensionUri: vscode.Uri,
- stateManager: StateManager,
+ searchStateManager: SearchStateManager,
) {
this._panel = panel
this._extensionUri = extensionUri
- this.stateManager = stateManager
+ this.searchStateManager = searchStateManager
const webview = this._panel.webview
// Set the webview's initial html content
this._update()
@@ -119,6 +122,12 @@ export class SearchResultsPanel {
)
eventBusInstance.addListener('set-query-in-settings', this.setQueryData)
+
+ eventBusInstance.addListener(
+ 'set-replacement-in-settings',
+ this.setReplacementData,
+ )
+
eventBusInstance.addListener('open-file', this.openFile)
eventBusInstance.addListenerOnce('results-panel-opened', () => {
@@ -136,6 +145,11 @@ export class SearchResultsPanel {
this.setQueryData,
)
+ eventBusInstance.removeListener(
+ 'set-replacement-in-settings',
+ this.setReplacementData,
+ )
+
eventBusInstance.removeListener('open-file', this.openFile)
eventBusInstance.removeTransport(postMessage)
@@ -145,39 +159,121 @@ export class SearchResultsPanel {
}
private setQueryData = (query: string | null) => {
- this.stateManager.setState({ query: query ?? '' })
+ this.searchStateManager.setState({ query: query ?? '' })
+ }
+
+ private setReplacementData = (replacement: string | null) => {
+ this.searchStateManager.setState({ replacement: replacement ?? '' })
}
private sendInitialDataToWebview = () => {
- eventBusInstance.dispatch('initial-settings', this.stateManager.getState())
+ eventBusInstance.dispatch(
+ 'initial-search-settings',
+ this.searchStateManager.getState(),
+ )
+ }
+
+ private getPositionsFromMatchLocation = (matchLocation: Match['loc']) => {
+ const startPos = new vscode.Position(
+ matchLocation.start.line - 1, // API has 0-based indexes
+ matchLocation.start.column,
+ )
+ const endPos = new vscode.Position(
+ matchLocation.end.line - 1, // API has 0-based indexes
+ matchLocation.end.column,
+ )
+
+ return [startPos, endPos] as const
}
private openFile = ({
filePath,
- location,
+ locationsToSelect,
+ locationsToDecorate,
}: {
filePath: string
- location?: Match['loc']
+ locationsToSelect?: Array
+ locationsToDecorate?: Array
}) => {
const setting: vscode.Uri = vscode.Uri.file(filePath)
vscode.workspace.openTextDocument(setting).then(
- (textDoc: vscode.TextDocument) => {
- let selection = undefined
-
- if (location) {
- const startPos = new vscode.Position(
- location.start.line - 1, // API has 0-based indexes
- location.start.column,
- )
- const endPos = new vscode.Position(
- location.end.line - 1, // API has 0-based indexes
- location.end.column,
- )
- selection = new vscode.Range(startPos, endPos)
+ async (textDoc: vscode.TextDocument) => {
+ let mainSelection = undefined
+
+ if (locationsToSelect?.[0]) {
+ mainSelection = {
+ selection: new vscode.Range(
+ ...this.getPositionsFromMatchLocation(locationsToSelect?.[0]),
+ ),
+ }
}
- return vscode.window.showTextDocument(textDoc, { selection })
+ const selectLikeCodeDecoration =
+ vscode.window.createTextEditorDecorationType({
+ light: getMatchHighlightStyle(false),
+ dark: getMatchHighlightStyle(true),
+ })
+
+ const selectLikeCodeDecorationSecondary =
+ vscode.window.createTextEditorDecorationType({
+ light: getMatchHighlightStyleSecondary(false),
+ dark: getMatchHighlightStyleSecondary(true),
+ })
+
+ return vscode.window
+ .showTextDocument(textDoc, mainSelection)
+ .then(() => {
+ if (vscode.window.activeTextEditor) {
+ const selections = locationsToSelect
+ ? locationsToSelect.map(
+ (locationToSelect) =>
+ new vscode.Selection(
+ ...this.getPositionsFromMatchLocation(locationToSelect),
+ ),
+ )
+ : []
+
+ const selectionDecorations: vscode.DecorationOptions[] = []
+ const secondaryDecorations: vscode.DecorationOptions[] = []
+
+ locationsToDecorate?.forEach((locationToDecorate) => {
+ const rangeToDecorate = new vscode.Range(
+ ...this.getPositionsFromMatchLocation(locationToDecorate),
+ )
+ const hasMatchingSelection = selections.some((selection) =>
+ selection.isEqual(rangeToDecorate),
+ )
+
+ if (hasMatchingSelection) {
+ selectionDecorations.push({
+ range: rangeToDecorate,
+ })
+ } else {
+ secondaryDecorations.push({ range: rangeToDecorate })
+ }
+ })
+
+ if (secondaryDecorations.length > 0) {
+ vscode.window.activeTextEditor.setDecorations(
+ selectLikeCodeDecorationSecondary,
+ secondaryDecorations,
+ )
+ }
+
+ // Apply selectionDecorations after secondary, so selection overlaps in case of intersection of ranges
+ if (selectionDecorations.length > 0) {
+ vscode.window.activeTextEditor.setDecorations(
+ selectLikeCodeDecoration,
+ selectionDecorations,
+ )
+ }
+
+ if (locationsToSelect && locationsToSelect.length > 1) {
+ vscode.window.activeTextEditor.selections = selections
+ }
+ }
+ })
},
(error: any) => {
console.error('error opening file', filePath)
diff --git a/packages/vscode/src/SearchStateManager.ts b/packages/vscode/src/SearchStateManager.ts
new file mode 100644
index 0000000..d578ffa
--- /dev/null
+++ b/packages/vscode/src/SearchStateManager.ts
@@ -0,0 +1,163 @@
+import type { Mode } from '@codeque/core'
+import {
+ CaseType,
+ QueryType,
+ ReplaceMode,
+ SearchFileType,
+ ReplaceType,
+} from './types'
+import * as vscode from 'vscode'
+import { eventBusInstance } from './EventBus'
+import { TelemetryModule } from './telemetry'
+
+export type SearchStateShape = {
+ queryType: QueryType
+ fileType: SearchFileType
+ mode: Mode
+ replaceMode: ReplaceMode
+ replaceType: ReplaceType
+ caseType: CaseType
+ query: string
+ replacement: string
+ include: string[]
+ exclude: string[]
+ searchIgnoredFiles: boolean
+ searchNodeModules: boolean
+ searchBigFiles: boolean
+ entryPoint: string | null
+ webviewTextSelection: string | null
+ searchFinished: boolean
+}
+
+export class SearchStateManager {
+ private readonly defaultState: SearchStateShape = {
+ queryType: 'basic',
+ fileType: 'js-ts-json',
+ mode: 'include',
+ replaceMode: 'text',
+ replaceType: 'replace',
+ caseType: 'insensitive',
+ query: '',
+ replacement: '',
+ include: [],
+ exclude: [],
+ searchIgnoredFiles: false,
+ searchNodeModules: false,
+ searchBigFiles: false,
+ entryPoint: null,
+ webviewTextSelection: null,
+ searchFinished: true,
+ }
+
+ private readonly stateKey = 'codeque-data'
+ private workspaceState: vscode.ExtensionContext['workspaceState']
+ private localState: SearchStateShape
+ private telemetryReporter: TelemetryModule
+
+ constructor(
+ workspaceState: vscode.ExtensionContext['workspaceState'],
+ telemetryReporter: TelemetryModule,
+ ) {
+ this.workspaceState = workspaceState
+ this.telemetryReporter = telemetryReporter
+ const savedState = this.workspaceState.get(this.stateKey) as string
+
+ let savedStateParsed: Partial = {}
+
+ if (savedState !== undefined) {
+ try {
+ savedStateParsed = JSON.parse(savedState)
+ } catch (e) {
+ console.error('saved state parse error', e)
+ void 0
+ }
+ }
+
+ const queryOverride: Partial = {}
+
+ if (
+ 'searchFinished' in savedStateParsed &&
+ !savedStateParsed.searchFinished
+ ) {
+ // Previous search did not finish, so perhaps it has performance issues.
+ // We reset query to prevent lock in of extension
+ queryOverride.query =
+ '// Previous query was removed due to detected performance issue.'
+ }
+
+ this.localState = {
+ ...this.defaultState,
+ ...savedStateParsed,
+ ...queryOverride,
+ }
+ }
+
+ private undefinedToNull = (state: SearchStateShape) => {
+ return Object.entries(state)
+ .map(([key, value]) => [key, value ?? null] as const)
+ .reduce((state, [key, value]) => {
+ return {
+ ...state,
+ [key]: value,
+ }
+ }, {} as SearchStateShape)
+ }
+
+ private getStateDiff = (
+ prevState: SearchStateShape,
+ nextState: SearchStateShape,
+ ): Partial => {
+ const diff = {} as SearchStateShape
+
+ Object.entries(prevState).forEach(([_key, value]) => {
+ const key = _key as keyof SearchStateShape
+
+ if (JSON.stringify(value) !== JSON.stringify(nextState[key])) {
+ const nextValue = nextState[key]
+ //@ts-ignore
+ diff[key] = nextValue
+ }
+ })
+
+ return diff
+ }
+
+ private reportTelemetryForStubStateChange = (
+ data: Partial,
+ ) => {
+ if (data.replaceMode) {
+ this.telemetryReporter.reportStubReplaceModeChange(data.replaceMode)
+ }
+
+ if (data.replaceType) {
+ this.telemetryReporter.reportStubReplaceTypeChange(data.replaceType)
+ }
+
+ if (data.replacement) {
+ this.telemetryReporter.reportStubReplacementChange()
+ }
+ }
+
+ public setState = (data: Partial) => {
+ const oldState = { ...this.localState }
+ const newState = this.undefinedToNull({
+ ...oldState,
+ ...data,
+ })
+
+ this.localState = newState
+
+ eventBusInstance.dispatch(
+ 'search-settings-changed',
+ this.getStateDiff(oldState, newState),
+ )
+
+ this.workspaceState.update(this.stateKey, JSON.stringify(newState))
+
+ this.reportTelemetryForStubStateChange(data)
+ }
+
+ public getState = () => {
+ return { ...this.localState }
+ }
+}
diff --git a/packages/vscode/src/SidebarProvider.ts b/packages/vscode/src/SidebarProvider.ts
index a3b918b..4111a19 100644
--- a/packages/vscode/src/SidebarProvider.ts
+++ b/packages/vscode/src/SidebarProvider.ts
@@ -1,7 +1,7 @@
import dedent from 'dedent'
import * as vscode from 'vscode'
import { getNonce } from './getNonce'
-import { StateManager } from './StateManager'
+import { SearchStateManager } from './SearchStateManager'
import { eventBusInstance } from './EventBus'
export class SidebarProvider implements vscode.WebviewViewProvider {
_view?: vscode.WebviewView
@@ -9,7 +9,7 @@ export class SidebarProvider implements vscode.WebviewViewProvider {
constructor(
private readonly _extensionUri: vscode.Uri,
- private readonly stateManager: StateManager,
+ private readonly searchStateManager: SearchStateManager,
) {}
public resolveWebviewView(webviewView: vscode.WebviewView) {
@@ -34,13 +34,13 @@ export class SidebarProvider implements vscode.WebviewViewProvider {
eventBusInstance.dispatch('show-results-panel')
eventBusInstance.dispatch(
- 'initial-settings',
- this.stateManager.getState(),
+ 'initial-search-settings',
+ this.searchStateManager.getState(),
)
})
- eventBusInstance.addListener('set-settings', (data) => {
- this.stateManager.setState(data)
+ eventBusInstance.addListener('set-search-settings', (data) => {
+ this.searchStateManager.setState(data)
})
}
diff --git a/packages/vscode/src/StateManager.ts b/packages/vscode/src/StateManager.ts
deleted file mode 100644
index b68005e..0000000
--- a/packages/vscode/src/StateManager.ts
+++ /dev/null
@@ -1,110 +0,0 @@
-import type { Mode } from '@codeque/core'
-import * as vscode from 'vscode'
-import { eventBusInstance } from './EventBus'
-
-export type SearchFileType = 'all' | 'js-ts-json' | 'html' | 'css' | 'python'
-export type CaseType = 'sensitive' | 'insensitive'
-
-export type StateShape = {
- fileType: SearchFileType
- mode: Mode
- caseType: CaseType
- query: string
- include: string[]
- exclude: string[]
- searchIgnoredFiles: boolean
- searchNodeModules: boolean
- searchBigFiles: boolean
- entryPoint: string | null
- webviewTextSelection: string | null
-}
-
-export class StateManager {
- private readonly defaultState: StateShape = {
- fileType: 'js-ts-json',
- mode: 'include',
- caseType: 'insensitive',
- query: '',
- include: [],
- exclude: [],
- searchIgnoredFiles: false,
- searchNodeModules: false,
- searchBigFiles: false,
- entryPoint: null,
- webviewTextSelection: null,
- }
-
- private readonly stateKey = 'codeque-data'
- private workspaceState: vscode.ExtensionContext['workspaceState']
- private localState: StateShape
-
- constructor(workspaceState: vscode.ExtensionContext['workspaceState']) {
- this.workspaceState = workspaceState
-
- const savedState = this.workspaceState.get(this.stateKey) as string
-
- let savedStateParsed: Partial = {}
- try {
- savedStateParsed = JSON.parse(savedState)
- } catch (e) {
- console.error('saved state parse error', e)
- void 0
- }
-
- this.localState = {
- ...this.defaultState,
- ...savedStateParsed,
- }
- }
-
- private undefinedToNull = (state: StateShape) => {
- return Object.entries(state)
- .map(([key, value]) => [key, value ?? null] as const)
- .reduce((state, [key, value]) => {
- return {
- ...state,
- [key]: value,
- }
- }, {} as StateShape)
- }
-
- private getStateDiff = (
- prevState: StateShape,
- nextState: StateShape,
- ): Partial => {
- const diff = {} as StateShape
-
- Object.entries(prevState).forEach(([_key, value]) => {
- const key = _key as keyof StateShape
-
- if (JSON.stringify(value) !== JSON.stringify(nextState[key])) {
- const nextValue = nextState[key]
- //@ts-ignore
- diff[key] = nextValue
- }
- })
-
- return diff
- }
-
- public setState = (data: Partial) => {
- const oldState = { ...this.localState }
- const newState = this.undefinedToNull({
- ...oldState,
- ...data,
- })
-
- this.localState = newState
-
- eventBusInstance.dispatch(
- 'settings-changed',
- this.getStateDiff(oldState, newState),
- )
-
- this.workspaceState.update(this.stateKey, JSON.stringify(newState))
- }
-
- public getState = () => {
- return { ...this.localState }
- }
-}
diff --git a/packages/vscode/src/UserManager.ts b/packages/vscode/src/UserManager.ts
new file mode 100644
index 0000000..1c7abd5
--- /dev/null
+++ b/packages/vscode/src/UserManager.ts
@@ -0,0 +1,75 @@
+import { Banner } from 'types'
+import { eventBusInstance } from './EventBus'
+import { TelemetryModule } from './telemetry'
+import { UserStateManager } from './UserStateManager'
+
+const userShouldSeeBannersAfterSearchesWithResultsCount = 3
+
+export class UserManager {
+ private banners: Banner[] | null = []
+ constructor(
+ private readonly userStateManager: UserStateManager,
+ private readonly telemetryReporter: TelemetryModule,
+ ) {
+ eventBusInstance.addListener('fetch:banners:start', this.fetchBanners)
+ eventBusInstance.addListener('banner:close', this.handleBannerClose)
+
+ eventBusInstance.addListener(
+ 'banner:clicked-link',
+ this.handleBannerLinkClick,
+ )
+ }
+
+ private fetchBanners = () => {
+ const { closedBannerIds, searchesWithResultsCount } =
+ this.userStateManager.getState()
+
+ if (
+ searchesWithResultsCount >=
+ userShouldSeeBannersAfterSearchesWithResultsCount
+ ) {
+ if (Array.isArray(this.banners)) {
+ eventBusInstance.dispatch('fetch:banners:response', this.banners)
+ }
+
+ fetch('https://codeque.co/api/vscode/banners', {
+ method: 'GET',
+ mode: 'no-cors',
+ })
+ .then((response) => response.json())
+ .then((data: { banners: Array }) => {
+ this.banners = data.banners.filter(
+ (banner) => !closedBannerIds.includes(banner.id),
+ )
+
+ eventBusInstance.dispatch('fetch:banners:response', this.banners)
+ this.telemetryReporter.reportBannersLoad()
+ })
+ .catch((e) => {
+ eventBusInstance.dispatch('fetch:banners:response', [])
+ })
+ }
+ }
+
+ private handleBannerClose = (bannerId: string) => {
+ if (Array.isArray(this.banners)) {
+ this.banners = this.banners.filter((banner) => banner.id !== bannerId)
+ }
+
+ const closedBannerIds = this.userStateManager.getState().closedBannerIds
+
+ this.userStateManager.setState({
+ closedBannerIds: [...closedBannerIds, bannerId],
+ })
+
+ this.telemetryReporter.reportBannerClose(bannerId)
+ }
+
+ private handleBannerLinkClick = (bannerId: string) => {
+ this.telemetryReporter.reportBannerLinkClick(bannerId)
+ }
+
+ public dispose() {
+ eventBusInstance.removeListener('fetch:banners:start', this.fetchBanners)
+ }
+}
diff --git a/packages/vscode/src/UserStateManager.ts b/packages/vscode/src/UserStateManager.ts
new file mode 100644
index 0000000..5dbcc1a
--- /dev/null
+++ b/packages/vscode/src/UserStateManager.ts
@@ -0,0 +1,94 @@
+import * as vscode from 'vscode'
+import { eventBusInstance } from './EventBus'
+
+export type UserStateShape = {
+ closedBannerIds: string[]
+ searchesWithResultsCount: number
+ proLicenseKey: string | null
+}
+
+export class UserStateManager {
+ private readonly defaultState: UserStateShape = {
+ closedBannerIds: [],
+ searchesWithResultsCount: 0,
+ proLicenseKey: null,
+ }
+
+ private readonly stateKey = 'codeque-user-data'
+ private globalState: vscode.ExtensionContext['globalState']
+ private localState: UserStateShape
+
+ constructor(globalState: vscode.ExtensionContext['globalState']) {
+ this.globalState = globalState
+ this.globalState.setKeysForSync([this.stateKey])
+
+ const savedState = this.globalState.get(this.stateKey) as string | undefined
+
+ let savedStateParsed: Partial = {}
+
+ if (savedState !== undefined) {
+ try {
+ savedStateParsed = JSON.parse(savedState)
+ } catch (e) {
+ console.error('saved state parse error', e)
+ void 0
+ }
+ }
+
+ this.localState = {
+ ...this.defaultState,
+ ...savedStateParsed,
+ }
+ }
+
+ private undefinedToNull = (state: UserStateShape) => {
+ return Object.entries(state)
+ .map(([key, value]) => [key, value ?? null] as const)
+ .reduce((state, [key, value]) => {
+ return {
+ ...state,
+ [key]: value,
+ }
+ }, {} as UserStateShape)
+ }
+
+ private getStateDiff = (
+ prevState: UserStateShape,
+ nextState: UserStateShape,
+ ): Partial => {
+ const diff = {} as UserStateShape
+
+ Object.entries(prevState).forEach(([_key, value]) => {
+ const key = _key as keyof UserStateShape
+
+ if (JSON.stringify(value) !== JSON.stringify(nextState[key])) {
+ const nextValue = nextState[key]
+ //@ts-ignore
+ diff[key] = nextValue
+ }
+ })
+
+ return diff
+ }
+
+ public setState = (data: Partial) => {
+ const oldState = { ...this.localState }
+ const newState = this.undefinedToNull({
+ ...oldState,
+ ...data,
+ })
+
+ this.localState = newState
+
+ eventBusInstance.dispatch(
+ 'user-settings-changed',
+ this.getStateDiff(oldState, newState),
+ )
+
+ this.globalState.update(this.stateKey, JSON.stringify(newState))
+ }
+
+ public getState = () => {
+ return { ...this.localState }
+ }
+}
diff --git a/packages/vscode/src/codeHighlightSettings.ts b/packages/vscode/src/codeHighlightSettings.ts
new file mode 100644
index 0000000..b47adb5
--- /dev/null
+++ b/packages/vscode/src/codeHighlightSettings.ts
@@ -0,0 +1,26 @@
+const highlightColorOnLight = '#ddebf2'
+const highlightColorOnLightSecondary = '#f2ddf1'
+
+const highlightColorOnDark = '#35485b'
+// const highlightColorOnDarkSecondary = '#263442'
+const highlightColorOnDarkSecondary = '#46355b'
+
+export const getMatchHighlightStyle = (isDark: boolean) => {
+ const highlightColor = isDark ? highlightColorOnDark : highlightColorOnLight
+
+ return {
+ backgroundColor: highlightColor,
+ boxShadow: `0px 5px 0px ${highlightColor}, 0px -5px 0px ${highlightColor}`,
+ }
+}
+
+export const getMatchHighlightStyleSecondary = (isDark: boolean) => {
+ const highlightColor = isDark
+ ? highlightColorOnDarkSecondary
+ : highlightColorOnLightSecondary
+
+ return {
+ backgroundColor: highlightColor,
+ boxShadow: `0px 5px 0px ${highlightColor}, 0px -5px 0px ${highlightColor}`,
+ }
+}
diff --git a/packages/vscode/src/extension.ts b/packages/vscode/src/extension.ts
index bf17fe4..d7ab735 100644
--- a/packages/vscode/src/extension.ts
+++ b/packages/vscode/src/extension.ts
@@ -1,7 +1,7 @@
import * as vscode from 'vscode'
import { SidebarProvider } from './SidebarProvider'
import { SearchResultsPanel } from './SearchResultsPanel'
-import { StateManager, StateShape } from './StateManager'
+import { SearchStateManager, SearchStateShape } from './SearchStateManager'
import { eventBusInstance } from './EventBus'
import { SearchManager } from './SearchManager'
import {
@@ -15,6 +15,9 @@ import path from 'path'
import { dedentPatched, fileTypeToParserMap } from './utils'
import { getFileTypeFromFileExtension } from './nodeUtils'
import { activateReporter, telemetryModuleFactory } from './telemetry'
+import { UserStateManager } from './UserStateManager'
+import { UserManager } from './UserManager'
+import fetch from 'node-fetch'
let dispose = (() => undefined) as () => void
@@ -27,10 +30,15 @@ export function activate(context: vscode.ExtensionContext) {
const { extensionUri } = context
- const stateManager = new StateManager(context.workspaceState)
+ const searchStateManager = new SearchStateManager(
+ context.workspaceState,
+ telemetryModule,
+ )
+
+ const userStateManager = new UserStateManager(context.globalState)
const openSearchResults = () =>
- SearchResultsPanel.createOrShow(extensionUri, stateManager)
+ SearchResultsPanel.createOrShow(extensionUri, searchStateManager)
const openSidebar = async () =>
vscode.commands.executeCommand(
@@ -44,15 +52,22 @@ export function activate(context: vscode.ExtensionContext) {
}
})
- const sidebarProvider = new SidebarProvider(extensionUri, stateManager)
+ const sidebarProvider = new SidebarProvider(extensionUri, searchStateManager)
const searchManager = new SearchManager(
- stateManager,
+ searchStateManager,
+ userStateManager,
telemetryModule,
sanitizeFsPath(extensionUri.fsPath),
)
- dispose = searchManager.dispose
+ const userManager = new UserManager(userStateManager, telemetryModule)
+
+ dispose = () => {
+ searchManager.dispose()
+ userManager.dispose()
+ }
+
const item = vscode.window.createStatusBarItem(
vscode.StatusBarAlignment.Right,
)
@@ -68,14 +83,14 @@ export function activate(context: vscode.ExtensionContext) {
)
const openSearchWithOptionalQueryFromEditorSelection = async (
- newSearchSettings?: Partial,
+ newSearchSettings?: Partial,
) => {
const { activeTextEditor } = vscode.window
let selectedCode: string | null = ''
let selectedCodeFileExtension: string | null = null
- const state = stateManager.getState()
+ const state = searchStateManager.getState()
if (activeTextEditor) {
selectedCode = activeTextEditor.document.getText(
@@ -130,7 +145,7 @@ export function activate(context: vscode.ExtensionContext) {
newMode = 'text'
}
- stateManager.setState({
+ searchStateManager.setState({
query: newQuery,
mode: newMode,
fileType: fileType,
@@ -138,10 +153,10 @@ export function activate(context: vscode.ExtensionContext) {
}
if (newSearchSettings) {
- stateManager.setState(newSearchSettings)
+ searchStateManager.setState(newSearchSettings)
}
- SearchResultsPanel.createOrShow(extensionUri, stateManager)
+ SearchResultsPanel.createOrShow(extensionUri, searchStateManager)
await openSidebar()
@@ -225,11 +240,156 @@ export function activate(context: vscode.ExtensionContext) {
}),
)
+ const openLicensePurchaseWebsite = () => {
+ vscode.env.openExternal(
+ vscode.Uri.parse(
+ 'https://vscodesearch.com?utm_source=vscode_getLicenseCmd',
+ ),
+ )
+ }
+
+ const activateProLicense = async () => {
+ try {
+ telemetryModule.reportActivateLicenseCmd()
+
+ const licenseKey = await vscode.window.showInputBox({
+ title: 'License key (Get it on https://vscodesearch.com)',
+ placeHolder: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
+ })
+
+ if (!licenseKey) {
+ const result = await vscode.window.showErrorMessage(
+ 'Please provide license key to activate CodeQue Pro.',
+ {},
+ 'Get license key',
+ )
+
+ const clickedGetLicense = result === 'Get license key'
+
+ if (clickedGetLicense) {
+ openLicensePurchaseWebsite()
+ }
+
+ telemetryModule.reportLicenseActivationError(
+ `Missing license key ${
+ clickedGetLicense ? ' - Clicked to get license' : ''
+ }`,
+ )
+
+ return
+ }
+
+ const licenseActivationResult = (await fetch(
+ 'https://vscodesearch.com/api/vscode/activateLicense',
+ {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify({
+ licenseKey,
+ machineId: vscode.env.machineId,
+ }),
+ },
+ ).then((res) => res.json())) as { success: boolean }
+
+ if (!licenseActivationResult.success) {
+ telemetryModule.reportLicenseActivationError('Invalid license key')
+
+ return vscode.window.showErrorMessage('Invalid license key')
+ }
+
+ userStateManager.setState({ proLicenseKey: licenseKey })
+
+ const fileBlob = await (
+ await fetch(
+ 'https://vscodesearch.com/api/vscode/getLatestProInstalator',
+ {
+ method: 'POST',
+ headers: { 'Content-Type': 'application/json' },
+ body: JSON.stringify({
+ licenseKey,
+ machineId: vscode.env.machineId,
+ }),
+ },
+ )
+ ).blob()
+
+ const buffer = await fileBlob.arrayBuffer()
+
+ const storagePath = context.storageUri?.fsPath
+
+ const fileUri = vscode.Uri.file(`${storagePath}/extension.vsix`)
+
+ //@ts-ignore
+ await vscode.workspace.fs.writeFile(fileUri, Buffer.from(buffer))
+
+ await vscode.commands.executeCommand(
+ 'workbench.extensions.installExtension',
+ fileUri,
+ )
+
+ telemetryModule.reportSuccessfulLicenseActivation()
+
+ const successAction = await vscode.window.showInformationMessage(
+ 'CodeQue Pro installed correctly. Reload window to use it',
+ {},
+ 'Reload window',
+ )
+
+ if (successAction === 'Reload window') {
+ vscode.commands.executeCommand('workbench.action.reloadWindow')
+ }
+ } catch (e) {
+ const error = e as Error
+ const errorText = `${error.message} at ${error.stack}`
+
+ telemetryModule.reportLicenseActivationError(`Unhandled: ${errorText}`)
+
+ const errorAction = await vscode.window.showErrorMessage(
+ `Unhandled license activation error: ${error}`,
+ {},
+ 'Support via Github',
+ )
+
+ if (errorAction === 'Support via Github') {
+ vscode.env.openExternal(
+ vscode.Uri.parse('https://github.com/codeque-co/codeque/issues'),
+ )
+ }
+ }
+ }
+
+ vscode.commands.registerCommand(
+ 'codeque.activateProLicense',
+ activateProLicense,
+ )
+
+ vscode.commands.registerCommand('codeque.getProLicense', () => {
+ telemetryModule.reportGetLicenseCmd()
+
+ openLicensePurchaseWebsite()
+ })
+
+ /** Handle stub replace */
+
+ eventBusInstance.addListener('pro-modal:closed', () => {
+ telemetryModule.reportStubReplaceModalClose()
+ })
+
+ eventBusInstance.addListener('pro-modal:subscribe_clicked', () => {
+ telemetryModule.reportStubReplaceModalSubscribeClick()
+ })
+
+ eventBusInstance.addListener('pro-modal:twitter_handler_clicked', () => {
+ telemetryModule.reportStubReplaceModalNameClick()
+ })
+
+ /** Handle webviews reload */
+
context.subscriptions.push(
// Thanks Ben
vscode.commands.registerCommand('codeque.refresh', async () => {
SearchResultsPanel.kill()
- SearchResultsPanel.createOrShow(extensionUri, stateManager)
+ SearchResultsPanel.createOrShow(extensionUri, searchStateManager)
await vscode.commands.executeCommand('workbench.action.closeSidebar')
await vscode.commands.executeCommand(
diff --git a/packages/vscode/src/nodeUtils.ts b/packages/vscode/src/nodeUtils.ts
index 266a352..8f0d56d 100644
--- a/packages/vscode/src/nodeUtils.ts
+++ b/packages/vscode/src/nodeUtils.ts
@@ -4,8 +4,10 @@ import {
cssExtensionTester,
htmlFamilyExtensionTester,
pythonExtensionTester,
+ luaExtensionTester,
+ csharpExtensionTester,
} from '@codeque/core'
-import { SearchFileType } from './StateManager'
+import { SearchFileType } from './types'
export const sanitizeFsPath = (fsPath: string) => {
const isWindows = process.platform.includes('win32')
@@ -44,6 +46,14 @@ export const getFileTypeFromFileExtension = (
return 'python'
}
+ if (fileExtension.match(luaExtensionTester) !== null) {
+ return 'lua'
+ }
+
+ if (fileExtension.match(csharpExtensionTester) !== null) {
+ return 'csharp'
+ }
+
return 'all'
}
diff --git a/packages/vscode/src/restrictedQueries.ts b/packages/vscode/src/restrictedQueries.ts
index 6bdbe2a..e4a3e22 100644
--- a/packages/vscode/src/restrictedQueries.ts
+++ b/packages/vscode/src/restrictedQueries.ts
@@ -1,9 +1,21 @@
-import { SearchFileType } from './StateManager'
+import type { Mode } from '@codeque/core'
+import { SearchFileType } from './types'
const jsTsJson = [/^\${2,3}$/, /^\{\}$/]
const python = [/^\${2,3}$/, /^\{\}$/]
-const text = [/^\${2,3}m?.{0,3}$/, /^..$/]
+const lua = [/^\${2,3}$/, /^\{\}$/]
+
+const csharp = [/^\${2,3}$/, /^\{\}$/]
+
+const text = [
+ // Start with multiline query
+ /^\${2,3}m/,
+ // Start with any wildcard and only 3 chars in query
+ /^\${2,3}m?.{0,3}$/,
+ // only two chars in query
+ /^..$/,
+]
const html: RegExp[] = []
@@ -15,10 +27,16 @@ export const restrictedQueriesByFileType: Record = {
'js-ts-json': jsTsJson,
html: html,
python: python,
+ lua,
+ csharp,
}
-export const isQueryRestricted = (query: string, fileType: SearchFileType) => {
- return restrictedQueriesByFileType[fileType].some(
- (tester) => query.match(tester) !== null,
- )
+export const isQueryRestricted = (
+ query: string,
+ fileType: SearchFileType,
+ mode: Mode,
+) => {
+ const testers = mode === 'text' ? text : restrictedQueriesByFileType[fileType]
+
+ return testers.some((tester) => query.match(tester) !== null)
}
diff --git a/packages/vscode/src/telemetry.ts b/packages/vscode/src/telemetry.ts
index dcb7713..d7268c6 100644
--- a/packages/vscode/src/telemetry.ts
+++ b/packages/vscode/src/telemetry.ts
@@ -1,7 +1,6 @@
import { Mode } from '@codeque/core'
import TelemetryReporter from '@vscode/extension-telemetry'
-import { CaseType } from './types'
-import { SearchFileType } from './StateManager'
+import { CaseType, SearchFileType } from './types'
const applicationInsightsInstrumentationKey =
'8f838c47-7173-4f6c-851a-b012d45d9ad8'
@@ -11,11 +10,45 @@ export const activateReporter = (): {
telemetryModule: TelemetryModule
} => {
if (process.env.NODE_ENV !== 'production') {
+ const logTelemetryInDev = (fnName: string, args: Array) => {
+ //eslint-disable-next-line
+ console.log('TelemetryDev', fnName, ...args)
+ }
+
return {
nativeReporter: null,
telemetryModule: {
- reportSearch: () => undefined,
- reportSearchError: () => undefined,
+ reportSearch: (...args) => logTelemetryInDev('reportSearch', args),
+ reportSearchError: (...args) =>
+ logTelemetryInDev('reportSearchError', args),
+ reportBannerClose: (...args) =>
+ logTelemetryInDev('reportBannerClose', args),
+ reportBannerLinkClick: (...args) =>
+ logTelemetryInDev('reportBannerLinkClick', args),
+ reportBannersLoad: (...args) =>
+ logTelemetryInDev('reportBannersLoad', args),
+ reportGetLicenseCmd: (...args) =>
+ logTelemetryInDev('reportGetLicenseCmd', args),
+ reportActivateLicenseCmd: (...args) =>
+ logTelemetryInDev('reportActivateLicenseCmd', args),
+ reportLicenseActivationError: (...args) =>
+ logTelemetryInDev('reportLicenseActivationError', args),
+ reportSuccessfulLicenseActivation: (...args) =>
+ logTelemetryInDev('reportSuccessfulLicenseActivation', args),
+ reportStubReplacementChange: (...args) =>
+ logTelemetryInDev('reportStubReplacementChange', args),
+ reportStubReplaceModeChange: (...args) =>
+ logTelemetryInDev('reportStubReplaceModeChange', args),
+ reportStubReplaceTypeChange: (...args) =>
+ logTelemetryInDev('reportStubReplaceTypeChange', args),
+ reportStubReplaceClick: (...args) =>
+ logTelemetryInDev('reportStubReplaceClick', args),
+ reportStubReplaceModalClose: (...args) =>
+ logTelemetryInDev('reportStubReplaceModalClose', args),
+ reportStubReplaceModalSubscribeClick: (...args) =>
+ logTelemetryInDev('reportStubReplaceModalSubscribeClick', args),
+ reportStubReplaceModalNameClick: (...args) =>
+ logTelemetryInDev('reportStubReplaceModalNameClick', args),
},
}
}
@@ -51,6 +84,20 @@ export type TelemetryModule = {
queryLength: number
searchTime: number
}) => void
+ reportBannersLoad: () => void
+ reportBannerClose: (bannerId: string) => void
+ reportBannerLinkClick: (bannerId: string) => void
+ reportGetLicenseCmd: () => void
+ reportActivateLicenseCmd: () => void
+ reportSuccessfulLicenseActivation: () => void
+ reportLicenseActivationError: (issue: string) => void
+ reportStubReplacementChange: () => void
+ reportStubReplaceModeChange: (mode: string) => void
+ reportStubReplaceTypeChange: (type: string) => void
+ reportStubReplaceClick: () => void
+ reportStubReplaceModalClose: () => void
+ reportStubReplaceModalSubscribeClick: () => void
+ reportStubReplaceModalNameClick: () => void
}
export const telemetryModuleFactory = (
@@ -80,6 +127,31 @@ export const telemetryModuleFactory = (
console.error('Send telemetry event error', e)
}
},
+ reportBannersLoad: async () => {
+ try {
+ reporter.sendTelemetryEvent('vscode:banners_load', {}, {})
+ } catch (e) {
+ console.error('Send telemetry event error', e)
+ }
+ },
+ reportBannerLinkClick: async (bannerId: string) => {
+ try {
+ reporter.sendTelemetryEvent('vscode:banner_link_click', {
+ bannerId,
+ })
+ } catch (e) {
+ console.error('Send telemetry event error', e)
+ }
+ },
+ reportBannerClose: async (bannerId: string) => {
+ try {
+ reporter.sendTelemetryEvent('vscode:banner_close', {
+ bannerId,
+ })
+ } catch (e) {
+ console.error('Send telemetry event error', e)
+ }
+ },
reportSearchError: (data) => {
try {
reporter.sendTelemetryErrorEvent(
@@ -99,5 +171,89 @@ export const telemetryModuleFactory = (
console.error('Telemetry error event reporting error', e)
}
},
+ reportActivateLicenseCmd() {
+ try {
+ reporter.sendTelemetryEvent('vscode:activate_license_cmd', {})
+ } catch (e) {
+ console.error('Send telemetry event error', e)
+ }
+ },
+ reportGetLicenseCmd() {
+ try {
+ reporter.sendTelemetryEvent('vscode:get_license_cmd', {})
+ } catch (e) {
+ console.error('Send telemetry event error', e)
+ }
+ },
+ reportSuccessfulLicenseActivation() {
+ try {
+ reporter.sendTelemetryEvent('vscode:license_activation_success', {})
+ } catch (e) {
+ console.error('Send telemetry event error', e)
+ }
+ },
+ reportLicenseActivationError(issue) {
+ try {
+ reporter.sendTelemetryErrorEvent('vscode:license_activation_error', {
+ issue,
+ })
+ } catch (e) {
+ console.error('Send telemetry event error', e)
+ }
+ },
+ reportStubReplacementChange: () => {
+ try {
+ reporter.sendTelemetryEvent('vscode:stub_replacement_change', {})
+ } catch (e) {
+ console.error('Send telemetry event error, e')
+ }
+ },
+ reportStubReplaceModeChange: (mode: string) => {
+ try {
+ reporter.sendTelemetryEvent('vscode:stub_replace_mode_change', {
+ mode,
+ })
+ } catch (e) {
+ console.error('Send telemetry event error, e')
+ }
+ },
+ reportStubReplaceTypeChange: (type: string) => {
+ try {
+ reporter.sendTelemetryEvent('vscode:stub_replace_type_change', { type })
+ } catch (e) {
+ console.error('Send telemetry event error, e')
+ }
+ },
+ reportStubReplaceClick: () => {
+ try {
+ reporter.sendTelemetryEvent('vscode:stub_replace_click', {})
+ } catch (e) {
+ console.error('Send telemetry event error, e')
+ }
+ },
+ reportStubReplaceModalClose: () => {
+ try {
+ reporter.sendTelemetryEvent('vscode:stub_replace_modal_close', {})
+ } catch (e) {
+ console.error('Send telemetry event error, e')
+ }
+ },
+ reportStubReplaceModalSubscribeClick: () => {
+ try {
+ reporter.sendTelemetryEvent(
+ 'vscode:stub_replace_modal_subscribe_click',
+ {},
+ )
+ } catch (e) {
+ console.error('Send telemetry event error, e')
+ }
+ },
+ reportStubReplaceModalNameClick: () => {
+ try {
+ reporter.sendTelemetryEvent('vscode:stub_replace_modal_name_click', {})
+ } catch (e) {
+ console.error('Send telemetry event error, e')
+ }
+ },
}
}
diff --git a/packages/vscode/src/types.ts b/packages/vscode/src/types.ts
index ab25f5a..a065c6b 100644
--- a/packages/vscode/src/types.ts
+++ b/packages/vscode/src/types.ts
@@ -1,9 +1,33 @@
import { SearchResults, MatchWithFileInfo } from '@codeque/core'
-export type CaseType = 'sensitive' | 'insensitive'
-
export type ExtendedSearchResults = SearchResults & {
relativePathsMap: Record
workspacesMap: Record
groupedMatches: Record
}
+
+export type Banner = {
+ id: string
+ type: 'info' | 'warning' | 'success' | 'error'
+ items: Array<
+ | { type: 'text'; value: string }
+ | { type: 'link'; value: string; link: string }
+ >
+ userType: 'free' | 'pro' | 'all'
+ startDate: Date
+ endDate: Date
+}
+
+export type SearchFileType =
+ | 'all'
+ | 'js-ts-json'
+ | 'html'
+ | 'css'
+ | 'python'
+ | 'lua'
+ | 'csharp'
+
+export type CaseType = 'sensitive' | 'insensitive'
+export type QueryType = 'basic' | 'query-builder'
+export type ReplaceMode = 'text' | 'merge-code'
+export type ReplaceType = 'replace' | 'quick-replace'
diff --git a/packages/vscode/src/utils.ts b/packages/vscode/src/utils.ts
index 080f4b0..2a2d319 100644
--- a/packages/vscode/src/utils.ts
+++ b/packages/vscode/src/utils.ts
@@ -1,10 +1,13 @@
import dedent from 'dedent'
import { useEffect, useState } from 'react'
import { ParserType } from '@codeque/core'
-import { SearchFileType } from './StateManager'
+import { SearchFileType } from './types'
// eslint-disable-next-line
-export function simpleDebounce unknown>(func: F, timeout = 300) {
+export function simpleDebounce unknown>(
+ func: F,
+ timeout = 300,
+) {
let timer: NodeJS.Timeout
return (...args: Parameters) => {
@@ -62,7 +65,12 @@ export function getScrollParent(node: any): any {
export type SupportedParsers = Extract<
ParserType,
- 'babel' | 'angular-eslint-template-parser' | 'css-tree' | 'python'
+ | 'babel'
+ | 'angular-eslint-template-parser'
+ | 'css-tree'
+ | 'python'
+ | 'lua'
+ | 'csharp'
>
export const supportedParsers: SupportedParsers[] = [
@@ -70,6 +78,8 @@ export const supportedParsers: SupportedParsers[] = [
'angular-eslint-template-parser',
'css-tree',
'python',
+ 'lua',
+ 'csharp',
]
export const fileTypeToParserMap: Record = {
@@ -78,6 +88,8 @@ export const fileTypeToParserMap: Record = {
'js-ts-json': 'babel',
css: 'css-tree',
python: 'python',
+ lua: 'lua',
+ csharp: 'csharp',
}
export const parserToFileTypeMap: Record = {
@@ -85,6 +97,8 @@ export const parserToFileTypeMap: Record = {
babel: 'js-ts-json',
['css-tree']: 'css',
['python']: 'python',
+ ['lua']: 'lua',
+ ['csharp']: 'csharp',
}
const imageExtensions = [
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/components/Banners.tsx b/packages/vscode/src/webviews/SearchResultsPanel/components/Banners.tsx
new file mode 100644
index 0000000..2b1ee57
--- /dev/null
+++ b/packages/vscode/src/webviews/SearchResultsPanel/components/Banners.tsx
@@ -0,0 +1,81 @@
+import { Flex, IconButton, Link, Text } from '@chakra-ui/react'
+import { useCallback, useEffect, useState } from 'react'
+import { VscChromeClose } from 'react-icons/vsc'
+import { Banner } from '../../../types'
+import { eventBusInstance } from '../../../EventBus'
+
+const backgroundColor: Record = {
+ info: 'blue.600',
+ warning: 'yellow.600',
+ success: 'green.600',
+ error: 'red.600',
+}
+
+export function Banners() {
+ const [banners, setBanners] = useState>([])
+
+ useEffect(() => {
+ eventBusInstance.addListener('fetch:banners:response', setBanners)
+ eventBusInstance.dispatch('fetch:banners:start')
+
+ return () => {
+ eventBusInstance.removeListener('fetch:banners:response', setBanners)
+ }
+ }, [])
+
+ const closeBanner = useCallback((bannerId: string) => {
+ setBanners((banners) => banners.filter((banner) => banner.id !== bannerId))
+ eventBusInstance.dispatch('banner:close', bannerId)
+ }, [])
+
+ const clickedBannerLink = useCallback((bannerId: string) => {
+ eventBusInstance.dispatch('banner:clicked-link', bannerId)
+ }, [])
+
+ return (
+ 0 ? '6px' : 0}>
+ {banners.map((banner) => (
+
+
+ {banner.items.map((item, idx) => {
+ if (item.type === 'link') {
+ return (
+ clickedBannerLink(banner.id)}
+ >
+ {item.value}
+
+ )
+ } else if (item.type === 'text') {
+ return {item.value}
+ }
+ })}
+
+ }
+ onClick={() => closeBanner(banner.id)}
+ aria-label="close banner"
+ marginLeft={'auto'}
+ width="auto"
+ />
+
+ ))}
+
+ )
+}
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/components/CopyPath.tsx b/packages/vscode/src/webviews/SearchResultsPanel/components/CopyPath.tsx
deleted file mode 100644
index 2550d54..0000000
--- a/packages/vscode/src/webviews/SearchResultsPanel/components/CopyPath.tsx
+++ /dev/null
@@ -1,37 +0,0 @@
-import { IconButton, Tooltip } from '@chakra-ui/react'
-import { MdContentCopy } from 'react-icons/md'
-import { darkTheme, lightTheme } from '../../components/codeHighlightThemes'
-import { useThemeType } from '../../components/useThemeType'
-import { getIconButtonProps } from './utils'
-import { useCopyToClipboard } from '../../components/useCopyToClipboard'
-
-type CopyPathProps = {
- fullFilePath: string
-}
-
-export function CopyPath({ fullFilePath }: CopyPathProps) {
- const themeType = useThemeType()
- const isDarkTheme = themeType === 'dark'
- const highlightTheme = isDarkTheme ? darkTheme : lightTheme
-
- const iconButtonStyleResetProps = getIconButtonProps(
- highlightTheme.plain.backgroundColor,
- )
- const [hasCopiedFilePath, copyFilePath] = useCopyToClipboard(fullFilePath)
-
- return (
- <>
- }
- {...iconButtonStyleResetProps}
- onClick={copyFilePath}
- />
- {hasCopiedFilePath && (
-
-
-
- )}
- >
- )
-}
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/components/FileGroup.tsx b/packages/vscode/src/webviews/SearchResultsPanel/components/FileGroup.tsx
index 86e8865..648a247 100644
--- a/packages/vscode/src/webviews/SearchResultsPanel/components/FileGroup.tsx
+++ b/packages/vscode/src/webviews/SearchResultsPanel/components/FileGroup.tsx
@@ -9,8 +9,9 @@ import { useThemeType } from '../../components/useThemeType'
import { getIconButtonProps, groupHeaderHeight, getBorderColor } from './utils'
import { IoMdClose } from 'react-icons/io'
import { DoubleClickButton } from '../../components/DoubleClickButton'
-import { CopyPath } from './CopyPath'
+import { CopyButton } from '../../components/CopyButton'
import { usePreventScrollJump } from './usePreventScrollJump'
+import { zIndices } from '../../components/zIndices'
type FileGroupProps = {
matches: MatchWithFileInfo[]
@@ -69,6 +70,8 @@ export function FileGroup({
}
}, [])
+ const allMatchesLocations = matches.map((match) => match.loc)
+
return (
{
setIsResultFocused(true)
@@ -117,7 +120,11 @@ export function FileGroup({
maxWidth="calc(100% - 110px)"
/>
-
+
({matches.length})
)
})}
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/components/FileLink.tsx b/packages/vscode/src/webviews/SearchResultsPanel/components/FileLink.tsx
index 7db0e4c..b1906b9 100644
--- a/packages/vscode/src/webviews/SearchResultsPanel/components/FileLink.tsx
+++ b/packages/vscode/src/webviews/SearchResultsPanel/components/FileLink.tsx
@@ -3,10 +3,9 @@ import { Match, MatchWithFileInfo } from '@codeque/core'
import { openFile } from '../utils'
type FileLinkProps = LinkProps & {
- match: {
- filePath: MatchWithFileInfo['filePath']
- loc?: MatchWithFileInfo['loc']
- }
+ filePath: MatchWithFileInfo['filePath']
+ locationsToSelect?: Array
+ locationsToDecorate?: Array
relativeFilePath?: string
matchStartLine?: number
matchStartCol?: number
@@ -14,7 +13,9 @@ type FileLinkProps = LinkProps & {
}
export function FileLink({
- match,
+ filePath,
+ locationsToSelect = [],
+ locationsToDecorate = [],
relativeFilePath,
matchStartCol,
matchStartLine,
@@ -28,14 +29,17 @@ export function FileLink({
: relativeFilePath
return (
+ //@ts-ignore
{
ev.stopPropagation()
onClick?.()
openFile({
- filePath: match.filePath,
- location: match.loc,
+ filePath: filePath,
+ locationsToSelect,
+ locationsToDecorate,
})
}}
fontWeight="500"
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/components/QueryEditor.tsx b/packages/vscode/src/webviews/SearchResultsPanel/components/QueryEditor.tsx
index 9e4e55f..930785a 100644
--- a/packages/vscode/src/webviews/SearchResultsPanel/components/QueryEditor.tsx
+++ b/packages/vscode/src/webviews/SearchResultsPanel/components/QueryEditor.tsx
@@ -1,28 +1,14 @@
import { Box, Flex, Text } from '@chakra-ui/react'
import { Editor } from '../../components/Editor'
//@ts-ignore
-import { Mode, searchInStrings, __internal } from '@codeque/core/web'
+import { Mode } from '@codeque/core/web'
-import { Fragment, useCallback, useEffect, useState } from 'react'
+import { Fragment, useEffect, useState } from 'react'
import { codeRed } from '../../components/Highlight'
import { useThemeType } from '../../components/useThemeType'
-import useDebounce, { fileTypeToParserMap } from '../../../utils'
-import { SearchFileType } from '../../../StateManager'
-import { isQueryRestricted } from '../../../restrictedQueries'
-
-type Error = {
- text: string
- location: {
- line: number
- column: number
- }
-}
-
-type Hint = {
- text: string
- tokens: Array<{ content: string; type: string }>
-}
+import { SearchFileType } from '../../../types'
+import { Hint, QueryParseError, useParseQueryError } from './useParseQuery'
type Props = {
query: string
@@ -71,21 +57,13 @@ const getHighlightFileExtension = (fileType: SearchFileType) => {
'js-ts-json': 'tsx',
css: 'css',
python: 'py',
+ lua: 'lua',
+ csharp: 'csharp',
}
return map[fileType]
}
-const getHostSystemFilesFetchBaseUrl = () => {
- const mainScriptSrc = document
- .getElementById('main-script')
- ?.getAttribute('src')
-
- if (mainScriptSrc) {
- return mainScriptSrc.split('/dist-webviews')[0]
- }
-}
-
export function QueryEditor({
query,
setQuery,
@@ -94,88 +72,32 @@ export function QueryEditor({
fileType,
}: Props) {
const [queryHint, setQueryHint] = useState(null)
- const [queryError, setQueryError] = useState(null)
- const [isEditorFocused, setIsEditorFocused] = useState(false)
- const [hostSystemFilesFetchBaseUrl, setHostSystemFilesFetchBaseUrl] =
- useState('')
- const handleEditorFocus = useCallback(() => setIsEditorFocused(true), [])
- const handleEditorBlur = useCallback(() => setIsEditorFocused(false), [])
-
- const isEditorFocusedDebounced = useDebounce(isEditorFocused, 200)
-
- useEffect(() => {
- setHostSystemFilesFetchBaseUrl(getHostSystemFilesFetchBaseUrl() ?? '')
- }, [])
+ const [queryError, setQueryError] = useState(null)
useEffect(() => {
setHasQueryError(Boolean(queryError))
}, [queryError])
+ const parseQuery = useParseQueryError()
+
useEffect(() => {
setQueryError(null)
setQueryHint(null)
- if (isQueryRestricted(query, fileType)) {
- setQueryError({
- text: 'Query restricted for performance reasons',
- location: { line: 0, column: 0 },
- })
- // Do not init parser until hostSystemFilesFetchBaseUrl is determined
- } else if (hostSystemFilesFetchBaseUrl) {
- const handleParse = async () => {
- try {
- const parser = fileTypeToParserMap[fileType]
-
- await __internal.parserSettingsMap[parser]().init?.(
- hostSystemFilesFetchBaseUrl,
- )
-
- const matches = searchInStrings({
- queryCodes: [query],
- files: [
- {
- content: '',
- path: 'file.ts',
- },
- ],
- mode,
- parser,
- })
-
- const hint = matches.hints?.[0]?.[0] ?? null
- setQueryHint(hint)
-
- if (matches.errors.length > 0) {
- console.error(matches.errors)
- const error = matches.errors[0]
-
- // indicates query parse error
- if (typeof error === 'object' && 'queryNode' in error) {
- if (mode !== 'text' && hint) {
- // Don't display error when there are hints available
-
- setQueryError(null)
- } else if (!error.error.text.includes('Empty query')) {
- setQueryError({
- text: error.error.text,
- location: error.error.location,
- })
- }
- } else {
- setQueryError({
- text: error,
- location: { line: 0, column: 0 },
- })
- }
- }
- } catch (e) {
- console.error('Query parse error', e)
- }
+ parseQuery({
+ mode,
+ query,
+ fileType,
+ }).then(({ error, hint }) => {
+ if (error) {
+ setQueryError(error)
}
- handleParse()
- }
- }, [mode, query, fileType, hostSystemFilesFetchBaseUrl])
+ if (hint) {
+ setQueryHint(hint)
+ }
+ })
+ }, [mode, query, fileType])
const queryCustomHighlight = queryError?.location
? [getParseErrorHighlight(queryError.location)]
@@ -186,36 +108,24 @@ export function QueryEditor({
const isDarkTheme = themeType === 'dark'
return (
-
-
+
+
- {!isEditorFocusedDebounced && (
-
- )}
-
{queryHint && (
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/components/ReplacementEditor.tsx b/packages/vscode/src/webviews/SearchResultsPanel/components/ReplacementEditor.tsx
new file mode 100644
index 0000000..ebca8d8
--- /dev/null
+++ b/packages/vscode/src/webviews/SearchResultsPanel/components/ReplacementEditor.tsx
@@ -0,0 +1,170 @@
+import { Box, Flex, Text } from '@chakra-ui/react'
+import { Editor } from '../../components/Editor'
+//@ts-ignore
+import { Mode } from '@codeque/core/web'
+
+import { Fragment, useEffect, useState } from 'react'
+import { codeRed } from '../../components/Highlight'
+import { useThemeType } from '../../components/useThemeType'
+
+import { SearchFileType, ReplaceMode } from '../../../types'
+import { Hint, QueryParseError, useParseQueryError } from './useParseQuery'
+
+type Props = {
+ replacement: string
+ setReplacement: (replacement: string) => void
+ searchMode: Mode
+ replaceMode: ReplaceMode
+ setHasQueryError: (value: boolean) => void
+ fileType: SearchFileType
+}
+
+const renderHint = (hint: Hint) => {
+ return (
+
+ {hint.tokens.map(({ content, type }) =>
+ type === 'code' ? (
+
+ {content}
+
+ ) : (
+ {content}
+ ),
+ )}
+
+ )
+}
+
+const getParseErrorHighlight = (errorLocation: {
+ line: number
+ column: number
+}) => {
+ return {
+ start: errorLocation,
+ end: {
+ line: errorLocation.line,
+ column: errorLocation.column + 1,
+ },
+ style: {
+ borderBottom: `3px solid ${codeRed}`,
+ },
+ }
+}
+
+const getHighlightFileExtension = (fileType: SearchFileType) => {
+ const map: Record = {
+ all: 'tsx',
+ html: 'html',
+ 'js-ts-json': 'tsx',
+ css: 'css',
+ python: 'py',
+ lua: 'lua',
+ csharp: 'csharp',
+ }
+
+ return map[fileType]
+}
+
+export function ReplacementEditor({
+ replacement,
+ setReplacement,
+ setHasQueryError,
+ searchMode,
+ replaceMode,
+ fileType,
+}: Props) {
+ const [replacementHint, setReplacementHint] = useState(null)
+ const [replacementError, setReplacementError] =
+ useState(null)
+
+ const isEditorFocusedDebounced = true
+
+ useEffect(() => {
+ setHasQueryError(Boolean(replacementError))
+ }, [replacementError])
+
+ const parseQuery = useParseQueryError()
+
+ useEffect(() => {
+ setReplacementError(null)
+ setReplacementHint(null)
+
+ if (replaceMode === 'merge-code') {
+ parseQuery({
+ mode: searchMode,
+ query: replacement,
+ fileType,
+ }).then(({ error, hint }) => {
+ if (error) {
+ setReplacementError(error)
+ }
+
+ if (hint) {
+ setReplacementHint(hint)
+ }
+ })
+ }
+ }, [searchMode, replacement, fileType, replaceMode])
+
+ const replacementCustomHighlight = replacementError?.location
+ ? [getParseErrorHighlight(replacementError.location)]
+ : []
+
+ const themeType = useThemeType()
+
+ const isDarkTheme = themeType === 'dark'
+
+ return (
+
+
+
+ {!isEditorFocusedDebounced && (
+
+ )}
+
+
+
+ {replacementHint && (
+
+
+ Hint:
+ {' '}
+ {renderHint(replacementHint)}
+
+ )}
+ {!replacementHint && replacementError && (
+
+
+ Parse error:
+
+
+ {replacementError?.text}
+
+
+ )}
+
+
+ )
+}
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/components/ResultsMeta.tsx b/packages/vscode/src/webviews/SearchResultsPanel/components/ResultsMeta.tsx
index 93d0109..379f699 100644
--- a/packages/vscode/src/webviews/SearchResultsPanel/components/ResultsMeta.tsx
+++ b/packages/vscode/src/webviews/SearchResultsPanel/components/ResultsMeta.tsx
@@ -15,6 +15,12 @@ import { IoMdInformationCircleOutline } from 'react-icons/io'
import { useThemeType } from '../../components/useThemeType'
import { darkTheme, lightTheme } from '../../components/codeHighlightThemes'
import { openFile } from '../utils'
+//@ts-ignore
+import { Mode } from '@codeque/core/web'
+import { ReplaceType, SearchFileType } from '../../../types'
+import { ButtonWithOptionSelect } from '../../components/ButtonWithOptionSelect'
+import { useState } from 'react'
+import { zIndices } from '../../components/zIndices'
type ResultsMetaProps = {
time: number | string | undefined
@@ -23,9 +29,15 @@ type ResultsMetaProps = {
matchedFilesCount: number | string | undefined
errors: SearchResults['errors'] | undefined
startSearch: (useSelectionIfAvailable: boolean) => void
+ startReplace: () => void
+ setReplaceType: (replaceType: ReplaceType) => void
searchInProgress: boolean
- stopSearch: () => void
+ replaceInProgress: boolean
+ stopSearchOrReplace: () => void
getRelativePath: (filePath: string) => string | undefined
+ mode: Mode
+ fileType: SearchFileType
+ replaceType: ReplaceType
}
const noValue = 'n/a'
@@ -61,8 +73,12 @@ export function ResultsMeta({
errors,
startSearch,
searchInProgress,
- stopSearch,
+ stopSearchOrReplace,
getRelativePath,
+ startReplace,
+ replaceInProgress,
+ replaceType,
+ setReplaceType,
}: ResultsMetaProps) {
const errorsToDisplay: Array =
(errors?.filter(
@@ -109,7 +125,8 @@ export function ResultsMeta({
- Search failed for {errorsToDisplay.length} file(s)
+ Search or Replace failed for {errorsToDisplay.length} {' '}
+ file(s)
@@ -158,9 +175,13 @@ export function ResultsMeta({
openFile({
filePath: error.filePath,
- location: location,
+ locationsToSelect: [location],
})
}}
+ cursor="pointer"
+ _hover={{
+ textDecor: 'underline',
+ }}
>
{relativePath}
@@ -181,7 +202,7 @@ export function ResultsMeta({
{
if (searchInProgress) {
- stopSearch()
+ stopSearchOrReplace()
} else {
startSearch(true)
}
@@ -193,10 +214,43 @@ export function ResultsMeta({
isLoading={searchInProgress}
loadingText="Stop"
// isLoading disables button by default
- disabled={false}
+ disabled={replaceInProgress}
>
Search!
+
+ {
+ if (replaceInProgress) {
+ stopSearchOrReplace()
+ } else {
+ startReplace()
+ }
+ }}
+ onOptionSelect={setReplaceType}
+ options={[
+ {
+ label: 'Replace',
+ value: 'replace',
+ },
+ {
+ label: 'Quick Replace âš¡',
+ value: 'quick-replace',
+ },
+ ]}
+ />
+
)
}
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/components/SearchResult.tsx b/packages/vscode/src/webviews/SearchResultsPanel/components/SearchResult.tsx
index 987fa90..1fb2c87 100644
--- a/packages/vscode/src/webviews/SearchResultsPanel/components/SearchResult.tsx
+++ b/packages/vscode/src/webviews/SearchResultsPanel/components/SearchResult.tsx
@@ -1,5 +1,6 @@
-import { Checkbox, Flex, IconButton } from '@chakra-ui/react'
+import { Box, Checkbox, Flex, IconButton } from '@chakra-ui/react'
import { MatchWithFileInfo } from '@codeque/core'
+import { getMatchHighlightStyle } from '../../../codeHighlightSettings'
import { memo, useEffect, useRef, useState } from 'react'
import { HiOutlineChevronDown, HiOutlineChevronRight } from 'react-icons/hi'
import { IoMdClose } from 'react-icons/io'
@@ -7,10 +8,11 @@ import { CodeBlock } from '../../components/CodeBlock'
import { darkTheme, lightTheme } from '../../components/codeHighlightThemes'
import { DoubleClickButton } from '../../components/DoubleClickButton'
import { useThemeType } from '../../components/useThemeType'
-import { CopyPath } from './CopyPath'
+import { CopyButton } from '../../components/CopyButton'
import { FileLink } from './FileLink'
import { usePreventScrollJump } from './usePreventScrollJump'
import { getBorderColor, getIconButtonProps, groupHeaderHeight } from './utils'
+import { zIndices } from '../../components/zIndices'
type SearchResultProps = {
match: MatchWithFileInfo
@@ -19,19 +21,7 @@ type SearchResultProps = {
hasGroup: boolean
hasWorkspace: boolean
scrollElRef: React.MutableRefObject
-}
-
-const highlightColorOnLight = '#ddebf2'
-
-const highlightColorOnDark = '#35485b'
-
-const getMatchHighlightStyle = (isDark: boolean) => {
- const highlightColor = isDark ? highlightColorOnDark : highlightColorOnLight
-
- return {
- backgroundColor: highlightColor,
- boxShadow: `0px 5px 0px ${highlightColor}, 0px -5px 0px ${highlightColor}`,
- }
+ allMatchesLocations: Array
}
const removeWhiteSpaces = (str: string) => str.replace(/\s+/g, '')
@@ -46,6 +36,7 @@ export const SearchResult = memo(function SearchResult({
hasGroup,
hasWorkspace,
scrollElRef,
+ allMatchesLocations,
}: SearchResultProps) {
const wrapperRef = useRef(null)
const headingRef = useRef(null)
@@ -127,6 +118,13 @@ export const SearchResult = memo(function SearchResult({
const fileExtension = getFileExtension(match.filePath)
+ /**
+ * replacing tabs with spaces fixes match highligh and improves code formatting
+ */
+ const codeToRender = shouldDedentResult
+ ? extendedCodeFrameCode.replace(/\t/g, ' '.repeat(4))
+ : extendedCodeFrameCode
+
return (
{
@@ -160,7 +159,9 @@ export const SearchResult = memo(function SearchResult({
mr="2"
/>
{
setIsResultFocused(true)
@@ -170,7 +171,11 @@ export const SearchResult = memo(function SearchResult({
maxWidth="calc(100% - 150px)"
/>
-
+
+
+
+
- {extendedCodeFrameCode}
+ {codeToRender}
) : null}
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/components/WorkspaceGroup.tsx b/packages/vscode/src/webviews/SearchResultsPanel/components/WorkspaceGroup.tsx
index 1709413..efb95b6 100644
--- a/packages/vscode/src/webviews/SearchResultsPanel/components/WorkspaceGroup.tsx
+++ b/packages/vscode/src/webviews/SearchResultsPanel/components/WorkspaceGroup.tsx
@@ -2,6 +2,7 @@ import { Flex, IconButton } from '@chakra-ui/react'
import { useRef, useState } from 'react'
import { HiOutlineChevronDown, HiOutlineChevronRight } from 'react-icons/hi'
import { IoMdClose } from 'react-icons/io'
+import { zIndices } from '../../components/zIndices'
import { darkTheme, lightTheme } from '../../components/codeHighlightThemes'
import { DoubleClickButton } from '../../components/DoubleClickButton'
import { useThemeType } from '../../components/useThemeType'
@@ -48,7 +49,7 @@ export function WorkspaceGroup({
position="sticky"
top="0px"
backgroundColor="var(--vscode-editor-background)"
- zIndex="2"
+ zIndex={zIndices.workspaceGroup}
px="1"
border="1px solid"
borderColor={borderColor}
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/components/useParseQuery.ts b/packages/vscode/src/webviews/SearchResultsPanel/components/useParseQuery.ts
new file mode 100644
index 0000000..20143e7
--- /dev/null
+++ b/packages/vscode/src/webviews/SearchResultsPanel/components/useParseQuery.ts
@@ -0,0 +1,138 @@
+//@ts-ignore
+import { Mode, searchInStrings, __internal } from '@codeque/core/web'
+
+import { useCallback, useEffect, useState } from 'react'
+import { SearchFileType } from '../../../types'
+import { isQueryRestricted } from '../../../restrictedQueries'
+import { fileTypeToParserMap } from '../../../utils'
+
+const getHostSystemFilesFetchBaseUrl = () => {
+ const mainScriptSrc = document
+ .getElementById('main-script')
+ ?.getAttribute('src')
+
+ if (mainScriptSrc) {
+ return mainScriptSrc.split('/dist-webviews')[0]
+ }
+}
+
+export type QueryParseError = {
+ text: string
+ location: {
+ line: number
+ column: number
+ }
+}
+
+export type Hint = {
+ text: string
+ tokens: Array<{ content: string; type: string }>
+}
+
+export function useParseQueryError() {
+ const [hostSystemFilesFetchBaseUrl, setHostSystemFilesFetchBaseUrl] =
+ useState('')
+
+ useEffect(() => {
+ setHostSystemFilesFetchBaseUrl(getHostSystemFilesFetchBaseUrl() ?? '')
+ }, [])
+
+ const parseQuery = useCallback(
+ async ({
+ query,
+ mode,
+ fileType,
+ }: {
+ query: string
+ mode: Mode
+ fileType: SearchFileType
+ }): Promise<{
+ error: QueryParseError | null
+ hint: Hint | null
+ }> => {
+ if (isQueryRestricted(query, fileType, mode)) {
+ return {
+ error: {
+ text: 'Query restricted for performance reasons',
+ location: { line: 0, column: 0 },
+ },
+ hint: null,
+ }
+ // Do not init parser until hostSystemFilesFetchBaseUrl is determined
+ } else if (hostSystemFilesFetchBaseUrl) {
+ const handleParse = async () => {
+ try {
+ const parser = fileTypeToParserMap[fileType]
+
+ await __internal.parserSettingsMap[parser]().init?.(
+ hostSystemFilesFetchBaseUrl,
+ )
+
+ const matches = searchInStrings({
+ queryCodes: [query],
+ files: [
+ {
+ content: '',
+ path: 'file.ts',
+ },
+ ],
+ mode,
+ parser,
+ })
+
+ const hint = matches.hints?.[0]?.[0] ?? null
+
+ if (matches.errors.length > 0) {
+ console.error(matches.errors)
+ const error = matches.errors[0]
+
+ // indicates query parse error
+ if (typeof error === 'object' && 'queryNode' in error) {
+ if (mode !== 'text' && hint) {
+ // Don't display error when there are hints available
+
+ return { error: null, hint }
+ } else if (!error.error.text.includes('Empty query')) {
+ return {
+ error: {
+ text: error.error.text,
+ location: error.error.location,
+ },
+ hint,
+ }
+ }
+ } else {
+ return {
+ error: {
+ text: error,
+ location: { line: 0, column: 0 },
+ },
+ hint,
+ }
+ }
+ }
+
+ return { error: null, hint }
+ } catch (e) {
+ console.error('Query parse error', e)
+
+ return {
+ error: {
+ text: 'Unknown parse error',
+ location: { line: 0, column: 0 },
+ },
+ hint: null,
+ }
+ }
+ }
+
+ return handleParse()
+ }
+
+ return { error: null, hint: null }
+ },
+ [hostSystemFilesFetchBaseUrl],
+ )
+
+ return parseQuery
+}
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/index.tsx b/packages/vscode/src/webviews/SearchResultsPanel/index.tsx
index df9f21b..9eb1b64 100644
--- a/packages/vscode/src/webviews/SearchResultsPanel/index.tsx
+++ b/packages/vscode/src/webviews/SearchResultsPanel/index.tsx
@@ -7,14 +7,34 @@ import { useEffect, useState, useCallback, useMemo, useRef } from 'react'
import ReactDOM from 'react-dom/client'
import { Providers } from '../components/Providers'
import { QueryEditor } from './components/QueryEditor'
-import { StateShape, SearchFileType } from '../../StateManager'
+import { SearchStateShape } from '../../SearchStateManager'
+import { ReplaceMode, ReplaceType, SearchFileType } from '../../types'
+
import { SearchResultsList } from './components/SearchResults'
-import { Flex, Spinner } from '@chakra-ui/react'
+import {
+ Button,
+ Flex,
+ Modal,
+ ModalBody,
+ ModalCloseButton,
+ ModalContent,
+ ModalFooter,
+ ModalHeader,
+ ModalOverlay,
+ Text,
+ List,
+ ListItem,
+ Link,
+ UnorderedList,
+} from '@chakra-ui/react'
import { ResultsMeta } from './components/ResultsMeta'
import { ExtendedSearchResults } from 'types'
import { eventBusInstance } from '../../EventBus'
import { simpleDebounce } from '../../utils'
import { Matches, Mode } from '@codeque/core'
+import { ReplacementEditor } from './components/ReplacementEditor'
+import { Banners } from './components/Banners'
+import { SearchInFileError } from '../../../../core/src/types'
//@ts-ignore - Add typings
const vscode = acquireVsCodeApi()
@@ -34,37 +54,60 @@ const Panel = () => {
null,
)
const [query, setQuery] = useState(null)
+ const [replacement, setReplacement] = useState(null)
+
const [fileType, setFileType] = useState(null)
+ const [replaceMode, setReplaceMode] = useState(null)
+ const [replaceType, setReplaceTypeLocal] = useState(null)
const [nextSearchIsFromSelection, setNextSearchIsFromSelection] =
useState(false)
const [mode, setMode] = useState(null)
const [hasQueryError, setHasQueryError] = useState(false)
+
const [initialSettingsReceived, setInitialSettingsReceived] =
useState(false)
const [results, setResults] = useState(
undefined,
)
+ const [replacementErrors, setReplacementErrors] = useState<
+ SearchInFileError[]
+ >([])
+
const [time, setTime] = useState(undefined)
const [filesList, setFilesList] = useState(undefined)
- const [isLoading, setIsLoading] = useState(false)
+ const [isSearching, setIsSearching] = useState(false)
+ const [isReplacing, setIsReplacing] = useState(false)
+
const [displayLimit, setDisplayLimit] = useState(50)
const [isWorkspace, setIsWorkspace] = useState(false)
+ const [proModalVisible, setProModalVisible] = useState(false)
const selectedText = useRef(null)
- const handleSettingsChanged = useCallback((data: Partial) => {
- if (data.mode !== undefined) {
- setMode(data.mode)
- }
+ const handleSettingsChanged = useCallback(
+ (data: Partial) => {
+ if (data.mode !== undefined) {
+ setMode(data.mode)
+ }
- if (data.fileType !== undefined) {
- setFileType(data.fileType)
- }
- }, [])
+ if (data.fileType !== undefined) {
+ setFileType(data.fileType)
+ }
- const handleInitialSettings = useCallback((data: StateShape) => {
+ if (data.replaceMode !== undefined) {
+ setReplaceMode(data.replaceMode)
+ }
+
+ if (data.replaceType !== undefined) {
+ setReplaceTypeLocal(data.replaceType)
+ }
+ },
+ [],
+ )
+
+ const handleInitialSettings = useCallback((data: SearchStateShape) => {
setInitialSettingsReceived(true)
if (data.query !== undefined) {
@@ -72,6 +115,10 @@ const Panel = () => {
setQuery(data.query)
}
+ if (data.replacement !== undefined) {
+ setReplacement(data.replacement)
+ }
+
handleSettingsChanged(data)
}, [])
@@ -79,7 +126,7 @@ const Panel = () => {
setResults(data.results)
setTime(data.time)
setFilesList(data.files)
- setIsLoading(false)
+ setIsSearching(false)
setDisplayLimit(defaultDisplayLimit)
setNextSearchIsFromSelection(false)
setIsWorkspace(data.isWorkspace)
@@ -113,16 +160,33 @@ const Panel = () => {
}, [])
const handleSearchStart = useCallback((query: string) => {
- setIsLoading(true)
+ setIsSearching(true)
setResults(undefined)
setFilesList([])
setLastSearchedQuery(query)
+ setReplacementErrors([])
}, [])
+ const handleReplaceStart = useCallback(() => {
+ setIsReplacing(true)
+ setReplacementErrors([])
+ }, [])
+
+ const handleReplaceFinished = useCallback(({ time }: { time: number }) => {
+ setIsReplacing(false)
+ }, [])
+
+ const handleReplaceErrors = useCallback(
+ ({ errors }: { errors: SearchInFileError[] }) => {
+ setReplacementErrors(errors)
+ },
+ [],
+ )
+
const startSearch = useCallback(
(useSelectionIfAvailable = false) => {
if (selectedText.current && useSelectionIfAvailable) {
- eventBusInstance.dispatch('set-settings', {
+ eventBusInstance.dispatch('set-search-settings', {
query: selectedText.current,
})
@@ -135,6 +199,37 @@ const Panel = () => {
[selectedText],
)
+ const showProModal = () => {
+ setProModalVisible(true)
+ }
+
+ const closeProModal = () => {
+ setProModalVisible(false)
+ eventBusInstance.dispatch('pro-modal:closed')
+ }
+
+ const ctaClickProModal = () => {
+ setProModalVisible(false)
+ eventBusInstance.dispatch('pro-modal:subscribe_clicked')
+ }
+
+ const nameClickProModal = () => {
+ eventBusInstance.dispatch('pro-modal:twitter_handler_clicked')
+ }
+
+ const startReplace = useCallback(() => {
+ eventBusInstance.dispatch('start-replace')
+ showProModal()
+ }, [selectedText])
+
+ const setReplaceType = useCallback((replaceType: ReplaceType) => {
+ setReplaceTypeLocal(replaceType)
+
+ eventBusInstance.dispatch('set-search-settings', {
+ replaceType,
+ })
+ }, [])
+
const handleQueryChangeDebounced = useMemo(
() =>
simpleDebounce((query: string, hasQueryError: boolean) => {
@@ -147,6 +242,14 @@ const Panel = () => {
[startSearch],
)
+ const handleReplacementChangeDebounced = useMemo(
+ () =>
+ simpleDebounce((replacement: string) => {
+ eventBusInstance.dispatch('set-replacement-in-settings', replacement)
+ }, 400),
+ [],
+ )
+
useEffect(() => {
eventBusInstance.env = 'search-results'
window.addEventListener('message', eventBusInstance.pipeFromWindowMessage)
@@ -166,12 +269,26 @@ const Panel = () => {
}, [])
useEffect(() => {
- eventBusInstance.addListener('settings-changed', handleSettingsChanged)
- eventBusInstance.addListener('initial-settings', handleInitialSettings)
+ eventBusInstance.addListener(
+ 'search-settings-changed',
+ handleSettingsChanged,
+ )
+
+ eventBusInstance.addListener(
+ 'initial-search-settings',
+ handleInitialSettings,
+ )
return () => {
- eventBusInstance.removeListener('settings-changed', handleSettingsChanged)
- eventBusInstance.removeListener('initial-settings', handleInitialSettings)
+ eventBusInstance.removeListener(
+ 'search-settings-changed',
+ handleSettingsChanged,
+ )
+
+ eventBusInstance.removeListener(
+ 'initial-search-settings',
+ handleInitialSettings,
+ )
}
}, [handleSettingsChanged])
@@ -220,6 +337,30 @@ const Panel = () => {
}
}, [handleSearchStart])
+ useEffect(() => {
+ eventBusInstance.addListener('replace-started', handleReplaceStart)
+
+ return () => {
+ eventBusInstance.removeListener('replace-started', handleReplaceStart)
+ }
+ }, [handleSearchStart])
+
+ useEffect(() => {
+ eventBusInstance.addListener('replace-finished', handleReplaceFinished)
+
+ return () => {
+ eventBusInstance.removeListener('replace-finished', handleReplaceFinished)
+ }
+ }, [handleSearchStart])
+
+ useEffect(() => {
+ eventBusInstance.addListener('replace-errors', handleReplaceErrors)
+
+ return () => {
+ eventBusInstance.removeListener('replace-errors', handleReplaceErrors)
+ }
+ }, [handleSearchStart])
+
useEffect(() => {
eventBusInstance.addListener('set-query-on-ui', setQuery)
@@ -261,6 +402,12 @@ const Panel = () => {
}
}, [lastSearchedQuery, query, hasQueryError, nextSearchIsFromSelection])
+ useEffect(() => {
+ if (initialSettingsReceived && replacement !== null) {
+ handleReplacementChangeDebounced(replacement)
+ }
+ }, [initialSettingsReceived, replacement])
+
useEffect(() => {
const handleSelectionChangeDebounced = simpleDebounce(() => {
let text = window?.getSelection()?.toString() ?? null
@@ -274,7 +421,7 @@ const Panel = () => {
if (text !== selectedText.current) {
selectedText.current = text
- eventBusInstance.dispatch('set-settings', {
+ eventBusInstance.dispatch('set-search-settings', {
webviewTextSelection: text,
})
}
@@ -345,36 +492,80 @@ const Panel = () => {
[results, getWorkspace],
)
- const stopSearch = useCallback(() => {
+ const stopSearchOrReplace = useCallback(() => {
eventBusInstance.dispatch('stop-search')
}, [])
+ const allErrors = useMemo(() => {
+ return [...(results?.errors ?? []), ...replacementErrors]
+ }, [replacementErrors, results?.errors])
+
+ const subscribeLinkRef = useRef()
+ const nameLinkRef = useRef()
+
return (
-
- {query !== null && fileType !== null ? (
-
+
+ {query !== null && fileType !== null ? (
+
+ ) : null}
+ {replacement !== null && fileType !== null && replaceMode !== null ? (
+
+ ) : null}
+
+ {fileType !== null && mode !== null && replaceType !== null && (
+
- ) : null}
-
-
+ )}
+
+ {/* This link is hidden and we click it imperatively. For some reason clicking link inside modal does not work */}
+
+ Subscribe to book 17€* early bird price 💸
+
+
+ Jakub Twitter account
+
{
isWorkspace={isWorkspace}
/>
+
+
+
+
+
+ ✨ CodeQue Pro is coming ✨
+
+
+
+ Hey 👋{' '}
+ {
+ nameClickProModal()
+ nameLinkRef.current?.click()
+ }}
+ textDecoration="underline"
+ >
+ Jakub
+ {' '}
+ here.
+
+
+ I'm finalizing work on first release of CodeQue Pro!
+
+
+ Pro version will be packed with handful of useful features:
+
+
+
+ Code replace with meta variables
+
+ Search history
+ Multiple searches grouped in tabs
+ Boolean conditions and nested searches
+ Bookmarking Search results
+ Editing code directly in results
+ Additional search results list in sidebar
+ Other UX improvements
+
+
+ Features will be released one by one to assure quality.
+
+
+ Regular price of the extension{' '}
+ will be 37€ for perpetual license with 1 year
+ of updates.
+
+
+ By subscribing to CodeQue newsletter you will get{' '}
+ -63% discount price of 17€*!
+
+
+ Discount code will be send to all subscribers at the release
+ day.
+
+ * Local tax applicable
+
+
+
+ {
+ ctaClickProModal()
+ subscribeLinkRef.current?.click()
+ }}
+ >
+ Subscribe to book 17€* early bird price 💸
+
+
+
+
+
)
}
diff --git a/packages/vscode/src/webviews/SearchResultsPanel/utils.ts b/packages/vscode/src/webviews/SearchResultsPanel/utils.ts
index 62310db..d368f0f 100644
--- a/packages/vscode/src/webviews/SearchResultsPanel/utils.ts
+++ b/packages/vscode/src/webviews/SearchResultsPanel/utils.ts
@@ -3,7 +3,8 @@ import { eventBusInstance } from '../../EventBus'
export const openFile = (data: {
filePath: string
- location?: Match['loc']
+ locationsToSelect?: Array
+ locationsToDecorate?: Array
}) => {
eventBusInstance.dispatch('open-file', data)
}
diff --git a/packages/vscode/src/webviews/Sidebar/components/SearchSettings.tsx b/packages/vscode/src/webviews/Sidebar/components/SearchSettings.tsx
index 796e32b..82858ac 100644
--- a/packages/vscode/src/webviews/Sidebar/components/SearchSettings.tsx
+++ b/packages/vscode/src/webviews/Sidebar/components/SearchSettings.tsx
@@ -8,20 +8,23 @@ import {
Stack,
Text,
Link,
+ Badge,
+ Tooltip,
} from '@chakra-ui/react'
import Creatable from 'react-select/creatable'
import { Mode } from '@codeque/core'
import { ChangeEvent, useCallback, useEffect, useMemo, useState } from 'react'
import { eventBusInstance } from '../../../EventBus'
-import { StateShape } from '../../../StateManager'
-import { CaseType } from '../../../types'
+import { SearchStateShape } from '../../../SearchStateManager'
+import { CaseType, ReplaceMode } from '../../../types'
import { reactSelectStyles } from '../../components/reactSelectStyles'
import { simpleDebounce } from '../../../utils'
type SearchSettingsProps = {
- initialSettings: StateShape
- setSettings: (settings: Partial) => void
+ initialSettings: SearchStateShape
+ setSearchSettings: (settings: Partial) => void
+ setReplaceSettings: (settings: Pick) => void
resultsPanelVisible: boolean
}
type Options = { value: string; label: string }[]
@@ -37,10 +40,13 @@ const getValuesFromOptions = (options: Options) =>
export function SearchSettings({
initialSettings,
- setSettings,
+ setSearchSettings,
+ setReplaceSettings,
resultsPanelVisible,
}: SearchSettingsProps) {
const [mode, setMode] = useState(initialSettings?.mode)
+ const [replaceMode, setReplaceMode] = useState(initialSettings?.replaceMode)
+
const [fileType, setFileType] = useState(initialSettings?.fileType)
const [caseType, setCase] = useState(initialSettings?.caseType)
@@ -69,6 +75,10 @@ export function SearchSettings({
setMode(initialSettings.mode)
}
+ if (initialSettings.replaceMode !== undefined) {
+ setReplaceMode(initialSettings.replaceMode)
+ }
+
if (initialSettings.fileType !== undefined) {
setFileType(initialSettings.fileType)
}
@@ -102,45 +112,72 @@ export function SearchSettings({
}
}, [initialSettings])
- const handleModeChange = useCallback(
+ const handleSearchModeChange = useCallback(
(mode: Mode) => {
+ let newReplaceMode = replaceMode
+
+ if (newReplaceMode === 'merge-code' && mode !== 'include-with-order') {
+ newReplaceMode = 'text'
+ }
+
setMode(mode)
+ setReplaceMode(newReplaceMode)
- setSettings({
+ setSearchSettings({
mode,
+ replaceMode: newReplaceMode,
+ })
+ },
+ [setSearchSettings, replaceMode, fileType],
+ )
+
+ const handleReplaceModeChange = useCallback(
+ (replaceMode: ReplaceMode) => {
+ setReplaceMode(replaceMode)
+
+ setReplaceSettings({
+ replaceMode,
})
},
- [setSettings],
+ [setSearchSettings],
)
const handleFileTypeChange = useCallback(
- (fileType: StateShape['fileType']) => {
- let newMode = mode
+ (fileType: SearchStateShape['fileType']) => {
+ let newSearchMode = mode
+ let newReplaceMode = replaceMode
if (fileType === 'all') {
- newMode = 'text'
+ newSearchMode = 'text'
+ newReplaceMode = 'text'
+ }
+
+ if (newReplaceMode === 'merge-code' && fileType !== 'js-ts-json') {
+ newReplaceMode = 'text'
}
setFileType(fileType)
- setMode(newMode)
+ setMode(newSearchMode)
+ setReplaceMode(newReplaceMode)
- setSettings({
+ setSearchSettings({
fileType,
- mode: newMode,
+ mode: newSearchMode,
+ replaceMode: newReplaceMode,
})
},
- [setSettings, mode],
+ [setSearchSettings, mode, replaceMode],
)
const handleCaseChange = useCallback(
(caseType: CaseType) => {
setCase(caseType)
- setSettings({
+ setSearchSettings({
caseType,
})
},
- [setSettings],
+ [setSearchSettings],
)
const handleSearchNodeModulesChange = useCallback(
@@ -148,11 +185,11 @@ export function SearchSettings({
const checked = ev.target.checked
setSearchNodeModules(checked)
- setSettings({
+ setSearchSettings({
searchNodeModules: checked,
})
},
- [setSettings],
+ [setSearchSettings],
)
const handleSearchIgnoredFilesChange = useCallback(
@@ -160,11 +197,11 @@ export function SearchSettings({
const checked = ev.target.checked
setSearchIgnoredFiles(checked)
- setSettings({
+ setSearchSettings({
searchIgnoredFiles: checked,
})
},
- [setSettings],
+ [setSearchSettings],
)
const handleSearchBigFiles = useCallback(
@@ -172,11 +209,11 @@ export function SearchSettings({
const checked = ev.target.checked
setSearchBigFiles(checked)
- setSettings({
+ setSearchSettings({
searchBigFiles: checked,
})
},
- [setSettings],
+ [setSearchSettings],
)
const handleIncludeChange = useCallback(
@@ -184,11 +221,11 @@ export function SearchSettings({
setInclude(options)
const include = getValuesFromOptions(options)
- setSettings({
+ setSearchSettings({
include,
})
},
- [setSettings],
+ [setSearchSettings],
)
const handleExcludeChange = useCallback(
@@ -196,21 +233,21 @@ export function SearchSettings({
setExclude(options)
const exclude = getValuesFromOptions(options)
- setSettings({
+ setSearchSettings({
exclude,
})
},
- [setSettings],
+ [setSearchSettings],
)
const setSettingsEntryPointDebounced = useMemo(
() =>
simpleDebounce((entryPoint: string) => {
- setSettings({
+ setSearchSettings({
entryPoint: entryPoint.length > 0 ? entryPoint : null,
})
}, 800),
- [setSettings],
+ [setSearchSettings],
)
const handleEntryPointChange = useCallback(
@@ -220,7 +257,7 @@ export function SearchSettings({
setEntryPoint(entryPoint)
setSettingsEntryPointDebounced(entryPoint)
},
- [setSettings, setSettingsEntryPointDebounced],
+ [setSearchSettings, setSettingsEntryPointDebounced],
)
const showResultsPanel = () => {
@@ -241,7 +278,23 @@ export function SearchSettings({
} as const)
: {}
+ const mergeCodeReplacementEnabled =
+ fileType === 'js-ts-json' && mode === 'include-with-order'
+
+ const mergeCodeReplacementCursorProps = !mergeCodeReplacementEnabled
+ ? ({
+ cursor: 'not-allowed',
+ } as const)
+ : {}
+ const mergeCodeReplacementProps = !mergeCodeReplacementEnabled
+ ? ({
+ pointerEvents: 'none',
+ opacity: '0.6',
+ } as const)
+ : {}
+
return (
+ //@ts-ignore
{!resultsPanelVisible && (
Python
+
+ Lua
+
+
+ C#
+
- Mode:
+ Search Mode:
-
+
+
+ Replace Mode:
+
+
+
+
+
+ text
+
+
+
+
+
+
+ merge code{' '}
+
+ Alpha
+
+
+
+
+
+
+
+
+
Case:
diff --git a/packages/vscode/src/webviews/Sidebar/index.tsx b/packages/vscode/src/webviews/Sidebar/index.tsx
index 4cdcd99..ad024f9 100644
--- a/packages/vscode/src/webviews/Sidebar/index.tsx
+++ b/packages/vscode/src/webviews/Sidebar/index.tsx
@@ -3,26 +3,38 @@ import { useEffect, useCallback, useState } from 'react'
import { Providers } from '../components/Providers'
import { SearchSettings } from './components/SearchSettings'
import { eventBusInstance } from '../../EventBus'
-import { StateShape } from '../../StateManager'
+import { SearchStateShape } from '../../SearchStateManager'
//@ts-ignore - Add typings
const vscode = acquireVsCodeApi()
const Sidebar = () => {
const [resultsPanelVisible, setResultsPanelVisible] = useState(true)
- const [initialSettings, setInitialSettings] = useState(
- null,
+ const [initialSettings, setInitialSettings] =
+ useState(null)
+
+ const setSearchSettings = useCallback(
+ (settings: Partial) => {
+ eventBusInstance.dispatch('set-search-settings', settings)
+ eventBusInstance.dispatch('start-search')
+ },
+ [],
)
- const setSettings = useCallback((settings: Partial) => {
- eventBusInstance.dispatch('set-settings', settings)
- eventBusInstance.dispatch('start-search')
- }, [])
+ const setReplaceSettings = useCallback(
+ (settings: Partial) => {
+ eventBusInstance.dispatch('set-search-settings', settings)
+ },
+ [],
+ )
- const handleInitialSettings = useCallback((data: Partial) => {
- setInitialSettings(
- (prevSettings) => ({ ...prevSettings, ...data } as StateShape),
- )
- }, [])
+ const handleInitialSettings = useCallback(
+ (data: Partial) => {
+ setInitialSettings(
+ (prevSettings) => ({ ...prevSettings, ...data } as SearchStateShape),
+ )
+ },
+ [],
+ )
const handleResultsPanelVisibilityChange = useCallback((data: boolean) => {
setResultsPanelVisible(data)
@@ -49,12 +61,26 @@ const Sidebar = () => {
}, [])
useEffect(() => {
- eventBusInstance.addListener('initial-settings', handleInitialSettings)
- eventBusInstance.addListener('settings-changed', handleInitialSettings)
+ eventBusInstance.addListener(
+ 'initial-search-settings',
+ handleInitialSettings,
+ )
+
+ eventBusInstance.addListener(
+ 'search-settings-changed',
+ handleInitialSettings,
+ )
return () => {
- eventBusInstance.removeListener('initial-settings', handleInitialSettings)
- eventBusInstance.removeListener('settings-changed', handleInitialSettings)
+ eventBusInstance.removeListener(
+ 'initial-search-settings',
+ handleInitialSettings,
+ )
+
+ eventBusInstance.removeListener(
+ 'search-settings-changed',
+ handleInitialSettings,
+ )
}
}, [handleInitialSettings])
@@ -77,7 +103,8 @@ const Sidebar = () => {
{initialSettings && (
)}
diff --git a/packages/vscode/src/webviews/components/ButtonWithOptionSelect.tsx b/packages/vscode/src/webviews/components/ButtonWithOptionSelect.tsx
new file mode 100644
index 0000000..126ce97
--- /dev/null
+++ b/packages/vscode/src/webviews/components/ButtonWithOptionSelect.tsx
@@ -0,0 +1,99 @@
+import {
+ Flex,
+ Button,
+ ButtonProps,
+ Menu,
+ MenuButton,
+ MenuList,
+ MenuItem,
+} from '@chakra-ui/react'
+import { HiOutlineChevronDown } from 'react-icons/hi'
+
+export type ButtonWithOptionSelectProps = Pick<
+ ButtonProps,
+ 'colorScheme' | 'size' | 'loadingText' | 'isLoading' | 'disabled'
+> & {
+ selectedOptionValue: string
+ options: Array<{ label: string; value: T }>
+ onClick: () => void
+ onOptionSelect: (value: T) => void
+}
+
+export function ButtonWithOptionSelect({
+ onClick,
+ onOptionSelect,
+ selectedOptionValue,
+ colorScheme,
+ size,
+ options,
+ loadingText,
+ disabled,
+ isLoading,
+}: ButtonWithOptionSelectProps) {
+ const colors = {
+ menuItemBgColor: `${colorScheme}.500`,
+ menuItemBgColorActive: `${colorScheme}.700`,
+ }
+
+ const selectedOptionLabel = options.find(
+ (option) => option.value === selectedOptionValue,
+ )
+
+ return (
+ // @ts-ignore
+
+
+ {selectedOptionLabel?.label ?? selectedOptionValue}
+
+
+ {({ isOpen }) => (
+ <>
+ {/* @ts-ignore */}
+
+
+
+
+ {options.map((option) => (
+ onOptionSelect(option.value)}
+ >
+ {option.label}
+
+ ))}
+
+ >
+ )}
+
+
+ )
+}
diff --git a/packages/vscode/src/webviews/components/CopyButton.tsx b/packages/vscode/src/webviews/components/CopyButton.tsx
new file mode 100644
index 0000000..703b22d
--- /dev/null
+++ b/packages/vscode/src/webviews/components/CopyButton.tsx
@@ -0,0 +1,38 @@
+import { IconButton, Tooltip } from '@chakra-ui/react'
+import { MdContentCopy } from 'react-icons/md'
+import { darkTheme, lightTheme } from './codeHighlightThemes'
+import { useThemeType } from './useThemeType'
+import { getIconButtonProps } from '../SearchResultsPanel/components/utils'
+import { useCopyToClipboard } from './useCopyToClipboard'
+
+type CopyButtonProps = {
+ value: string
+ ariaLabel: string
+ onCopyText?: string
+}
+
+export function CopyButton({
+ value,
+ ariaLabel,
+ onCopyText = 'Copied to clipboard!',
+}: CopyButtonProps) {
+ const themeType = useThemeType()
+ const isDarkTheme = themeType === 'dark'
+ const highlightTheme = isDarkTheme ? darkTheme : lightTheme
+
+ const iconButtonStyleResetProps = getIconButtonProps(
+ highlightTheme.plain.backgroundColor,
+ )
+ const [hasCopiedValue, copyValue] = useCopyToClipboard(value)
+
+ return (
+
+ }
+ {...iconButtonStyleResetProps}
+ onClick={copyValue}
+ />
+
+ )
+}
diff --git a/packages/vscode/src/webviews/components/Highlight.tsx b/packages/vscode/src/webviews/components/Highlight.tsx
index c4f52e9..c26ad01 100644
--- a/packages/vscode/src/webviews/components/Highlight.tsx
+++ b/packages/vscode/src/webviews/components/Highlight.tsx
@@ -1,8 +1,9 @@
import PrismHighlight from 'prism-react-renderer'
import { defaultProps, PrismTheme } from 'prism-react-renderer'
-import React from 'react'
+import React, { useState } from 'react'
import { darkTheme } from './codeHighlightThemes'
import { getLanguageBasedOnFileExtension } from './getLanguageBasedOnFileExtension'
+import { CopyButton } from './CopyButton'
type Token = { types: string[]; content: string }
@@ -50,6 +51,8 @@ export function Highlight({
return {children}
}
+ const [hoveredLine, setHoveredLine] = useState(null)
+
const highlightLanguage = getLanguageBasedOnFileExtension(fileExtension)
return (
@@ -63,7 +66,7 @@ export function Highlight({
{({ className, style, tokens, getLineProps, getTokenProps }) => (
<>
{tokens.map((line, lineIdx) => {
- const showLineNumber =
+ const computedLineNumber =
startLineNumber !== undefined
? lineIdx + startLineNumber
: undefined
@@ -79,6 +82,7 @@ export function Highlight({
lineNumToCompareHighlight === highlight.line
)
})?.style
+ const isLineHovered = computedLineNumber === hoveredLine
return (
setHoveredLine(computedLineNumber ?? null)}
+ onMouseLeave={() => setHoveredLine(null)}
>
- {showLineNumber !== undefined ? (
+ {computedLineNumber !== undefined ? (
- {showLineNumber}
+ {computedLineNumber}
+
+ token.content).join('')}
+ onCopyText="Line copied!"
+ />
+
) : null}
{line.map((token, key) => {
diff --git a/packages/vscode/src/webviews/components/useThemeType.tsx b/packages/vscode/src/webviews/components/useThemeType.tsx
index 5484892..5a7fd2d 100644
--- a/packages/vscode/src/webviews/components/useThemeType.tsx
+++ b/packages/vscode/src/webviews/components/useThemeType.tsx
@@ -30,7 +30,7 @@ export const ThemeTypeProvider = (props: { children: React.ReactNode }) => {
observer.observe(document.body, {
attributes: true,
- attributeFilter: [themeAttr]
+ attributeFilter: [themeAttr],
})
}, [])
diff --git a/packages/vscode/src/webviews/components/zIndices.ts b/packages/vscode/src/webviews/components/zIndices.ts
new file mode 100644
index 0000000..8588848
--- /dev/null
+++ b/packages/vscode/src/webviews/components/zIndices.ts
@@ -0,0 +1,6 @@
+export const zIndices = {
+ searchResult: 1 as const,
+ fileGroup: 2 as const,
+ workspaceGroup: 3 as const,
+ replaceButtonMenu: 4 as const,
+}
diff --git a/packages/vscode/tsconfig.json b/packages/vscode/tsconfig.json
index 0508029..115e97a 100644
--- a/packages/vscode/tsconfig.json
+++ b/packages/vscode/tsconfig.json
@@ -4,7 +4,8 @@
"baseUrl": "./src",
"skipLibCheck": true,
"declaration": false,
- "jsx": "react-jsx"
+ "jsx": "react-jsx",
+ "incremental": true
},
"exclude": ["dist", "dist-webviews", "node_modules", "media", "webpack.*"]
}
diff --git a/packages/vscode/webpack.extension.config.js b/packages/vscode/webpack.extension.config.js
index 393dfca..6047c3f 100644
--- a/packages/vscode/webpack.extension.config.js
+++ b/packages/vscode/webpack.extension.config.js
@@ -59,6 +59,9 @@ module.exports = (env, argv) => {
use: [
{
loader: 'ts-loader',
+ options: {
+ transpileOnly: true,
+ },
},
],
},
diff --git a/packages/vscode/webpack.webviews.config.js b/packages/vscode/webpack.webviews.config.js
index 48b7db3..45b52b2 100644
--- a/packages/vscode/webpack.webviews.config.js
+++ b/packages/vscode/webpack.webviews.config.js
@@ -13,7 +13,14 @@ module.exports = {
rules: [
{
test: /\.tsx?$/,
- use: 'ts-loader',
+ use: [
+ {
+ loader: 'ts-loader',
+ options: {
+ transpileOnly: true,
+ },
+ },
+ ],
exclude: /node_modules/,
},
],
diff --git a/readmePartials/hero.md b/readmePartials/hero.md
index 43f0130..f5ba5fc 100644
--- a/readmePartials/hero.md
+++ b/readmePartials/hero.md
@@ -1,3 +1,5 @@
+
+
@@ -14,26 +16,26 @@
Find and lint complex code patterns effortlessly
-___
+---
# What is CodeQue?
-CodeQue is semantic code search engine that understands the code syntax.
+CodeQue is semantic code search engine that understands the code syntax.
It matches code structurally which makes it excellent for more complex queries.
-Query language offers wildcards, partial matching and ignores code formatting.
+Query language offers wildcards, partial matching and ignores code formatting.
-Structural code search is available for JavaScript, TypesScript, HTML, CSS, Python and more soon.
+Structural code search is available for JavaScript, TypesScript, HTML, CSS, Python, Lua, C# and more soon.
-Text code search with handy wildcards is available for __every language__ and covers common regex search use cases.
+Text code search with handy wildcards is available for **every language** and covers common regex search use cases.
Give it a try in
playground
Just paste code snippet to start searching, no installation needed!
-__Integrations__
+**Integrations**
CodeQue is available as:
@@ -43,18 +45,16 @@ CodeQue is available as:
All CodeQue tools work offline hence code never leaves your local environment.
-__Coming soon__
+**Coming soon**
CodeQue will be soon available as:
- Duplicated code identification
-- Batch code refactoring
-- Advanced ESLint rule creator
-
+- Batch code refactoring
+- Advanced ESLint rule creator
🔔 Get notified about updates 🔔
-
-
\ No newline at end of file
+
diff --git a/syncReadmes.js b/syncReadmes.js
index bfafb17..c7f59eb 100644
--- a/syncReadmes.js
+++ b/syncReadmes.js
@@ -22,15 +22,21 @@ const syncHero = () => {
const heroContent = fs.readFileSync(heroContentPath).toString()
+ const heroStartCommentLine = ''
+
+ const heroEndCommentLine = ''
+
pathsToUpdate.forEach((filePath) => {
const content = fs.readFileSync(filePath).toString()
- const heroEndCommentLine = ''
+ const contentBeforeHero = content.split(heroStartCommentLine)[0]
const contentAfterHero = content.split(heroEndCommentLine)[1]
- if (contentAfterHero) {
- const newContent = `${heroContent.trim()}
+ if (contentAfterHero || contentBeforeHero) {
+ const newContent = `${contentBeforeHero.trimEnd()}
+
+${heroContent.trim()}
${contentAfterHero.trimStart()}`
diff --git a/yarn.lock b/yarn.lock
index 4f3e2a0..98850cf 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -4,7 +4,7 @@
"@aashutoshrathi/word-wrap@^1.2.3":
version "1.2.6"
- resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf"
+ resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz"
integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==
"@angular-eslint/bundled-angular-compiler@15.2.1":
@@ -163,6 +163,15 @@
semver "^6.3.0"
source-map "^0.5.0"
+"@babel/eslint-parser@7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.28.5.tgz#0b8883a4a1c2cbed7b3cd9d7765d80e8f480b9ae"
+ integrity sha512-fcdRcWahONYo+JRnJg1/AekOacGvKx12Gu0qXJXFi2WBqQA1i7+O5PaxRB7kxE/Op94dExnCiiar6T09pvdHpA==
+ dependencies:
+ "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1"
+ eslint-visitor-keys "^2.1.0"
+ semver "^6.3.1"
+
"@babel/eslint-parser@^7.21.8":
version "7.21.8"
resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.21.8.tgz"
@@ -172,6 +181,17 @@
eslint-visitor-keys "^2.1.0"
semver "^6.3.0"
+"@babel/generator@7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.28.5.tgz#712722d5e50f44d07bc7ac9fe84438742dd61298"
+ integrity sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==
+ dependencies:
+ "@babel/parser" "^7.28.5"
+ "@babel/types" "^7.28.5"
+ "@jridgewell/gen-mapping" "^0.3.12"
+ "@jridgewell/trace-mapping" "^0.3.28"
+ jsesc "^3.0.2"
+
"@babel/generator@^7.16.0", "@babel/generator@^7.7.2":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.16.0.tgz"
@@ -181,16 +201,6 @@
jsesc "^2.5.1"
source-map "^0.5.0"
-"@babel/generator@^7.21.4":
- version "7.21.4"
- resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz"
- integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==
- dependencies:
- "@babel/types" "^7.21.4"
- "@jridgewell/gen-mapping" "^0.3.2"
- "@jridgewell/trace-mapping" "^0.3.17"
- jsesc "^2.5.1"
-
"@babel/helper-annotate-as-pure@^7.16.0":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.0.tgz"
@@ -322,15 +332,15 @@
dependencies:
"@babel/types" "^7.16.0"
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.14.5"
- resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.14.5.tgz"
- integrity sha512-/37qQCE3K0vvZKwoK4XU/irIJQdIfCJuhU5eKnNxpFDsOkgFaUAwbv+RYw6eYgsC0E4hS7r5KqGULUogqui0fQ==
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.13.0", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.22.5"
+ resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz"
+ integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
-"@babel/helper-plugin-utils@^7.18.6":
- version "7.18.6"
- resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.18.6.tgz"
- integrity sha512-gvZnm1YAAxh13eJdkb9EWHBnF3eAub3XTLCZEehHT2kWxiKVRL64+ae5Y6Ivne0mVHmMYKT+xWgZO+gQhuLUBg==
+"@babel/helper-plugin-utils@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c"
+ integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==
"@babel/helper-remap-async-to-generator@^7.16.0", "@babel/helper-remap-async-to-generator@^7.16.4":
version "7.16.4"
@@ -372,35 +382,25 @@
dependencies:
"@babel/types" "^7.16.0"
-"@babel/helper-string-parser@^7.18.10":
- version "7.18.10"
- resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.18.10.tgz"
- integrity sha512-XtIfWmeNY3i4t7t4D2t02q50HvqHybPqW2ki1kosnvWCwuCMeo81Jf0gwr85jy/neUdg5XDdeFE/80DXiO+njw==
-
"@babel/helper-string-parser@^7.19.4":
version "7.19.4"
resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz"
integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
-"@babel/helper-validator-identifier@^7.15.7":
- version "7.15.7"
- resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz"
- integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==
+"@babel/helper-string-parser@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687"
+ integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
-"@babel/helper-validator-identifier@^7.16.7":
- version "7.16.7"
- resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz"
- integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
-
-"@babel/helper-validator-identifier@^7.18.6":
- version "7.18.6"
- resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.18.6.tgz"
- integrity sha512-MmetCkz9ej86nJQV+sFCxoGGrUbU3q02kgLciwkrt9QqEB7cP39oKEY0PakknEO0Gu20SskMRi+AYZ3b1TpN9g==
+"@babel/helper-validator-identifier@^7.15.7", "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
+ version "7.22.20"
+ resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz"
+ integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==
-"@babel/helper-validator-identifier@^7.19.1":
- version "7.19.1"
- resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz"
- integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==
+"@babel/helper-validator-identifier@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4"
+ integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==
"@babel/helper-validator-option@^7.14.5":
version "7.14.5"
@@ -426,7 +426,7 @@
"@babel/traverse" "^7.16.3"
"@babel/types" "^7.16.0"
-"@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6":
+"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.0", "@babel/highlight@^7.16.7", "@babel/highlight@^7.18.6":
version "7.18.6"
resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz"
integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==
@@ -435,34 +435,18 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/highlight@^7.16.0":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz"
- integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==
+"@babel/parser@7.28.5", "@babel/parser@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.28.5.tgz#0b0225ee90362f030efd644e8034c99468893b08"
+ integrity sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==
dependencies:
- "@babel/helper-validator-identifier" "^7.15.7"
- chalk "^2.0.0"
- js-tokens "^4.0.0"
+ "@babel/types" "^7.28.5"
-"@babel/highlight@^7.16.7":
- version "7.17.12"
- resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz"
- integrity sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==
- dependencies:
- "@babel/helper-validator-identifier" "^7.16.7"
- chalk "^2.0.0"
- js-tokens "^4.0.0"
-
-"@babel/parser@7.19.4":
+"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.7.2":
version "7.19.4"
resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.19.4.tgz"
integrity sha512-qpVT7gtuOLjWeDTKLkJ6sryqLliBaFpAtGeqw5cs5giLldvh+Ch0plqnUMKoVAUS6ZEueQQiZV+p5pxtPitEsA==
-"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.7.2":
- version "7.16.4"
- resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.16.4.tgz"
- integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==
-
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.16.2":
version "7.16.2"
resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.2.tgz"
@@ -726,20 +710,20 @@
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-syntax-typescript@7.18.6":
+"@babel/plugin-syntax-typescript@7.27.1":
+ version "7.27.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.27.1.tgz#5147d29066a793450f220c63fa3a9431b7e6dd18"
+ integrity sha512-xfYCBMxveHrRMnAWl1ZlPXOZjzkN82THFvLhQhFXFt81Z5HnN+EtUkZhv/zcKpmT3fzmWZB0ywiBrbC3vogbwQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-typescript@^7.16.0", "@babel/plugin-syntax-typescript@^7.7.2":
version "7.18.6"
resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.18.6.tgz"
integrity sha512-mAWAuq4rvOepWCBid55JuRNvpTNf2UGVgoz4JV0fXEKolsVZDzsa4NqCef758WZJj/GDu0gVGItjKFiClTAmZA==
dependencies:
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-syntax-typescript@^7.16.0", "@babel/plugin-syntax-typescript@^7.7.2":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.16.0.tgz"
- integrity sha512-Xv6mEXqVdaqCBfJFyeab0fH2DnUoMsDmhamxsSi4j8nLd4Vtw213WMJr55xxqipC/YVWyPY3K0blJncPYji+dQ==
- dependencies:
- "@babel/helper-plugin-utils" "^7.14.5"
-
"@babel/plugin-transform-arrow-functions@^7.16.0":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.16.0.tgz"
@@ -1097,7 +1081,7 @@
"@babel/helper-validator-option" "^7.14.5"
"@babel/plugin-transform-typescript" "^7.16.0"
-"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.13.10", "@babel/runtime@^7.7.2":
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.12.13", "@babel/runtime@^7.13.10", "@babel/runtime@^7.7.2", "@babel/runtime@^7.8.4":
version "7.18.6"
resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.6.tgz"
integrity sha512-t9wi7/AW6XtKahAe20Yw0/mMljKq0B1r2fPdvaAdV/KPDZewFXdaaa6K7lxmZBZ8FBNpCiAT6iHPmd6QO9bKfQ==
@@ -1111,13 +1095,6 @@
dependencies:
regenerator-runtime "^0.13.4"
-"@babel/runtime@^7.8.4":
- version "7.16.3"
- resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.3.tgz"
- integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ==
- dependencies:
- regenerator-runtime "^0.13.4"
-
"@babel/template@^7.16.0", "@babel/template@^7.3.3":
version "7.16.0"
resolved "https://registry.npmjs.org/@babel/template/-/template-7.16.0.tgz"
@@ -1142,7 +1119,7 @@
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@7.19.4":
+"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.18.6", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
version "7.19.4"
resolved "https://registry.npmjs.org/@babel/types/-/types-7.19.4.tgz"
integrity sha512-M5LK7nAeS6+9j7hAq+b3fQs+pNfUtTGq+yFFfHnauFA8zQtLRfmuipmsKDKKLuyG+wC8ABW43A153YNawNTEtw==
@@ -1151,31 +1128,13 @@
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
-"@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4":
- version "7.16.0"
- resolved "https://registry.npmjs.org/@babel/types/-/types-7.16.0.tgz"
- integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==
- dependencies:
- "@babel/helper-validator-identifier" "^7.15.7"
- to-fast-properties "^2.0.0"
-
-"@babel/types@^7.18.6":
- version "7.18.10"
- resolved "https://registry.npmjs.org/@babel/types/-/types-7.18.10.tgz"
- integrity sha512-MJvnbEiiNkpjo+LknnmRrqbY1GPUUggjv+wQVjetM/AONoupqRALB7I6jGqNUAZsKcRIEu2J6FRFvsczljjsaQ==
- dependencies:
- "@babel/helper-string-parser" "^7.18.10"
- "@babel/helper-validator-identifier" "^7.18.6"
- to-fast-properties "^2.0.0"
-
-"@babel/types@^7.21.4":
- version "7.21.4"
- resolved "https://registry.npmjs.org/@babel/types/-/types-7.21.4.tgz"
- integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==
+"@babel/types@^7.28.5":
+ version "7.28.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.28.5.tgz#10fc405f60897c35f07e85493c932c7b5ca0592b"
+ integrity sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==
dependencies:
- "@babel/helper-string-parser" "^7.19.4"
- "@babel/helper-validator-identifier" "^7.19.1"
- to-fast-properties "^2.0.0"
+ "@babel/helper-string-parser" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.28.5"
"@bcoe/v8-coverage@^0.2.3":
version "0.2.3"
@@ -1734,24 +1693,9 @@
dependencies:
"@chakra-ui/utils" "2.0.4"
-"@codeque/core@^0.5.0":
- version "0.5.1"
- resolved "https://registry.yarnpkg.com/@codeque/core/-/core-0.5.1.tgz#842b1754c5905b4ff91fd02fb4116a32a355c2e7"
- integrity sha512-TB9zSy6/TjoPDxqqP3GTXAvCDrV/31cpJLKaqxwH4FH1bkYLqmNbO8e0b4i/6e3LIELa38OtBCAjba1MY9J1wQ==
- dependencies:
- "@babel/parser" "7.19.4"
- "@babel/plugin-syntax-typescript" "7.18.6"
- "@babel/types" "7.19.4"
- "@types/css-tree" "^2.3.1"
- dedent "^0.7.0"
- dpdm "^3.12.0"
- glob-escape "^0.0.2"
- ignore "^5.1.9"
- minimatch "^5.1.0"
-
"@cspotcode/source-map-support@^0.8.0":
version "0.8.1"
- resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1"
+ resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz"
integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==
dependencies:
"@jridgewell/trace-mapping" "0.3.9"
@@ -1802,7 +1746,7 @@
source-map "^0.5.7"
stylis "4.0.13"
-"@emotion/cache@^11.10.0", "@emotion/cache@^11.4.0":
+"@emotion/cache@^11.10.0", "@emotion/cache@^11.4.0", "@emotion/cache@^11.9.3":
version "11.10.1"
resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.10.1.tgz"
integrity sha512-uZTj3Yz5D69GE25iFZcIQtibnVCFsc/6+XIozyL3ycgWvEdif2uEw9wlUt6umjLr4Keg9K6xRPHmD8LGi+6p1A==
@@ -1813,17 +1757,6 @@
"@emotion/weak-memoize" "^0.3.0"
stylis "4.0.13"
-"@emotion/cache@^11.9.3":
- version "11.9.3"
- resolved "https://registry.npmjs.org/@emotion/cache/-/cache-11.9.3.tgz"
- integrity sha512-0dgkI/JKlCXa+lEXviaMtGBL0ynpx4osh7rjOXE71q9bIF8G+XhJgvi+wDu0B0IdCVx37BffiwXlN9I3UuzFvg==
- dependencies:
- "@emotion/memoize" "^0.7.4"
- "@emotion/sheet" "^1.1.1"
- "@emotion/utils" "^1.0.0"
- "@emotion/weak-memoize" "^0.2.5"
- stylis "4.0.13"
-
"@emotion/hash@^0.8.0":
version "0.8.0"
resolved "https://registry.npmjs.org/@emotion/hash/-/hash-0.8.0.tgz"
@@ -1911,11 +1844,6 @@
"@emotion/utils" "^1.2.0"
csstype "^3.0.2"
-"@emotion/sheet@^1.1.1":
- version "1.1.1"
- resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.1.1.tgz"
- integrity sha512-J3YPccVRMiTZxYAY0IOq3kd+hUP8idY8Kz6B/Cyo+JuXq52Ek+zbPbSQUrVQp95aJ+lsAW7DPL1P2Z+U1jGkKA==
-
"@emotion/sheet@^1.2.0":
version "1.2.0"
resolved "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.0.tgz"
@@ -1964,14 +1892,14 @@
"@eslint-community/eslint-utils@^4.2.0":
version "4.4.0"
- resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59"
+ resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz"
integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==
dependencies:
eslint-visitor-keys "^3.3.0"
"@eslint-community/regexpp@^4.6.1":
version "4.6.2"
- resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8"
+ resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.6.2.tgz"
integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw==
"@eslint/eslintrc@^0.4.3":
@@ -2006,7 +1934,7 @@
"@eslint/eslintrc@^2.1.2":
version "2.1.2"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396"
+ resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz"
integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==
dependencies:
ajv "^6.12.4"
@@ -2021,12 +1949,12 @@
"@eslint/js@^8.47.0":
version "8.47.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d"
+ resolved "https://registry.npmjs.org/@eslint/js/-/js-8.47.0.tgz"
integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og==
"@humanwhocodes/config-array@^0.11.10":
version "0.11.10"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.10.tgz#5a3ffe32cc9306365fb3fd572596cd602d5e12d2"
+ resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz"
integrity sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==
dependencies:
"@humanwhocodes/object-schema" "^1.2.1"
@@ -2053,7 +1981,7 @@
"@humanwhocodes/module-importer@^1.0.1":
version "1.0.1"
- resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c"
+ resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz"
integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==
"@humanwhocodes/object-schema@^1.2.0", "@humanwhocodes/object-schema@^1.2.1":
@@ -2283,15 +2211,6 @@
chalk "^4.0.0"
"@jridgewell/gen-mapping@^0.3.0":
- version "0.3.2"
- resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz"
- integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A==
- dependencies:
- "@jridgewell/set-array" "^1.0.1"
- "@jridgewell/sourcemap-codec" "^1.4.10"
- "@jridgewell/trace-mapping" "^0.3.9"
-
-"@jridgewell/gen-mapping@^0.3.2":
version "0.3.3"
resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz"
integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
@@ -2300,11 +2219,24 @@
"@jridgewell/sourcemap-codec" "^1.4.10"
"@jridgewell/trace-mapping" "^0.3.9"
-"@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3":
+"@jridgewell/gen-mapping@^0.3.12":
+ version "0.3.13"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f"
+ integrity sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.5.0"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@jridgewell/resolve-uri@^3.0.3":
version "3.1.0"
resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz"
integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==
+"@jridgewell/resolve-uri@^3.1.0":
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
+ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
+
"@jridgewell/set-array@^1.0.1":
version "1.1.2"
resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz"
@@ -2318,26 +2250,31 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10":
+"@jridgewell/sourcemap-codec@^1.4.10":
version "1.4.14"
resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz"
integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==
+"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0":
+ version "1.5.5"
+ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz#6912b00d2c631c0d15ce1a7ab57cd657f2a8f8ba"
+ integrity sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==
+
"@jridgewell/trace-mapping@0.3.9":
version "0.3.9"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9"
+ resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz"
integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==
dependencies:
"@jridgewell/resolve-uri" "^3.0.3"
"@jridgewell/sourcemap-codec" "^1.4.10"
-"@jridgewell/trace-mapping@^0.3.17":
- version "0.3.18"
- resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz"
- integrity sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==
+"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.28":
+ version "0.3.31"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz#db15d6781c931f3a251a3dac39501c98a6082fd0"
+ integrity sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==
dependencies:
- "@jridgewell/resolve-uri" "3.1.0"
- "@jridgewell/sourcemap-codec" "1.4.14"
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
"@jridgewell/trace-mapping@^0.3.7", "@jridgewell/trace-mapping@^0.3.9":
version "0.3.14"
@@ -2760,22 +2697,22 @@
"@tsconfig/node10@^1.0.7":
version "1.0.9"
- resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2"
+ resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz"
integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==
"@tsconfig/node12@^1.0.7":
version "1.0.11"
- resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d"
+ resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz"
integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==
"@tsconfig/node14@^1.0.0":
version "1.0.3"
- resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1"
+ resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz"
integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==
"@tsconfig/node16@^1.0.2":
version "1.0.4"
- resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.4.tgz#0b92dcc0cc1c81f6f306a381f28e31b1a56536e9"
+ resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz"
integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==
"@types/babel__code-frame@^7.0.3":
@@ -2926,7 +2863,7 @@
"@types/jest@^27.0.3":
version "27.5.2"
- resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.2.tgz#ec49d29d926500ffb9fd22b84262e862049c026c"
+ resolved "https://registry.npmjs.org/@types/jest/-/jest-27.5.2.tgz"
integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA==
dependencies:
jest-matcher-utils "^27.0.0"
@@ -2945,21 +2882,11 @@
resolved "https://registry.npmjs.org/@types/json-buffer/-/json-buffer-3.0.0.tgz"
integrity sha512-3YP80IxxFJB4b5tYC2SUPwkg0XQLiu0nWvhRgEatgjf+29IcWO9X1k8xRv5DGssJ/lCrjYTjQPcobJr2yWIVuQ==
-"@types/json-schema@*", "@types/json-schema@^7.0.8":
+"@types/json-schema@*", "@types/json-schema@^7.0.7", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
version "7.0.11"
resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz"
integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==
-"@types/json-schema@^7.0.7":
- version "7.0.10"
- resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.10.tgz"
- integrity sha512-BLO9bBq59vW3fxCpD4o0N4U+DXsvwvIcl+jofw0frQo/GrBFC+/jRZj1E7kgp6dvTyNmA4y6JCV5Id/r3mNP5A==
-
-"@types/json-schema@^7.0.9":
- version "7.0.9"
- resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz"
- integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
-
"@types/jsonfile@*":
version "6.1.1"
resolved "https://registry.npmjs.org/@types/jsonfile/-/jsonfile-6.1.1.tgz"
@@ -3173,39 +3100,9 @@
eslint-scope "^5.1.1"
eslint-utils "^3.0.0"
-"@typescript-eslint/parser@^5.16.0":
- version "5.16.0"
- resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.16.0.tgz"
- integrity sha512-fkDq86F0zl8FicnJtdXakFs4lnuebH6ZADDw6CYQv0UZeIjHvmEw87m9/29nk2Dv5Lmdp0zQ3zDQhiMWQf/GbA==
- dependencies:
- "@typescript-eslint/scope-manager" "5.16.0"
- "@typescript-eslint/types" "5.16.0"
- "@typescript-eslint/typescript-estree" "5.16.0"
- debug "^4.3.2"
-
-"@typescript-eslint/parser@^5.30.0":
- version "5.30.5"
- resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.30.5.tgz"
- integrity sha512-zj251pcPXI8GO9NDKWWmygP6+UjwWmrdf9qMW/L/uQJBM/0XbU2inxe5io/234y/RCvwpKEYjZ6c1YrXERkK4Q==
- dependencies:
- "@typescript-eslint/scope-manager" "5.30.5"
- "@typescript-eslint/types" "5.30.5"
- "@typescript-eslint/typescript-estree" "5.30.5"
- debug "^4.3.4"
-
-"@typescript-eslint/parser@^5.50.0":
- version "5.60.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.60.1.tgz#0f2f58209c0862a73e3d5a56099abfdfa21d0fd3"
- integrity sha512-pHWlc3alg2oSMGwsU/Is8hbm3XFbcrb6P5wIxcQW9NsYBfnrubl/GhVVD/Jm/t8HXhA2WncoIRfBtnCgRGV96Q==
- dependencies:
- "@typescript-eslint/scope-manager" "5.60.1"
- "@typescript-eslint/types" "5.60.1"
- "@typescript-eslint/typescript-estree" "5.60.1"
- debug "^4.3.4"
-
-"@typescript-eslint/parser@^5.53.0":
+"@typescript-eslint/parser@^5.16.0", "@typescript-eslint/parser@^5.30.0", "@typescript-eslint/parser@^5.50.0", "@typescript-eslint/parser@^5.53.0":
version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.62.0.tgz#1b63d082d849a2fcae8a569248fbe2ee1b8a56c7"
+ resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz"
integrity sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==
dependencies:
"@typescript-eslint/scope-manager" "5.62.0"
@@ -3237,17 +3134,9 @@
"@typescript-eslint/types" "5.30.5"
"@typescript-eslint/visitor-keys" "5.30.5"
-"@typescript-eslint/scope-manager@5.60.1":
- version "5.60.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.60.1.tgz#35abdb47f500c68c08f2f2b4f22c7c79472854bb"
- integrity sha512-Dn/LnN7fEoRD+KspEOV0xDMynEmR3iSHdgNsarlXNLGGtcUok8L4N71dxUgt3YvlO8si7E+BJ5Fe3wb5yUw7DQ==
- dependencies:
- "@typescript-eslint/types" "5.60.1"
- "@typescript-eslint/visitor-keys" "5.60.1"
-
"@typescript-eslint/scope-manager@5.62.0":
version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c"
+ resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz"
integrity sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==
dependencies:
"@typescript-eslint/types" "5.62.0"
@@ -3286,14 +3175,9 @@
resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.30.5.tgz"
integrity sha512-kZ80w/M2AvsbRvOr3PjaNh6qEW1LFqs2pLdo2s5R38B2HYXG8Z0PP48/4+j1QHJFL3ssHIbJ4odPRS8PlHrFfw==
-"@typescript-eslint/types@5.60.1":
- version "5.60.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.60.1.tgz#a17473910f6b8d388ea83c9d7051af89c4eb7561"
- integrity sha512-zDcDx5fccU8BA0IDZc71bAtYIcG9PowaOwaD8rjYbqwK7dpe/UMQl3inJ4UtUK42nOCT41jTSCwg76E62JpMcg==
-
"@typescript-eslint/types@5.62.0":
version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f"
+ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz"
integrity sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==
"@typescript-eslint/typescript-estree@4.33.0":
@@ -3335,22 +3219,9 @@
semver "^7.3.7"
tsutils "^3.21.0"
-"@typescript-eslint/typescript-estree@5.60.1":
- version "5.60.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.60.1.tgz#8c71824b7165b64d5ebd7aa42968899525959834"
- integrity sha512-hkX70J9+2M2ZT6fhti5Q2FoU9zb+GeZK2SLP1WZlvUDqdMbEKhexZODD1WodNRyO8eS+4nScvT0dts8IdaBzfw==
- dependencies:
- "@typescript-eslint/types" "5.60.1"
- "@typescript-eslint/visitor-keys" "5.60.1"
- debug "^4.3.4"
- globby "^11.1.0"
- is-glob "^4.0.3"
- semver "^7.3.7"
- tsutils "^3.21.0"
-
"@typescript-eslint/typescript-estree@5.62.0":
version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b"
+ resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz"
integrity sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==
dependencies:
"@typescript-eslint/types" "5.62.0"
@@ -3409,17 +3280,9 @@
"@typescript-eslint/types" "5.30.5"
eslint-visitor-keys "^3.3.0"
-"@typescript-eslint/visitor-keys@5.60.1":
- version "5.60.1"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.60.1.tgz#19a877358bf96318ec35d90bfe6bd1445cce9434"
- integrity sha512-xEYIxKcultP6E/RMKqube11pGjXH1DCo60mQoWhVYyKfLkwbIVVjYxmOenNMxILx0TjCujPTjjnTIVzm09TXIw==
- dependencies:
- "@typescript-eslint/types" "5.60.1"
- eslint-visitor-keys "^3.3.0"
-
"@typescript-eslint/visitor-keys@5.62.0":
version "5.62.0"
- resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz#2174011917ce582875954ffe2f6912d5931e353e"
+ resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz"
integrity sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==
dependencies:
"@typescript-eslint/types" "5.62.0"
@@ -3649,25 +3512,10 @@ acorn@^7.1.1, acorn@^7.4.0:
resolved "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz"
integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
-acorn@^8.2.4:
- version "8.6.0"
- resolved "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz"
- integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==
-
-acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1:
- version "8.7.1"
- resolved "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz"
- integrity sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==
-
-acorn@^8.8.0:
- version "8.8.2"
- resolved "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz"
- integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==
-
-acorn@^8.9.0:
- version "8.10.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.10.0.tgz#8be5b3907a67221a81ab23c7889c4c5526b62ec5"
- integrity sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==
+acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0, acorn@^8.7.1, acorn@^8.8.0, acorn@^8.9.0:
+ version "8.11.2"
+ resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.2.tgz"
+ integrity sha512-nc0Axzp/0FILLEVsm4fNwLCwMttvhEI263QtVPQcbpfZZ3ts0hLsZGOpE6czNlid7CJ9MlyH8reXkpsf3YUY4w==
add-stream@^1.0.0:
version "1.0.0"
@@ -3807,7 +3655,7 @@ applicationinsights@^2.7.0:
arg@^4.1.0:
version "4.1.3"
- resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089"
+ resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz"
integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==
argparse@^1.0.7:
@@ -4269,7 +4117,7 @@ chainsaw@~0.1.0:
dependencies:
traverse ">=0.3.0 <0.4"
-chalk@5.0.1:
+chalk@5.0.1, chalk@^5.0.0:
version "5.0.1"
resolved "https://registry.npmjs.org/chalk/-/chalk-5.0.1.tgz"
integrity sha512-Fo07WOYGqMfCWHOzSXOt2CxDbC6skS/jO9ynEcmpANMoPrD+W1r1K6Vx7iNm+AQmETU1Xr2t+n8nzkV9t6xh3w==
@@ -4291,11 +4139,6 @@ chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.1, chalk@^4.1.2:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chalk@^5.0.0:
- version "5.0.0"
- resolved "https://registry.npmjs.org/chalk/-/chalk-5.0.0.tgz"
- integrity sha512-/duVOqst+luxCQRKEo4bNxinsOQtMP80ZYm7mMqzuh5PociNL0PvmHFvREJ9ueYL2TxlHjBcmLCdmocx9Vg+IQ==
-
char-regex@^1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz"
@@ -4791,7 +4634,7 @@ cosmiconfig@^6.0.0:
create-require@^1.1.0:
version "1.1.1"
- resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333"
+ resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz"
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
cross-spawn@^7.0.2, cross-spawn@^7.0.3:
@@ -4879,14 +4722,7 @@ dateformat@^3.0.0:
resolved "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz"
integrity sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==
-debug@4, debug@^4.1.0, debug@^4.1.1:
- version "4.3.3"
- resolved "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz"
- integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
- dependencies:
- ms "2.1.2"
-
-debug@4.3.4, debug@^4.0.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
+debug@4, debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4:
version "4.3.4"
resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==
@@ -5051,7 +4887,7 @@ diff-sequences@^27.4.0:
diff-sequences@^27.5.1:
version "27.5.1"
- resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327"
+ resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.5.1.tgz"
integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ==
diff-sequences@^29.4.3:
@@ -5066,7 +4902,7 @@ diff@5.0.0:
diff@^4.0.1:
version "4.0.2"
- resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
+ resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
dir-glob@^3.0.1:
@@ -5370,7 +5206,7 @@ eslint-scope@^7.1.1:
eslint-scope@^7.2.2:
version "7.2.2"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f"
+ resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz"
integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==
dependencies:
esrecurse "^4.3.0"
@@ -5412,7 +5248,7 @@ eslint-visitor-keys@^3.4.1:
eslint-visitor-keys@^3.4.3:
version "3.4.3"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800"
+ resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz"
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
eslint@^7.11.0:
@@ -5504,7 +5340,7 @@ eslint@^8.18.0:
eslint@^8.34.0:
version "8.47.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.47.0.tgz#c95f9b935463fb4fad7005e626c7621052e90806"
+ resolved "https://registry.npmjs.org/eslint/-/eslint-8.47.0.tgz"
integrity sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q==
dependencies:
"@eslint-community/eslint-utils" "^4.2.0"
@@ -5574,7 +5410,7 @@ espree@^9.5.2:
espree@^9.6.0, espree@^9.6.1:
version "9.6.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f"
+ resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz"
integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==
dependencies:
acorn "^8.9.0"
@@ -5595,7 +5431,7 @@ esquery@^1.4.0:
esquery@^1.4.2:
version "1.5.0"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b"
+ resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz"
integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
dependencies:
estraverse "^5.1.0"
@@ -5797,7 +5633,7 @@ find-root@^1.1.0:
find-up@5.0.0, find-up@^5.0.0:
version "5.0.0"
- resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+ resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz"
integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
dependencies:
locate-path "^6.0.0"
@@ -5987,16 +5823,7 @@ get-caller-file@^2.0.5:
resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-get-intrinsic@^1.0.2:
- version "1.1.1"
- resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz"
- integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
- dependencies:
- function-bind "^1.1.1"
- has "^1.0.3"
- has-symbols "^1.0.1"
-
-get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
version "1.1.2"
resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.2.tgz"
integrity sha512-Jfm3OyCxHh9DJyc28qGk+JmfkpO41A4XkneDSujN9MDXrm4oDKdHvndhZ2dN94+ERNfkYJWDclW6k2L/ZGHjXA==
@@ -6127,7 +5954,7 @@ glob-parent@^5.1.2, glob-parent@~5.1.2:
glob-parent@^6.0.1, glob-parent@^6.0.2:
version "6.0.2"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3"
+ resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz"
integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==
dependencies:
is-glob "^4.0.3"
@@ -6192,7 +6019,7 @@ globals@^13.15.0:
globals@^13.19.0:
version "13.21.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-13.21.0.tgz#163aae12f34ef502f5153cfbdd3600f36c63c571"
+ resolved "https://registry.npmjs.org/globals/-/globals-13.21.0.tgz"
integrity sha512-ybyme3s4yy/t/3s35bewwXKOf7cvzfreG2lH0lZl0JB7I4GxRP2ghxOK/Nb9EkRXdbBXZLfq/p/0W2JUONB/Gg==
dependencies:
type-fest "^0.20.2"
@@ -6275,7 +6102,7 @@ graceful-fs@^4.2.9:
graphemer@^1.4.0:
version "1.4.0"
- resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
+ resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz"
integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
handlebars@^4.7.7:
@@ -6317,12 +6144,7 @@ has-property-descriptors@^1.0.0:
dependencies:
get-intrinsic "^1.1.1"
-has-symbols@^1.0.1:
- version "1.0.2"
- resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.2.tgz"
- integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
-
-has-symbols@^1.0.2, has-symbols@^1.0.3:
+has-symbols@^1.0.1, has-symbols@^1.0.2, has-symbols@^1.0.3:
version "1.0.3"
resolved "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
@@ -6472,16 +6294,11 @@ ignore@^4.0.6:
resolved "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
-ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0:
+ignore@^5.1.1, ignore@^5.1.8, ignore@^5.1.9, ignore@^5.2.0:
version "5.2.0"
resolved "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz"
integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
-ignore@^5.1.9:
- version "5.1.9"
- resolved "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz"
- integrity sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==
-
import-fresh@^3.0.0, import-fresh@^3.1.0, import-fresh@^3.2.1:
version "3.3.0"
resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz"
@@ -6656,13 +6473,6 @@ is-core-module@^2.11.0:
dependencies:
has "^1.0.3"
-is-core-module@^2.2.0:
- version "2.8.0"
- resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz"
- integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==
- dependencies:
- has "^1.0.3"
-
is-core-module@^2.5.0, is-core-module@^2.9.0:
version "2.9.0"
resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz"
@@ -6670,13 +6480,6 @@ is-core-module@^2.5.0, is-core-module@^2.9.0:
dependencies:
has "^1.0.3"
-is-core-module@^2.8.1:
- version "2.8.1"
- resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz"
- integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
- dependencies:
- has "^1.0.3"
-
is-date-object@^1.0.1:
version "1.0.5"
resolved "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz"
@@ -7067,7 +6870,7 @@ jest-diff@^27.4.2:
jest-diff@^27.5.1:
version "27.5.1"
- resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def"
+ resolved "https://registry.npmjs.org/jest-diff/-/jest-diff-27.5.1.tgz"
integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw==
dependencies:
chalk "^4.0.0"
@@ -7135,7 +6938,7 @@ jest-get-type@^27.4.0:
jest-get-type@^27.5.1:
version "27.5.1"
- resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1"
+ resolved "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.5.1.tgz"
integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw==
jest-get-type@^29.4.3:
@@ -7197,7 +7000,7 @@ jest-leak-detector@^27.4.2:
jest-matcher-utils@^27.0.0:
version "27.5.1"
- resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab"
+ resolved "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz"
integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw==
dependencies:
chalk "^4.0.0"
@@ -7530,6 +7333,11 @@ jsesc@^2.5.1:
resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz"
integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==
+jsesc@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
+ integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
+
jsesc@~0.5.0:
version "0.5.0"
resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz"
@@ -7955,13 +7763,20 @@ minimatch@^3.0.5, minimatch@^3.1.2:
dependencies:
brace-expansion "^1.1.7"
-minimatch@^5.0.1, minimatch@^5.1.0:
+minimatch@^5.0.1:
version "5.1.0"
resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.0.tgz"
integrity sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==
dependencies:
brace-expansion "^2.0.1"
+minimatch@^5.1.0:
+ version "5.1.6"
+ resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz"
+ integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==
+ dependencies:
+ brace-expansion "^2.0.1"
+
minimist-options@4.1.0:
version "4.1.0"
resolved "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz"
@@ -8097,10 +7912,10 @@ node-fetch@^2.6.7:
dependencies:
whatwg-url "^5.0.0"
-node-fetch@^3.3.1:
- version "3.3.1"
- resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.1.tgz#b3eea7b54b3a48020e46f4f88b9c5a7430d20b2e"
- integrity sha512-cRVc/kyto/7E5shrWca1Wsea4y6tL9iYJE5FBCius3JQfb/4P4I295PfhgbJQBLTx6lATE4z+wK0rPM4VS2uow==
+node-fetch@^3.3.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-3.3.2.tgz#d1e889bacdf733b4ff3b2b243eb7a12866a0b78b"
+ integrity sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==
dependencies:
data-uri-to-buffer "^4.0.0"
fetch-blob "^3.1.4"
@@ -8261,7 +8076,7 @@ optionator@^0.9.1:
optionator@^0.9.3:
version "0.9.3"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64"
+ resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz"
integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==
dependencies:
"@aashutoshrathi/word-wrap" "^1.2.3"
@@ -8485,7 +8300,7 @@ path-key@^4.0.0:
resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz"
integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==
-path-parse@^1.0.6, path-parse@^1.0.7:
+path-parse@^1.0.7:
version "1.0.7"
resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz"
integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
@@ -8583,7 +8398,7 @@ prettier@^2.5.1:
pretty-format@^27.0.0, pretty-format@^27.5.1:
version "27.5.1"
- resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e"
+ resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz"
integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==
dependencies:
ansi-regex "^5.0.1"
@@ -9137,16 +8952,7 @@ resolve.exports@^1.1.0:
resolved "https://registry.npmjs.org/resolve.exports/-/resolve.exports-1.1.0.tgz"
integrity sha512-J1l+Zxxp4XK3LUDZ9m60LRJF/mAe4z6a4xyabPHk7pvK5t35dACV32iIjJDFeWZFfZlO29w6SZ67knR0tHzJtQ==
-resolve@^1.1.6, resolve@^1.10.1:
- version "1.22.0"
- resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz"
- integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
- dependencies:
- is-core-module "^2.8.1"
- path-parse "^1.0.7"
- supports-preserve-symlinks-flag "^1.0.0"
-
-resolve@^1.10.0, resolve@^1.12.0, resolve@^1.19.0, resolve@^1.9.0:
+resolve@^1.1.6, resolve@^1.10.0, resolve@^1.10.1, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.19.0, resolve@^1.20.0, resolve@^1.9.0:
version "1.22.1"
resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.1.tgz"
integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==
@@ -9155,14 +8961,6 @@ resolve@^1.10.0, resolve@^1.12.0, resolve@^1.19.0, resolve@^1.9.0:
path-parse "^1.0.7"
supports-preserve-symlinks-flag "^1.0.0"
-resolve@^1.14.2, resolve@^1.20.0:
- version "1.20.0"
- resolved "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz"
- integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
- dependencies:
- is-core-module "^2.2.0"
- path-parse "^1.0.6"
-
resolve@^1.22.1:
version "1.22.2"
resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz"
@@ -9326,6 +9124,11 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.1.1, semver@^6.1.2, semver@^6.2.0, semve
resolved "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+semver@^6.3.1:
+ version "6.3.1"
+ resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
+ integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
+
semver@^7.2.1:
version "7.3.8"
resolved "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz"
@@ -9886,7 +9689,7 @@ tree-kill@^1.2.2:
tree-sitter-cli@^0.20.8:
version "0.20.8"
- resolved "https://registry.yarnpkg.com/tree-sitter-cli/-/tree-sitter-cli-0.20.8.tgz#06a81cea8d6d82f93d67eed7d28b6bc04a4a8916"
+ resolved "https://registry.npmjs.org/tree-sitter-cli/-/tree-sitter-cli-0.20.8.tgz"
integrity sha512-XjTcS3wdTy/2cc/ptMLc/WRyOLECRYcMTrSWyhZnj1oGSOWbHLTklgsgRICU3cPfb0vy+oZCC33M43u6R1HSCA==
trim-newlines@^3.0.0:
@@ -9920,7 +9723,7 @@ ts-loader@^9.3.1:
ts-node@^10.9.1:
version "10.9.1"
- resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b"
+ resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz"
integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==
dependencies:
"@cspotcode/source-map-support" "^0.8.0"
@@ -10030,15 +9833,10 @@ typedarray@^0.0.6:
resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
-typescript@^4.5.2:
- version "4.5.2"
- resolved "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz"
- integrity sha512-5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==
-
-typescript@^4.7.4:
- version "4.7.4"
- resolved "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz"
- integrity sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==
+typescript@5.9.3:
+ version "5.9.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.9.3.tgz#5b4f59e15310ab17a216f5d6cf53ee476ede670f"
+ integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==
typescript@^4.9.4:
version "4.9.5"
@@ -10200,7 +9998,7 @@ uuid@^8.3.0:
v8-compile-cache-lib@^3.0.1:
version "3.0.1"
- resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf"
+ resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz"
integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==
v8-compile-cache@^2.0.3:
@@ -10276,7 +10074,7 @@ web-streams-polyfill@^3.0.3, web-streams-polyfill@^3.1.1:
web-tree-sitter@^0.20.8:
version "0.20.8"
- resolved "https://registry.yarnpkg.com/web-tree-sitter/-/web-tree-sitter-0.20.8.tgz#1e371cb577584789cadd75cb49c7ddfbc99d04c8"
+ resolved "https://registry.npmjs.org/web-tree-sitter/-/web-tree-sitter-0.20.8.tgz"
integrity sha512-weOVgZ3aAARgdnb220GqYuh7+rZU0Ka9k9yfKtGAzEYMa6GgiCzW9JjQRJyCJakvibQW+dfjJdihjInKuuCAUQ==
webidl-conversions@^3.0.0:
@@ -10591,7 +10389,7 @@ yargs@^17.6.2:
yn@3.1.1:
version "3.1.1"
- resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50"
+ resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz"
integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==
yocto-queue@^0.1.0: