├── .devcontainer ├── Dockerfile └── devcontainer.json ├── .github └── workflows │ ├── ci.yml │ └── release.yml ├── .gitignore ├── CHANGELOG.md ├── Makefile ├── README.md ├── build.gradle.kts ├── docs ├── CONTRIBUTING.md ├── CONTRIBUTING_CN.md └── img │ ├── format-directory.png │ ├── format-file.png │ ├── format-project.png │ ├── gradle_tool_window.jpg │ ├── highlight.jpg │ ├── how-to-install.gif │ └── preview.png ├── gradle.properties ├── gradle ├── libs.versions.toml └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── idea-flex.skeleton ├── jflex-1.7.0-2.jar ├── qodana.yml ├── settings.gradle.kts └── src ├── main ├── gen │ └── io │ │ └── kusionstack │ │ └── kcl │ │ ├── lexer │ │ ├── _KCLHighlightingLexer.java │ │ └── _KCLLexer.java │ │ ├── parser │ │ └── KCLParser.java │ │ └── psi │ │ ├── KCLAndExpr.java │ │ ├── KCLAndTest.java │ │ ├── KCLArgument.java │ │ ├── KCLArguments.java │ │ ├── KCLArithExpr.java │ │ ├── KCLAssertStmt.java │ │ ├── KCLAssignStmt.java │ │ ├── KCLAttributeStmt.java │ │ ├── KCLBasicType.java │ │ ├── KCLCallSuffix.java │ │ ├── KCLCheckBlock.java │ │ ├── KCLCheckExpr.java │ │ ├── KCLCheckTest.java │ │ ├── KCLCompClause.java │ │ ├── KCLComparison.java │ │ ├── KCLCompoundStmt.java │ │ ├── KCLCompoundType.java │ │ ├── KCLConfigEntries.java │ │ ├── KCLConfigEntry.java │ │ ├── KCLConfigExpr.java │ │ ├── KCLDecoratorExpr.java │ │ ├── KCLDecorators.java │ │ ├── KCLDictComp.java │ │ ├── KCLDictType.java │ │ ├── KCLDotName.java │ │ ├── KCLDoubleStarExpr.java │ │ ├── KCLEntry.java │ │ ├── KCLExecutionBlock.java │ │ ├── KCLExpr.java │ │ ├── KCLExprStmt.java │ │ ├── KCLFactor.java │ │ ├── KCLForMixinHost.java │ │ ├── KCLIdentifier.java │ │ ├── KCLIfEntry.java │ │ ├── KCLIfEntryExecBlock.java │ │ ├── KCLIfExpr.java │ │ ├── KCLIfItem.java │ │ ├── KCLIfItemExecBlock.java │ │ ├── KCLIfSimpleStmt.java │ │ ├── KCLIfStmt.java │ │ ├── KCLImportStmt.java │ │ ├── KCLLambdaExpr.java │ │ ├── KCLLeadingDots.java │ │ ├── KCLListComp.java │ │ ├── KCLListExpr.java │ │ ├── KCLListItem.java │ │ ├── KCLListItems.java │ │ ├── KCLListType.java │ │ ├── KCLLiteralType.java │ │ ├── KCLLoopVariables.java │ │ ├── KCLMixinStmt.java │ │ ├── KCLMixins.java │ │ ├── KCLMultilineMixins.java │ │ ├── KCLNotTest.java │ │ ├── KCLOperand.java │ │ ├── KCLPower.java │ │ ├── KCLPrimaryExpr.java │ │ ├── KCLQuantExpr.java │ │ ├── KCLQuantOp.java │ │ ├── KCLQuantTarget.java │ │ ├── KCLSchemaArgument.java │ │ ├── KCLSchemaArguments.java │ │ ├── KCLSchemaAttributeStmt.java │ │ ├── KCLSchemaBody.java │ │ ├── KCLSchemaExpr.java │ │ ├── KCLSchemaIndexSignature.java │ │ ├── KCLSchemaInitStmt.java │ │ ├── KCLSchemaStmt.java │ │ ├── KCLSchemaType.java │ │ ├── KCLSelectSuffix.java │ │ ├── KCLShiftExpr.java │ │ ├── KCLSimpleAssignStmt.java │ │ ├── KCLSimpleExpr.java │ │ ├── KCLSimpleStmt.java │ │ ├── KCLSingleName.java │ │ ├── KCLSliceSuffix.java │ │ ├── KCLStarExpr.java │ │ ├── KCLStatement.java │ │ ├── KCLTerm.java │ │ ├── KCLTest.java │ │ ├── KCLTestlistExpr.java │ │ ├── KCLType.java │ │ ├── KCLTypeAliasStmt.java │ │ ├── KCLTypeCastExpr.java │ │ ├── KCLTypeElement.java │ │ ├── KCLTypes.java │ │ ├── KCLUnificationStmt.java │ │ ├── KCLVisitor.java │ │ ├── KCLXorExpr.java │ │ └── impl │ │ ├── KCLAndExprImpl.java │ │ ├── KCLAndTestImpl.java │ │ ├── KCLArgumentImpl.java │ │ ├── KCLArgumentsImpl.java │ │ ├── KCLArithExprImpl.java │ │ ├── KCLAssertStmtImpl.java │ │ ├── KCLAssignStmtImpl.java │ │ ├── KCLAttributeStmtImpl.java │ │ ├── KCLBasicTypeImpl.java │ │ ├── KCLCallSuffixImpl.java │ │ ├── KCLCheckBlockImpl.java │ │ ├── KCLCheckExprImpl.java │ │ ├── KCLCheckTestImpl.java │ │ ├── KCLCompClauseImpl.java │ │ ├── KCLComparisonImpl.java │ │ ├── KCLCompoundStmtImpl.java │ │ ├── KCLCompoundTypeImpl.java │ │ ├── KCLConfigEntriesImpl.java │ │ ├── KCLConfigEntryImpl.java │ │ ├── KCLConfigExprImpl.java │ │ ├── KCLDecoratorExprImpl.java │ │ ├── KCLDecoratorsImpl.java │ │ ├── KCLDictCompImpl.java │ │ ├── KCLDictTypeImpl.java │ │ ├── KCLDotNameImpl.java │ │ ├── KCLDoubleStarExprImpl.java │ │ ├── KCLEntryImpl.java │ │ ├── KCLExecutionBlockImpl.java │ │ ├── KCLExprImpl.java │ │ ├── KCLExprStmtImpl.java │ │ ├── KCLFactorImpl.java │ │ ├── KCLForMixinHostImpl.java │ │ ├── KCLIdentifierImpl.java │ │ ├── KCLIfEntryExecBlockImpl.java │ │ ├── KCLIfEntryImpl.java │ │ ├── KCLIfExprImpl.java │ │ ├── KCLIfItemExecBlockImpl.java │ │ ├── KCLIfItemImpl.java │ │ ├── KCLIfSimpleStmtImpl.java │ │ ├── KCLIfStmtImpl.java │ │ ├── KCLImportStmtImpl.java │ │ ├── KCLLambdaExprImpl.java │ │ ├── KCLLeadingDotsImpl.java │ │ ├── KCLListCompImpl.java │ │ ├── KCLListExprImpl.java │ │ ├── KCLListItemImpl.java │ │ ├── KCLListItemsImpl.java │ │ ├── KCLListTypeImpl.java │ │ ├── KCLLiteralTypeImpl.java │ │ ├── KCLLoopVariablesImpl.java │ │ ├── KCLMixinStmtImpl.java │ │ ├── KCLMixinsImpl.java │ │ ├── KCLMultilineMixinsImpl.java │ │ ├── KCLNotTestImpl.java │ │ ├── KCLOperandImpl.java │ │ ├── KCLPowerImpl.java │ │ ├── KCLPrimaryExprImpl.java │ │ ├── KCLQuantExprImpl.java │ │ ├── KCLQuantOpImpl.java │ │ ├── KCLQuantTargetImpl.java │ │ ├── KCLSchemaArgumentImpl.java │ │ ├── KCLSchemaArgumentsImpl.java │ │ ├── KCLSchemaAttributeStmtImpl.java │ │ ├── KCLSchemaBodyImpl.java │ │ ├── KCLSchemaExprImpl.java │ │ ├── KCLSchemaIndexSignatureImpl.java │ │ ├── KCLSchemaInitStmtImpl.java │ │ ├── KCLSchemaStmtImpl.java │ │ ├── KCLSchemaTypeImpl.java │ │ ├── KCLSelectSuffixImpl.java │ │ ├── KCLShiftExprImpl.java │ │ ├── KCLSimpleAssignStmtImpl.java │ │ ├── KCLSimpleExprImpl.java │ │ ├── KCLSimpleStmtImpl.java │ │ ├── KCLSingleNameImpl.java │ │ ├── KCLSliceSuffixImpl.java │ │ ├── KCLStarExprImpl.java │ │ ├── KCLStatementImpl.java │ │ ├── KCLTermImpl.java │ │ ├── KCLTestImpl.java │ │ ├── KCLTestlistExprImpl.java │ │ ├── KCLTypeAliasStmtImpl.java │ │ ├── KCLTypeCastExprImpl.java │ │ ├── KCLTypeElementImpl.java │ │ ├── KCLTypeImpl.java │ │ ├── KCLUnificationStmtImpl.java │ │ └── KCLXorExprImpl.java ├── java │ └── io │ │ └── kusionstack │ │ └── kcl │ │ ├── KCL.bnf │ │ ├── KCL.flex │ │ ├── KCLBraceMatcher.java │ │ ├── KCLColorSettingsPage.java │ │ ├── KCLFileType.java │ │ ├── KCLFoldingBuilder.java │ │ ├── KCLIcons.java │ │ ├── KCLLanguage.java │ │ ├── KCLLanguageServer.java │ │ ├── KCLLanguageServerFactory.java │ │ ├── KCLLineIndentProvider.java │ │ ├── KCLParserDefinition.java │ │ ├── KCLStructureViewElement.java │ │ ├── KCLStructureViewFactory.java │ │ ├── KCLStructureViewModel.java │ │ ├── KCLSyntaxHighlighter.java │ │ ├── KCLSyntaxHighlighterFactory.java │ │ ├── KCLUtil.java │ │ ├── action │ │ ├── KCLToolsPopUpActionGroup.java │ │ ├── OpenKCLHelpAction.java │ │ └── OpenLinkAction.java │ │ ├── completion │ │ ├── ImportNameProvider.java │ │ ├── KCLCompletionContributor.java │ │ ├── KeywordProvider.java │ │ └── keyword │ │ │ ├── AsKeywordProvider.java │ │ │ ├── RelaxedKeywordProvider.java │ │ │ └── TypeNameProvider.java │ │ ├── kcl_highlight.flex │ │ ├── lexer │ │ ├── KCLHighlightingLexer.java │ │ └── KCLIndentingLexer.java │ │ ├── psi │ │ ├── KCLElement.java │ │ ├── KCLElementType.java │ │ ├── KCLFile.java │ │ ├── KCLNameReference.java │ │ ├── KCLNamedElement.java │ │ ├── KCLScopeOwner.java │ │ ├── KCLTokenType.java │ │ └── impl │ │ │ ├── AbstractKCLNamedElementImpl.java │ │ │ └── KCLPsiImplUtil.java │ │ ├── symbol_table │ │ ├── BaseScope.java │ │ ├── BuiltInTypeSymbol.java │ │ ├── DefSymbolTableVisitor.java │ │ ├── GlobalScope.java │ │ ├── PkgSymbol.java │ │ ├── RefSymbolTableVisitor.java │ │ ├── SchemaSymbol.java │ │ ├── Scope.java │ │ ├── ScopedSymbol.java │ │ ├── Symbol.java │ │ ├── SymbolTable.java │ │ ├── Type.java │ │ └── VariableSymbol.java │ │ └── util │ │ ├── ExecuteResult.java │ │ ├── KCLBinaryUtil.java │ │ └── KCLFmtCommand.java └── resources │ ├── META-INF │ ├── plugin.xml │ └── pluginIcon.svg │ ├── icons │ ├── attribute.svg │ ├── file.svg │ ├── kusion.svg │ ├── mixin.svg │ └── schema.svg │ └── messages │ ├── ActionsBundle_en.properties │ ├── ActionsBundle_zh.properties │ └── MyBundle.properties └── test └── testData ├── ParsingTestData.k ├── ParsingTestData.txt ├── ParsingTestDataCall.k ├── ParsingTestDataCall.txt ├── ParsingTestDataName.k ├── ParsingTestDataName.txt ├── ParsingTestDataProtocol.k └── ParsingTestDataProtocol.txt /.devcontainer/Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ubuntu:22.04 2 | 3 | # Prevent interactive prompts during package installation 4 | ENV DEBIAN_FRONTEND=noninteractive 5 | 6 | # Install required packages 7 | RUN apt-get update && apt-get install -y \ 8 | coreutils \ 9 | bash \ 10 | openjdk-17-jdk \ 11 | unzip \ 12 | wget \ 13 | git \ 14 | curl \ 15 | && rm -rf /var/lib/apt/lists/* 16 | 17 | # Install Gradle manually 18 | ENV GRADLE_VERSION=8.1 19 | RUN wget https://services.gradle.org/distributions/gradle-${GRADLE_VERSION}-bin.zip && \ 20 | unzip gradle-${GRADLE_VERSION}-bin.zip -d /opt && \ 21 | ln -s /opt/gradle-${GRADLE_VERSION}/bin/gradle /usr/local/bin/gradle && \ 22 | rm gradle-${GRADLE_VERSION}-bin.zip 23 | 24 | # Set up environment variables 25 | ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 26 | ENV GRADLE_HOME=/opt/gradle-8.1 27 | ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${JAVA_HOME}/bin:${GRADLE_HOME}/bin 28 | 29 | # Create a non-root user 30 | RUN useradd -ms /bin/bash devuser 31 | USER devuser 32 | WORKDIR /workspaces 33 | 34 | # Verify essential commands are in path 35 | SHELL ["/bin/bash", "-c"] 36 | RUN echo $PATH && \ 37 | which sleep && \ 38 | which java && \ 39 | which gradle -------------------------------------------------------------------------------- /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "KCL IntelliJ Dev Container", 3 | "build": { 4 | "dockerfile": "Dockerfile", 5 | "context": "." 6 | }, 7 | "remoteUser": "devuser", 8 | "workspaceMount": "source=${localWorkspaceFolder},target=/workspaces/${localWorkspaceFolderBasename},type=bind", 9 | "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", 10 | "customizations": { 11 | "vscode": { 12 | "extensions": [ 13 | "vscjava.vscode-java-pack", 14 | "vscjava.vscode-gradle", 15 | "redhat.java", 16 | "vscjava.vscode-maven", 17 | "vscjava.vscode-java-debug", 18 | "vscjava.vscode-java-test" 19 | ], 20 | "settings": { 21 | "java.jdt.ls.java.home": "/usr/lib/jvm/java-17-openjdk-amd64", 22 | "java.configuration.runtimes": [ 23 | { 24 | "name": "JavaSE-17", 25 | "path": "/usr/lib/jvm/java-17-openjdk-amd64", 26 | "default": true 27 | } 28 | ], 29 | "terminal.integrated.shell.linux": "/bin/bash", 30 | "terminal.integrated.defaultProfile.linux": "bash" 31 | } 32 | } 33 | }, 34 | "remoteEnv": { 35 | "JAVA_HOME": "/usr/lib/jvm/java-17-openjdk-amd64", 36 | "GRADLE_HOME": "/opt/gradle-8.1", 37 | "PATH": "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${JAVA_HOME}/bin:${GRADLE_HOME}/bin:${PATH}" 38 | }, 39 | "postStartCommand": "echo 'Container started successfully'" 40 | } -------------------------------------------------------------------------------- /.github/workflows/ci.yml: -------------------------------------------------------------------------------- 1 | name: Build and Test 2 | 3 | on: 4 | pull_request: 5 | push: 6 | branches: 7 | - main 8 | - "releases/*" 9 | 10 | jobs: 11 | build: 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout project sources 15 | uses: actions/checkout@v3 16 | # Set up Java environment for the next steps 17 | - name: Setup Java 18 | uses: actions/setup-java@v4 19 | with: 20 | distribution: zulu 21 | java-version: 17 22 | - name: Setup Gradle 23 | uses: gradle/gradle-build-action@v2 24 | - name: Run build with Gradle Wrapper 25 | run: make 26 | - name: Run test with Gradle Wrapper 27 | run: make test 28 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | # GitHub Actions Workflow created for handling the release process based on the draft release prepared with the Build workflow. 2 | # Running the publishPlugin task requires all following secrets to be provided: PUBLISH_TOKEN, PRIVATE_KEY, PRIVATE_KEY_PASSWORD, CERTIFICATE_CHAIN. 3 | # See https://plugins.jetbrains.com/docs/intellij/plugin-signing.html for more information. 4 | 5 | # Ref: https://github.com/JetBrains/intellij-platform-plugin-template 6 | 7 | name: Release 8 | on: 9 | release: 10 | types: [prereleased, released] 11 | push: 12 | branches: 13 | - "releases/*" 14 | 15 | jobs: 16 | 17 | # Prepare and publish the plugin to JetBrains Marketplace repository 18 | release: 19 | name: Publish Plugin 20 | runs-on: ubuntu-latest 21 | permissions: 22 | contents: write 23 | pull-requests: write 24 | steps: 25 | 26 | # Check out the current repository 27 | - name: Fetch Sources 28 | uses: actions/checkout@v4 29 | with: 30 | ref: ${{ github.event.release.tag_name }} 31 | 32 | # Set up Java environment for the next steps 33 | - name: Setup Java 34 | uses: actions/setup-java@v4 35 | with: 36 | distribution: zulu 37 | java-version: 17 38 | 39 | # Setup Gradle 40 | - name: Setup Gradle 41 | uses: gradle/actions/setup-gradle@v4 42 | with: 43 | gradle-home-cache-cleanup: true 44 | 45 | # Publish the plugin to JetBrains Marketplace 46 | - name: Publish Plugin 47 | env: 48 | PUBLISH_TOKEN: ${{ secrets.IDEA_PUBLISH_TOKEN }} 49 | CERTIFICATE_CHAIN: ${{ secrets.IDEA_CERTIFICATE_CHAIN }} 50 | PRIVATE_KEY: ${{ secrets.IDEA_PRIVATE_KEY }} 51 | PRIVATE_KEY_PASSWORD: ${{ secrets.IDEA_PRIVATE_KEY_PASSWORD }} 52 | run: ./gradlew publishPlugin 53 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .qodana 3 | target/ 4 | build/ 5 | out/ 6 | .project 7 | .classpath 8 | .settings/ 9 | .gradle/ 10 | *.iml 11 | *.ipr 12 | *.iws 13 | git.properties 14 | application.pid 15 | .DS_Store 16 | *.*~ 17 | /tmp 18 | bin/ 19 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## [Unreleased] 4 | ### Fixed 5 | - Fixed the issue where kcl commands were not searched in the PATH environment variable. 6 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | default: 2 | ./gradlew build 3 | 4 | run: 5 | ./gradlew runIde 6 | 7 | test: 8 | ./gradlew test 9 | 10 | verify: 11 | ./gradlew verifyPluginConfiguration -------------------------------------------------------------------------------- /docs/img/format-directory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcl-lang/intellij-kcl/11cc8d57a6e0a20cec4c52de4e0cc57812988d48/docs/img/format-directory.png -------------------------------------------------------------------------------- /docs/img/format-file.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcl-lang/intellij-kcl/11cc8d57a6e0a20cec4c52de4e0cc57812988d48/docs/img/format-file.png -------------------------------------------------------------------------------- /docs/img/format-project.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcl-lang/intellij-kcl/11cc8d57a6e0a20cec4c52de4e0cc57812988d48/docs/img/format-project.png -------------------------------------------------------------------------------- /docs/img/gradle_tool_window.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcl-lang/intellij-kcl/11cc8d57a6e0a20cec4c52de4e0cc57812988d48/docs/img/gradle_tool_window.jpg -------------------------------------------------------------------------------- /docs/img/highlight.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcl-lang/intellij-kcl/11cc8d57a6e0a20cec4c52de4e0cc57812988d48/docs/img/highlight.jpg -------------------------------------------------------------------------------- /docs/img/how-to-install.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcl-lang/intellij-kcl/11cc8d57a6e0a20cec4c52de4e0cc57812988d48/docs/img/how-to-install.gif -------------------------------------------------------------------------------- /docs/img/preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcl-lang/intellij-kcl/11cc8d57a6e0a20cec4c52de4e0cc57812988d48/docs/img/preview.png -------------------------------------------------------------------------------- /gradle.properties: -------------------------------------------------------------------------------- 1 | # IntelliJ Platform Artifacts Repositories -> https://plugins.jetbrains.com/docs/intellij/intellij-artifacts.html 2 | 3 | pluginGroup = io.kusionstack.kcl 4 | pluginName = kcl 5 | pluginRepositoryUrl = https://github.com/KusionStack/intellij-kcl 6 | # SemVer format -> https://semver.org 7 | pluginVersion = 0.4.1 8 | 9 | # Supported build number ranges and IntelliJ Platform versions -> https://plugins.jetbrains.com/docs/intellij/build-number-ranges.html 10 | pluginSinceBuild = 232 11 | # pluginUntilBuild = 233.* 12 | 13 | # IntelliJ Platform Properties -> https://plugins.jetbrains.com/docs/intellij/tools-gradle-intellij-plugin.html#configuration-intellij-extension 14 | platformType = IC 15 | platformVersion = 2023.3.3 16 | 17 | # Plugin Dependencies -> https://plugins.jetbrains.com/docs/intellij/plugin-dependencies.html 18 | # Example: platformPlugins = com.intellij.java, com.jetbrains.php:203.4449.22 19 | platformBundledPlugins = 20 | 21 | platformPlugins = com.redhat.devtools.lsp4ij:0.6.0 22 | 23 | # Gradle Releases -> https://github.com/gradle/gradle/releases 24 | gradleVersion = 8.10.2 25 | 26 | # Opt-out flag for bundling Kotlin standard library -> https://jb.gg/intellij-platform-kotlin-stdlib 27 | kotlin.stdlib.default.dependency = false 28 | 29 | # Enable Gradle Configuration Cache -> https://docs.gradle.org/current/userguide/configuration_cache.html 30 | org.gradle.configuration-cache = true 31 | 32 | # Enable Gradle Build Cache -> https://docs.gradle.org/current/userguide/build_cache.html 33 | org.gradle.caching = true 34 | 35 | # Enable Gradle Kotlin DSL Lazy Property Assignment -> https://docs.gradle.org/current/userguide/kotlin_dsl.html#kotdsl:assignment 36 | systemProp.org.gradle.unsafe.kotlin.assignment = true 37 | 38 | # Temporary workaround for Kotlin Compiler OutOfMemoryError -> https://jb.gg/intellij-platform-kotlin-oom 39 | kotlin.incremental.useClasspathSnapshot = false 40 | -------------------------------------------------------------------------------- /gradle/libs.versions.toml: -------------------------------------------------------------------------------- 1 | [versions] 2 | # libraries 3 | annotations = "24.0.1" 4 | 5 | # plugins 6 | dokka = "1.9.24" 7 | kotlin = "1.8.20" 8 | changelog = "2.0.0" 9 | intelliJPlatformGradlePlugin = "2.1.0" 10 | qodana = "0.1.13" 11 | kover = "0.6.1" 12 | 13 | [libraries] 14 | annotations = { group = "org.jetbrains", name = "annotations", version.ref = "annotations" } 15 | 16 | [plugins] 17 | changelog = { id = "org.jetbrains.changelog", version.ref = "changelog" } 18 | dokka = { id = "org.jetbrains.dokka", version.ref = "dokka" } 19 | intelliJPlatformGradlePlugin = { id = "org.jetbrains.intellij.platform", version.ref = "intelliJPlatformGradlePlugin" } 20 | kotlin = { id = "org.jetbrains.kotlin.jvm", version.ref = "kotlin" } 21 | kover = { id = "org.jetbrains.kotlinx.kover", version.ref = "kover" } 22 | qodana = { id = "org.jetbrains.qodana", version.ref = "qodana" } 23 | -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcl-lang/intellij-kcl/11cc8d57a6e0a20cec4c52de4e0cc57812988d48/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.10.2-bin.zip 4 | networkTimeout=10000 5 | zipStoreBase=GRADLE_USER_HOME 6 | zipStorePath=wrapper/dists 7 | -------------------------------------------------------------------------------- /jflex-1.7.0-2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcl-lang/intellij-kcl/11cc8d57a6e0a20cec4c52de4e0cc57812988d48/jflex-1.7.0-2.jar -------------------------------------------------------------------------------- /qodana.yml: -------------------------------------------------------------------------------- 1 | # Qodana configuration: 2 | # https://www.jetbrains.com/help/qodana/qodana-yaml.html 3 | 4 | version: 1.0 5 | profile: 6 | name: qodana.recommended 7 | exclude: 8 | - name: All 9 | paths: 10 | - .qodana 11 | -------------------------------------------------------------------------------- /settings.gradle.kts: -------------------------------------------------------------------------------- 1 | rootProject.name = "intellij-kcl" 2 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLAndExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLAndExpr extends KCLElement { 9 | 10 | @NotNull 11 | List getShiftExprList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLAndTest.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLAndTest extends KCLElement { 9 | 10 | @NotNull 11 | List getNotTestList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLArgument.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLArgument extends KCLElement { 9 | 10 | @Nullable 11 | KCLSingleName getSingleName(); 12 | 13 | @NotNull 14 | KCLTest getTest(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLArguments.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLArguments extends KCLElement { 9 | 10 | @NotNull 11 | List getArgumentList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLArithExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLArithExpr extends KCLElement { 9 | 10 | @NotNull 11 | List getTermList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLAssertStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLAssertStmt extends KCLElement { 9 | 10 | @NotNull 11 | List getTestList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLAssignStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLAssignStmt extends KCLElement { 9 | 10 | @NotNull 11 | List getIdentifierList(); 12 | 13 | @NotNull 14 | KCLTest getTest(); 15 | 16 | @Nullable 17 | KCLType getType(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLAttributeStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLAttributeStmt extends KCLElement { 9 | 10 | @Nullable 11 | KCLDecorators getDecorators(); 12 | 13 | @NotNull 14 | KCLSingleName getSingleName(); 15 | 16 | @Nullable 17 | KCLTest getTest(); 18 | 19 | @NotNull 20 | KCLType getType(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLBasicType.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLBasicType extends KCLElement { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLCallSuffix.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLCallSuffix extends KCLElement { 9 | 10 | @Nullable 11 | KCLArguments getArguments(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLCheckBlock.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLCheckBlock extends KCLElement { 9 | 10 | @NotNull 11 | List getCheckExprList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLCheckExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLCheckExpr extends KCLElement { 9 | 10 | @NotNull 11 | KCLCheckTest getCheckTest(); 12 | 13 | @Nullable 14 | KCLPrimaryExpr getPrimaryExpr(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLCheckTest.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLCheckTest extends KCLElement { 9 | 10 | @NotNull 11 | List getSimpleExprList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLCompClause.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLCompClause extends KCLElement { 9 | 10 | @NotNull 11 | KCLLoopVariables getLoopVariables(); 12 | 13 | @NotNull 14 | KCLSimpleExpr getSimpleExpr(); 15 | 16 | @Nullable 17 | KCLTest getTest(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLComparison.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLComparison extends KCLElement { 9 | 10 | @NotNull 11 | List getExprList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLCompoundStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLCompoundStmt extends KCLElement { 9 | 10 | @Nullable 11 | KCLIfStmt getIfStmt(); 12 | 13 | @Nullable 14 | KCLSchemaStmt getSchemaStmt(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLCompoundType.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLCompoundType extends KCLElement { 9 | 10 | @Nullable 11 | KCLDictType getDictType(); 12 | 13 | @Nullable 14 | KCLListType getListType(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLConfigEntries.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLConfigEntries extends KCLElement { 9 | 10 | @NotNull 11 | List getConfigEntryList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLConfigEntry.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLConfigEntry extends KCLElement { 9 | 10 | @Nullable 11 | KCLDoubleStarExpr getDoubleStarExpr(); 12 | 13 | @Nullable 14 | KCLIfEntry getIfEntry(); 15 | 16 | @NotNull 17 | List getTestList(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLConfigExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLConfigExpr extends KCLElement { 9 | 10 | @Nullable 11 | KCLConfigEntries getConfigEntries(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLDecoratorExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLDecoratorExpr extends KCLElement { 9 | 10 | @Nullable 11 | KCLCallSuffix getCallSuffix(); 12 | 13 | @NotNull 14 | KCLIdentifier getIdentifier(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLDecorators.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLDecorators extends KCLElement { 9 | 10 | @NotNull 11 | List getDecoratorExprList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLDictComp.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLDictComp extends KCLScopeOwner { 9 | 10 | @NotNull 11 | List getCompClauseList(); 12 | 13 | @NotNull 14 | KCLEntry getEntry(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLDictType.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLDictType extends KCLElement { 9 | 10 | @NotNull 11 | List getTypeList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLDotName.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLDotName extends KCLElement { 9 | 10 | @NotNull 11 | KCLIdentifier getIdentifier(); 12 | 13 | @Nullable 14 | KCLLeadingDots getLeadingDots(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLDoubleStarExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLDoubleStarExpr extends KCLElement { 9 | 10 | @NotNull 11 | KCLPrimaryExpr getPrimaryExpr(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLEntry.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLEntry extends KCLElement { 9 | 10 | @Nullable 11 | KCLDoubleStarExpr getDoubleStarExpr(); 12 | 13 | @Nullable 14 | KCLIfEntry getIfEntry(); 15 | 16 | @NotNull 17 | List getTestList(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLExecutionBlock.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLExecutionBlock extends KCLElement { 9 | 10 | @Nullable 11 | KCLIfSimpleStmt getIfSimpleStmt(); 12 | 13 | @NotNull 14 | List getSchemaInitStmtList(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLExpr extends KCLElement { 9 | 10 | @NotNull 11 | List getXorExprList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLExprStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLExprStmt extends KCLElement { 9 | 10 | @NotNull 11 | KCLTestlistExpr getTestlistExpr(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLFactor.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLFactor extends KCLElement { 9 | 10 | @Nullable 11 | KCLFactor getFactor(); 12 | 13 | @Nullable 14 | KCLPower getPower(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLForMixinHost.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLForMixinHost extends KCLElement { 9 | 10 | @NotNull 11 | KCLIdentifier getIdentifier(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLIdentifier.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLIdentifier extends KCLElement { 9 | 10 | @NotNull 11 | List getSingleNameList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLIfEntry.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLIfEntry extends KCLElement { 9 | 10 | @NotNull 11 | List getIfEntryExecBlockList(); 12 | 13 | @NotNull 14 | List getTestList(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLIfEntryExecBlock.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLIfEntryExecBlock extends KCLElement { 9 | 10 | @NotNull 11 | List getDoubleStarExprList(); 12 | 13 | @NotNull 14 | List getIfEntryList(); 15 | 16 | @NotNull 17 | List getTestList(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLIfExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLIfExpr extends KCLElement { 9 | 10 | @NotNull 11 | List getSimpleExprList(); 12 | 13 | @NotNull 14 | KCLTest getTest(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLIfItem.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLIfItem extends KCLElement { 9 | 10 | @NotNull 11 | List getIfItemExecBlockList(); 12 | 13 | @NotNull 14 | List getTestList(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLIfItemExecBlock.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLIfItemExecBlock extends KCLElement { 9 | 10 | @NotNull 11 | List getListItemList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLIfSimpleStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLIfSimpleStmt extends KCLElement { 9 | 10 | @Nullable 11 | KCLAssertStmt getAssertStmt(); 12 | 13 | @Nullable 14 | KCLExprStmt getExprStmt(); 15 | 16 | @Nullable 17 | KCLSimpleAssignStmt getSimpleAssignStmt(); 18 | 19 | @Nullable 20 | KCLUnificationStmt getUnificationStmt(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLIfStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLIfStmt extends KCLElement { 9 | 10 | @NotNull 11 | List getExecutionBlockList(); 12 | 13 | @NotNull 14 | List getTestList(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLImportStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLImportStmt extends KCLElement { 9 | 10 | @Nullable 11 | KCLDotName getDotName(); 12 | 13 | @Nullable 14 | KCLSingleName getSingleName(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLLambdaExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLLambdaExpr extends KCLElement { 9 | 10 | @Nullable 11 | KCLExprStmt getExprStmt(); 12 | 13 | @Nullable 14 | KCLSchemaArguments getSchemaArguments(); 15 | 16 | @NotNull 17 | List getSchemaInitStmtList(); 18 | 19 | @Nullable 20 | KCLType getType(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLLeadingDots.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLLeadingDots extends KCLElement { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLListComp.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLListComp extends KCLScopeOwner { 9 | 10 | @NotNull 11 | List getCompClauseList(); 12 | 13 | @NotNull 14 | KCLListItem getListItem(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLListExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLListExpr extends KCLElement { 9 | 10 | @Nullable 11 | KCLListItems getListItems(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLListItem.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLListItem extends KCLElement { 9 | 10 | @Nullable 11 | KCLIfItem getIfItem(); 12 | 13 | @Nullable 14 | KCLStarExpr getStarExpr(); 15 | 16 | @Nullable 17 | KCLTest getTest(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLListItems.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLListItems extends KCLElement { 9 | 10 | @NotNull 11 | List getListItemList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLListType.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLListType extends KCLElement { 9 | 10 | @Nullable 11 | KCLType getType(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLLiteralType.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLLiteralType extends KCLElement { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLLoopVariables.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLLoopVariables extends KCLElement { 9 | 10 | @NotNull 11 | List getPrimaryExprList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLMixinStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLMixinStmt extends KCLElement { 9 | 10 | @Nullable 11 | KCLMixins getMixins(); 12 | 13 | @Nullable 14 | KCLMultilineMixins getMultilineMixins(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLMixins.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLMixins extends KCLElement { 9 | 10 | @NotNull 11 | List getIdentifierList(); 12 | 13 | @NotNull 14 | List getMixinsList(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLMultilineMixins.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLMultilineMixins extends KCLElement { 9 | 10 | @NotNull 11 | KCLMixins getMixins(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLNotTest.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLNotTest extends KCLElement { 9 | 10 | @Nullable 11 | KCLComparison getComparison(); 12 | 13 | @Nullable 14 | KCLNotTest getNotTest(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLOperand.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLOperand extends KCLElement { 9 | 10 | @Nullable 11 | KCLConfigExpr getConfigExpr(); 12 | 13 | @Nullable 14 | KCLDictComp getDictComp(); 15 | 16 | @Nullable 17 | KCLIdentifier getIdentifier(); 18 | 19 | @Nullable 20 | KCLLambdaExpr getLambdaExpr(); 21 | 22 | @Nullable 23 | KCLListComp getListComp(); 24 | 25 | @Nullable 26 | KCLListExpr getListExpr(); 27 | 28 | @Nullable 29 | KCLQuantExpr getQuantExpr(); 30 | 31 | @Nullable 32 | KCLSchemaExpr getSchemaExpr(); 33 | 34 | @Nullable 35 | KCLTest getTest(); 36 | 37 | @Nullable 38 | KCLTypeCastExpr getTypeCastExpr(); 39 | 40 | } 41 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLPower.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLPower extends KCLElement { 9 | 10 | @Nullable 11 | KCLFactor getFactor(); 12 | 13 | @NotNull 14 | KCLPrimaryExpr getPrimaryExpr(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLPrimaryExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLPrimaryExpr extends KCLElement { 9 | 10 | @NotNull 11 | List getCallSuffixList(); 12 | 13 | @NotNull 14 | KCLOperand getOperand(); 15 | 16 | @NotNull 17 | List getSelectSuffixList(); 18 | 19 | @NotNull 20 | List getSliceSuffixList(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLQuantExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLQuantExpr extends KCLElement { 9 | 10 | @NotNull 11 | List getIdentifierList(); 12 | 13 | @NotNull 14 | KCLQuantOp getQuantOp(); 15 | 16 | @NotNull 17 | KCLQuantTarget getQuantTarget(); 18 | 19 | @NotNull 20 | List getSimpleExprList(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLQuantOp.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLQuantOp extends KCLElement { 9 | 10 | } 11 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLQuantTarget.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLQuantTarget extends KCLElement { 9 | 10 | @Nullable 11 | KCLConfigExpr getConfigExpr(); 12 | 13 | @Nullable 14 | KCLDictComp getDictComp(); 15 | 16 | @Nullable 17 | KCLIdentifier getIdentifier(); 18 | 19 | @Nullable 20 | KCLListComp getListComp(); 21 | 22 | @Nullable 23 | KCLListExpr getListExpr(); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSchemaArgument.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSchemaArgument extends KCLElement { 9 | 10 | @NotNull 11 | KCLSingleName getSingleName(); 12 | 13 | @Nullable 14 | KCLTest getTest(); 15 | 16 | @Nullable 17 | KCLType getType(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSchemaArguments.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSchemaArguments extends KCLElement { 9 | 10 | @NotNull 11 | List getSchemaArgumentList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSchemaAttributeStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSchemaAttributeStmt extends KCLElement { 9 | 10 | @NotNull 11 | KCLAttributeStmt getAttributeStmt(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSchemaBody.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSchemaBody extends KCLElement { 9 | 10 | @Nullable 11 | KCLCheckBlock getCheckBlock(); 12 | 13 | @Nullable 14 | KCLMixinStmt getMixinStmt(); 15 | 16 | @NotNull 17 | List getSchemaAttributeStmtList(); 18 | 19 | @NotNull 20 | List getSchemaIndexSignatureList(); 21 | 22 | @NotNull 23 | List getSchemaInitStmtList(); 24 | 25 | } 26 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSchemaExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSchemaExpr extends KCLElement { 9 | 10 | @Nullable 11 | KCLArguments getArguments(); 12 | 13 | @NotNull 14 | KCLConfigExpr getConfigExpr(); 15 | 16 | @NotNull 17 | KCLIdentifier getIdentifier(); 18 | 19 | } 20 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSchemaIndexSignature.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSchemaIndexSignature extends KCLElement { 9 | 10 | @NotNull 11 | KCLBasicType getBasicType(); 12 | 13 | @Nullable 14 | KCLSingleName getSingleName(); 15 | 16 | @Nullable 17 | KCLTest getTest(); 18 | 19 | @NotNull 20 | KCLType getType(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSchemaInitStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSchemaInitStmt extends KCLElement { 9 | 10 | @Nullable 11 | KCLIfSimpleStmt getIfSimpleStmt(); 12 | 13 | @Nullable 14 | KCLIfStmt getIfStmt(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSchemaStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | import com.intellij.navigation.ItemPresentation; 8 | 9 | public interface KCLSchemaStmt extends KCLScopeOwner, KCLNamedElement { 10 | 11 | @Nullable 12 | KCLDecorators getDecorators(); 13 | 14 | @Nullable 15 | KCLForMixinHost getForMixinHost(); 16 | 17 | @NotNull 18 | List getIdentifierList(); 19 | 20 | @Nullable 21 | KCLSchemaArguments getSchemaArguments(); 22 | 23 | @Nullable 24 | KCLSchemaBody getSchemaBody(); 25 | 26 | @NotNull 27 | KCLSingleName getSingleName(); 28 | 29 | @NotNull String getName(); 30 | 31 | PsiElement setName(@NotNull String newName); 32 | 33 | KCLSingleName getNameIdentifier(); 34 | 35 | @NotNull ItemPresentation getPresentation(); 36 | 37 | KCLIdentifier getSuperSchema(); 38 | 39 | } 40 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSchemaType.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSchemaType extends KCLElement { 9 | 10 | @NotNull 11 | KCLIdentifier getIdentifier(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSelectSuffix.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSelectSuffix extends KCLElement { 9 | 10 | @NotNull 11 | KCLSingleName getSingleName(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLShiftExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLShiftExpr extends KCLElement { 9 | 10 | @NotNull 11 | List getArithExprList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSimpleAssignStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSimpleAssignStmt extends KCLElement { 9 | 10 | @NotNull 11 | KCLIdentifier getIdentifier(); 12 | 13 | @NotNull 14 | KCLTest getTest(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSimpleExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSimpleExpr extends KCLElement { 9 | 10 | @NotNull 11 | List getAndTestList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSimpleStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSimpleStmt extends KCLElement { 9 | 10 | @Nullable 11 | KCLAssertStmt getAssertStmt(); 12 | 13 | @Nullable 14 | KCLAssignStmt getAssignStmt(); 15 | 16 | @Nullable 17 | KCLExprStmt getExprStmt(); 18 | 19 | @Nullable 20 | KCLImportStmt getImportStmt(); 21 | 22 | @Nullable 23 | KCLTypeAliasStmt getTypeAliasStmt(); 24 | 25 | @Nullable 26 | KCLUnificationStmt getUnificationStmt(); 27 | 28 | } 29 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSingleName.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | import com.intellij.navigation.ItemPresentation; 8 | 9 | public interface KCLSingleName extends KCLNamedElement { 10 | 11 | @NotNull String getName(); 12 | 13 | PsiElement setName(@NotNull String newName); 14 | 15 | KCLSingleName getNameIdentifier(); 16 | 17 | @NotNull ItemPresentation getPresentation(); 18 | 19 | KCLNameReference getReference(); 20 | 21 | } 22 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLSliceSuffix.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLSliceSuffix extends KCLElement { 9 | 10 | @NotNull 11 | List getTestList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLStarExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLStarExpr extends KCLElement { 9 | 10 | @NotNull 11 | KCLPrimaryExpr getPrimaryExpr(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLStatement.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLStatement extends KCLElement { 9 | 10 | @Nullable 11 | KCLCompoundStmt getCompoundStmt(); 12 | 13 | @Nullable 14 | KCLSimpleStmt getSimpleStmt(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLTerm.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLTerm extends KCLElement { 9 | 10 | @NotNull 11 | List getFactorList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLTest.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLTest extends KCLElement { 9 | 10 | @Nullable 11 | KCLIfExpr getIfExpr(); 12 | 13 | @Nullable 14 | KCLSimpleExpr getSimpleExpr(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLTestlistExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLTestlistExpr extends KCLElement { 9 | 10 | @NotNull 11 | List getTestList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLType.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLType extends KCLElement { 9 | 10 | @NotNull 11 | List getTypeElementList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLTypeAliasStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLTypeAliasStmt extends KCLElement { 9 | 10 | @NotNull 11 | KCLSingleName getSingleName(); 12 | 13 | @NotNull 14 | KCLType getType(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLTypeCastExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLTypeCastExpr extends KCLElement { 9 | 10 | @NotNull 11 | KCLBasicType getBasicType(); 12 | 13 | @NotNull 14 | KCLTest getTest(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLTypeElement.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLTypeElement extends KCLElement { 9 | 10 | @Nullable 11 | KCLBasicType getBasicType(); 12 | 13 | @Nullable 14 | KCLCompoundType getCompoundType(); 15 | 16 | @Nullable 17 | KCLLiteralType getLiteralType(); 18 | 19 | @Nullable 20 | KCLSchemaType getSchemaType(); 21 | 22 | } 23 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLUnificationStmt.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLUnificationStmt extends KCLElement { 9 | 10 | @NotNull 11 | KCLIdentifier getIdentifier(); 12 | 13 | @NotNull 14 | KCLSchemaExpr getSchemaExpr(); 15 | 16 | } 17 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/KCLXorExpr.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.psi.PsiElement; 7 | 8 | public interface KCLXorExpr extends KCLElement { 9 | 10 | @NotNull 11 | List getAndExprList(); 12 | 13 | } 14 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLAndExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLAndExprImpl extends ASTWrapperPsiElement implements KCLAndExpr { 15 | 16 | public KCLAndExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitAndExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getShiftExprList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLShiftExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLAndTestImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLAndTestImpl extends ASTWrapperPsiElement implements KCLAndTest { 15 | 16 | public KCLAndTestImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitAndTest(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getNotTestList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLNotTest.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLArgumentImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLArgumentImpl extends ASTWrapperPsiElement implements KCLArgument { 15 | 16 | public KCLArgumentImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitArgument(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLSingleName getSingleName() { 33 | return findChildByClass(KCLSingleName.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLTest getTest() { 39 | return findNotNullChildByClass(KCLTest.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLArgumentsImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLArgumentsImpl extends ASTWrapperPsiElement implements KCLArguments { 15 | 16 | public KCLArgumentsImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitArguments(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getArgumentList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLArgument.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLArithExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLArithExprImpl extends ASTWrapperPsiElement implements KCLArithExpr { 15 | 16 | public KCLArithExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitArithExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getTermList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLTerm.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLAssertStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLAssertStmtImpl extends ASTWrapperPsiElement implements KCLAssertStmt { 15 | 16 | public KCLAssertStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitAssertStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getTestList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLTest.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLAssignStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLAssignStmtImpl extends ASTWrapperPsiElement implements KCLAssignStmt { 15 | 16 | public KCLAssignStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitAssignStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getIdentifierList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLIdentifier.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLTest getTest() { 39 | return findNotNullChildByClass(KCLTest.class); 40 | } 41 | 42 | @Override 43 | @Nullable 44 | public KCLType getType() { 45 | return findChildByClass(KCLType.class); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLAttributeStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLAttributeStmtImpl extends ASTWrapperPsiElement implements KCLAttributeStmt { 15 | 16 | public KCLAttributeStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitAttributeStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLDecorators getDecorators() { 33 | return findChildByClass(KCLDecorators.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLSingleName getSingleName() { 39 | return findNotNullChildByClass(KCLSingleName.class); 40 | } 41 | 42 | @Override 43 | @Nullable 44 | public KCLTest getTest() { 45 | return findChildByClass(KCLTest.class); 46 | } 47 | 48 | @Override 49 | @NotNull 50 | public KCLType getType() { 51 | return findNotNullChildByClass(KCLType.class); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLBasicTypeImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLBasicTypeImpl extends ASTWrapperPsiElement implements KCLBasicType { 15 | 16 | public KCLBasicTypeImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitBasicType(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLCallSuffixImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLCallSuffixImpl extends ASTWrapperPsiElement implements KCLCallSuffix { 15 | 16 | public KCLCallSuffixImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitCallSuffix(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLArguments getArguments() { 33 | return findChildByClass(KCLArguments.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLCheckBlockImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLCheckBlockImpl extends ASTWrapperPsiElement implements KCLCheckBlock { 15 | 16 | public KCLCheckBlockImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitCheckBlock(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getCheckExprList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLCheckExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLCheckExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLCheckExprImpl extends ASTWrapperPsiElement implements KCLCheckExpr { 15 | 16 | public KCLCheckExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitCheckExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLCheckTest getCheckTest() { 33 | return findNotNullChildByClass(KCLCheckTest.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLPrimaryExpr getPrimaryExpr() { 39 | return findChildByClass(KCLPrimaryExpr.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLCheckTestImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLCheckTestImpl extends ASTWrapperPsiElement implements KCLCheckTest { 15 | 16 | public KCLCheckTestImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitCheckTest(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getSimpleExprList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSimpleExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLCompClauseImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLCompClauseImpl extends ASTWrapperPsiElement implements KCLCompClause { 15 | 16 | public KCLCompClauseImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitCompClause(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLLoopVariables getLoopVariables() { 33 | return findNotNullChildByClass(KCLLoopVariables.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLSimpleExpr getSimpleExpr() { 39 | return findNotNullChildByClass(KCLSimpleExpr.class); 40 | } 41 | 42 | @Override 43 | @Nullable 44 | public KCLTest getTest() { 45 | return findChildByClass(KCLTest.class); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLComparisonImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLComparisonImpl extends ASTWrapperPsiElement implements KCLComparison { 15 | 16 | public KCLComparisonImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitComparison(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getExprList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLCompoundStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLCompoundStmtImpl extends ASTWrapperPsiElement implements KCLCompoundStmt { 15 | 16 | public KCLCompoundStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitCompoundStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLIfStmt getIfStmt() { 33 | return findChildByClass(KCLIfStmt.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLSchemaStmt getSchemaStmt() { 39 | return findChildByClass(KCLSchemaStmt.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLCompoundTypeImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLCompoundTypeImpl extends ASTWrapperPsiElement implements KCLCompoundType { 15 | 16 | public KCLCompoundTypeImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitCompoundType(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLDictType getDictType() { 33 | return findChildByClass(KCLDictType.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLListType getListType() { 39 | return findChildByClass(KCLListType.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLConfigEntriesImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLConfigEntriesImpl extends ASTWrapperPsiElement implements KCLConfigEntries { 15 | 16 | public KCLConfigEntriesImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitConfigEntries(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getConfigEntryList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLConfigEntry.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLConfigEntryImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLConfigEntryImpl extends ASTWrapperPsiElement implements KCLConfigEntry { 15 | 16 | public KCLConfigEntryImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitConfigEntry(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLDoubleStarExpr getDoubleStarExpr() { 33 | return findChildByClass(KCLDoubleStarExpr.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLIfEntry getIfEntry() { 39 | return findChildByClass(KCLIfEntry.class); 40 | } 41 | 42 | @Override 43 | @NotNull 44 | public List getTestList() { 45 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLTest.class); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLConfigExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLConfigExprImpl extends ASTWrapperPsiElement implements KCLConfigExpr { 15 | 16 | public KCLConfigExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitConfigExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLConfigEntries getConfigEntries() { 33 | return findChildByClass(KCLConfigEntries.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLDecoratorExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLDecoratorExprImpl extends ASTWrapperPsiElement implements KCLDecoratorExpr { 15 | 16 | public KCLDecoratorExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitDecoratorExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLCallSuffix getCallSuffix() { 33 | return findChildByClass(KCLCallSuffix.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLIdentifier getIdentifier() { 39 | return findNotNullChildByClass(KCLIdentifier.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLDecoratorsImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLDecoratorsImpl extends ASTWrapperPsiElement implements KCLDecorators { 15 | 16 | public KCLDecoratorsImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitDecorators(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getDecoratorExprList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLDecoratorExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLDictCompImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLDictCompImpl extends ASTWrapperPsiElement implements KCLDictComp { 15 | 16 | public KCLDictCompImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitDictComp(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getCompClauseList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLCompClause.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLEntry getEntry() { 39 | return findNotNullChildByClass(KCLEntry.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLDictTypeImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLDictTypeImpl extends ASTWrapperPsiElement implements KCLDictType { 15 | 16 | public KCLDictTypeImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitDictType(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getTypeList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLType.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLDotNameImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLDotNameImpl extends ASTWrapperPsiElement implements KCLDotName { 15 | 16 | public KCLDotNameImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitDotName(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLIdentifier getIdentifier() { 33 | return findNotNullChildByClass(KCLIdentifier.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLLeadingDots getLeadingDots() { 39 | return findChildByClass(KCLLeadingDots.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLDoubleStarExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLDoubleStarExprImpl extends ASTWrapperPsiElement implements KCLDoubleStarExpr { 15 | 16 | public KCLDoubleStarExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitDoubleStarExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLPrimaryExpr getPrimaryExpr() { 33 | return findNotNullChildByClass(KCLPrimaryExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLEntryImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLEntryImpl extends ASTWrapperPsiElement implements KCLEntry { 15 | 16 | public KCLEntryImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitEntry(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLDoubleStarExpr getDoubleStarExpr() { 33 | return findChildByClass(KCLDoubleStarExpr.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLIfEntry getIfEntry() { 39 | return findChildByClass(KCLIfEntry.class); 40 | } 41 | 42 | @Override 43 | @NotNull 44 | public List getTestList() { 45 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLTest.class); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLExecutionBlockImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLExecutionBlockImpl extends ASTWrapperPsiElement implements KCLExecutionBlock { 15 | 16 | public KCLExecutionBlockImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitExecutionBlock(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLIfSimpleStmt getIfSimpleStmt() { 33 | return findChildByClass(KCLIfSimpleStmt.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public List getSchemaInitStmtList() { 39 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSchemaInitStmt.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLExprImpl extends ASTWrapperPsiElement implements KCLExpr { 15 | 16 | public KCLExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getXorExprList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLXorExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLExprStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLExprStmtImpl extends ASTWrapperPsiElement implements KCLExprStmt { 15 | 16 | public KCLExprStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitExprStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLTestlistExpr getTestlistExpr() { 33 | return findNotNullChildByClass(KCLTestlistExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLFactorImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLFactorImpl extends ASTWrapperPsiElement implements KCLFactor { 15 | 16 | public KCLFactorImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitFactor(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLFactor getFactor() { 33 | return findChildByClass(KCLFactor.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLPower getPower() { 39 | return findChildByClass(KCLPower.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLForMixinHostImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLForMixinHostImpl extends ASTWrapperPsiElement implements KCLForMixinHost { 15 | 16 | public KCLForMixinHostImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitForMixinHost(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLIdentifier getIdentifier() { 33 | return findNotNullChildByClass(KCLIdentifier.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLIdentifierImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLIdentifierImpl extends ASTWrapperPsiElement implements KCLIdentifier { 15 | 16 | public KCLIdentifierImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitIdentifier(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getSingleNameList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSingleName.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLIfEntryExecBlockImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLIfEntryExecBlockImpl extends ASTWrapperPsiElement implements KCLIfEntryExecBlock { 15 | 16 | public KCLIfEntryExecBlockImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitIfEntryExecBlock(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getDoubleStarExprList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLDoubleStarExpr.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public List getIfEntryList() { 39 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLIfEntry.class); 40 | } 41 | 42 | @Override 43 | @NotNull 44 | public List getTestList() { 45 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLTest.class); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLIfEntryImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLIfEntryImpl extends ASTWrapperPsiElement implements KCLIfEntry { 15 | 16 | public KCLIfEntryImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitIfEntry(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getIfEntryExecBlockList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLIfEntryExecBlock.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public List getTestList() { 39 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLTest.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLIfExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLIfExprImpl extends ASTWrapperPsiElement implements KCLIfExpr { 15 | 16 | public KCLIfExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitIfExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getSimpleExprList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSimpleExpr.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLTest getTest() { 39 | return findNotNullChildByClass(KCLTest.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLIfItemExecBlockImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLIfItemExecBlockImpl extends ASTWrapperPsiElement implements KCLIfItemExecBlock { 15 | 16 | public KCLIfItemExecBlockImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitIfItemExecBlock(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getListItemList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLListItem.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLIfItemImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLIfItemImpl extends ASTWrapperPsiElement implements KCLIfItem { 15 | 16 | public KCLIfItemImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitIfItem(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getIfItemExecBlockList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLIfItemExecBlock.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public List getTestList() { 39 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLTest.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLIfSimpleStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLIfSimpleStmtImpl extends ASTWrapperPsiElement implements KCLIfSimpleStmt { 15 | 16 | public KCLIfSimpleStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitIfSimpleStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLAssertStmt getAssertStmt() { 33 | return findChildByClass(KCLAssertStmt.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLExprStmt getExprStmt() { 39 | return findChildByClass(KCLExprStmt.class); 40 | } 41 | 42 | @Override 43 | @Nullable 44 | public KCLSimpleAssignStmt getSimpleAssignStmt() { 45 | return findChildByClass(KCLSimpleAssignStmt.class); 46 | } 47 | 48 | @Override 49 | @Nullable 50 | public KCLUnificationStmt getUnificationStmt() { 51 | return findChildByClass(KCLUnificationStmt.class); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLIfStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLIfStmtImpl extends ASTWrapperPsiElement implements KCLIfStmt { 15 | 16 | public KCLIfStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitIfStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getExecutionBlockList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLExecutionBlock.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public List getTestList() { 39 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLTest.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLImportStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLImportStmtImpl extends ASTWrapperPsiElement implements KCLImportStmt { 15 | 16 | public KCLImportStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitImportStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLDotName getDotName() { 33 | return findChildByClass(KCLDotName.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLSingleName getSingleName() { 39 | return findChildByClass(KCLSingleName.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLLambdaExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLLambdaExprImpl extends ASTWrapperPsiElement implements KCLLambdaExpr { 15 | 16 | public KCLLambdaExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitLambdaExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLExprStmt getExprStmt() { 33 | return findChildByClass(KCLExprStmt.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLSchemaArguments getSchemaArguments() { 39 | return findChildByClass(KCLSchemaArguments.class); 40 | } 41 | 42 | @Override 43 | @NotNull 44 | public List getSchemaInitStmtList() { 45 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSchemaInitStmt.class); 46 | } 47 | 48 | @Override 49 | @Nullable 50 | public KCLType getType() { 51 | return findChildByClass(KCLType.class); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLLeadingDotsImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLLeadingDotsImpl extends ASTWrapperPsiElement implements KCLLeadingDots { 15 | 16 | public KCLLeadingDotsImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitLeadingDots(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLListCompImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLListCompImpl extends ASTWrapperPsiElement implements KCLListComp { 15 | 16 | public KCLListCompImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitListComp(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getCompClauseList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLCompClause.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLListItem getListItem() { 39 | return findNotNullChildByClass(KCLListItem.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLListExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLListExprImpl extends ASTWrapperPsiElement implements KCLListExpr { 15 | 16 | public KCLListExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitListExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLListItems getListItems() { 33 | return findChildByClass(KCLListItems.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLListItemImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLListItemImpl extends ASTWrapperPsiElement implements KCLListItem { 15 | 16 | public KCLListItemImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitListItem(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLIfItem getIfItem() { 33 | return findChildByClass(KCLIfItem.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLStarExpr getStarExpr() { 39 | return findChildByClass(KCLStarExpr.class); 40 | } 41 | 42 | @Override 43 | @Nullable 44 | public KCLTest getTest() { 45 | return findChildByClass(KCLTest.class); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLListItemsImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLListItemsImpl extends ASTWrapperPsiElement implements KCLListItems { 15 | 16 | public KCLListItemsImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitListItems(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getListItemList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLListItem.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLListTypeImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLListTypeImpl extends ASTWrapperPsiElement implements KCLListType { 15 | 16 | public KCLListTypeImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitListType(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLType getType() { 33 | return findChildByClass(KCLType.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLLiteralTypeImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLLiteralTypeImpl extends ASTWrapperPsiElement implements KCLLiteralType { 15 | 16 | public KCLLiteralTypeImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitLiteralType(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLLoopVariablesImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLLoopVariablesImpl extends ASTWrapperPsiElement implements KCLLoopVariables { 15 | 16 | public KCLLoopVariablesImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitLoopVariables(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getPrimaryExprList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLPrimaryExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLMixinStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLMixinStmtImpl extends ASTWrapperPsiElement implements KCLMixinStmt { 15 | 16 | public KCLMixinStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitMixinStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLMixins getMixins() { 33 | return findChildByClass(KCLMixins.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLMultilineMixins getMultilineMixins() { 39 | return findChildByClass(KCLMultilineMixins.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLMixinsImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLMixinsImpl extends ASTWrapperPsiElement implements KCLMixins { 15 | 16 | public KCLMixinsImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitMixins(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getIdentifierList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLIdentifier.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public List getMixinsList() { 39 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLMixins.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLMultilineMixinsImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLMultilineMixinsImpl extends ASTWrapperPsiElement implements KCLMultilineMixins { 15 | 16 | public KCLMultilineMixinsImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitMultilineMixins(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLMixins getMixins() { 33 | return findNotNullChildByClass(KCLMixins.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLNotTestImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLNotTestImpl extends ASTWrapperPsiElement implements KCLNotTest { 15 | 16 | public KCLNotTestImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitNotTest(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLComparison getComparison() { 33 | return findChildByClass(KCLComparison.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLNotTest getNotTest() { 39 | return findChildByClass(KCLNotTest.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLPowerImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLPowerImpl extends ASTWrapperPsiElement implements KCLPower { 15 | 16 | public KCLPowerImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitPower(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLFactor getFactor() { 33 | return findChildByClass(KCLFactor.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLPrimaryExpr getPrimaryExpr() { 39 | return findNotNullChildByClass(KCLPrimaryExpr.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLPrimaryExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLPrimaryExprImpl extends ASTWrapperPsiElement implements KCLPrimaryExpr { 15 | 16 | public KCLPrimaryExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitPrimaryExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getCallSuffixList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLCallSuffix.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLOperand getOperand() { 39 | return findNotNullChildByClass(KCLOperand.class); 40 | } 41 | 42 | @Override 43 | @NotNull 44 | public List getSelectSuffixList() { 45 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSelectSuffix.class); 46 | } 47 | 48 | @Override 49 | @NotNull 50 | public List getSliceSuffixList() { 51 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSliceSuffix.class); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLQuantExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLQuantExprImpl extends ASTWrapperPsiElement implements KCLQuantExpr { 15 | 16 | public KCLQuantExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitQuantExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getIdentifierList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLIdentifier.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLQuantOp getQuantOp() { 39 | return findNotNullChildByClass(KCLQuantOp.class); 40 | } 41 | 42 | @Override 43 | @NotNull 44 | public KCLQuantTarget getQuantTarget() { 45 | return findNotNullChildByClass(KCLQuantTarget.class); 46 | } 47 | 48 | @Override 49 | @NotNull 50 | public List getSimpleExprList() { 51 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSimpleExpr.class); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLQuantOpImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLQuantOpImpl extends ASTWrapperPsiElement implements KCLQuantOp { 15 | 16 | public KCLQuantOpImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitQuantOp(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLQuantTargetImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLQuantTargetImpl extends ASTWrapperPsiElement implements KCLQuantTarget { 15 | 16 | public KCLQuantTargetImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitQuantTarget(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLConfigExpr getConfigExpr() { 33 | return findChildByClass(KCLConfigExpr.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLDictComp getDictComp() { 39 | return findChildByClass(KCLDictComp.class); 40 | } 41 | 42 | @Override 43 | @Nullable 44 | public KCLIdentifier getIdentifier() { 45 | return findChildByClass(KCLIdentifier.class); 46 | } 47 | 48 | @Override 49 | @Nullable 50 | public KCLListComp getListComp() { 51 | return findChildByClass(KCLListComp.class); 52 | } 53 | 54 | @Override 55 | @Nullable 56 | public KCLListExpr getListExpr() { 57 | return findChildByClass(KCLListExpr.class); 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSchemaArgumentImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSchemaArgumentImpl extends ASTWrapperPsiElement implements KCLSchemaArgument { 15 | 16 | public KCLSchemaArgumentImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSchemaArgument(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLSingleName getSingleName() { 33 | return findNotNullChildByClass(KCLSingleName.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLTest getTest() { 39 | return findChildByClass(KCLTest.class); 40 | } 41 | 42 | @Override 43 | @Nullable 44 | public KCLType getType() { 45 | return findChildByClass(KCLType.class); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSchemaArgumentsImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSchemaArgumentsImpl extends ASTWrapperPsiElement implements KCLSchemaArguments { 15 | 16 | public KCLSchemaArgumentsImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSchemaArguments(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getSchemaArgumentList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSchemaArgument.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSchemaAttributeStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSchemaAttributeStmtImpl extends ASTWrapperPsiElement implements KCLSchemaAttributeStmt { 15 | 16 | public KCLSchemaAttributeStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSchemaAttributeStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLAttributeStmt getAttributeStmt() { 33 | return findNotNullChildByClass(KCLAttributeStmt.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSchemaBodyImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSchemaBodyImpl extends ASTWrapperPsiElement implements KCLSchemaBody { 15 | 16 | public KCLSchemaBodyImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSchemaBody(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLCheckBlock getCheckBlock() { 33 | return findChildByClass(KCLCheckBlock.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLMixinStmt getMixinStmt() { 39 | return findChildByClass(KCLMixinStmt.class); 40 | } 41 | 42 | @Override 43 | @NotNull 44 | public List getSchemaAttributeStmtList() { 45 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSchemaAttributeStmt.class); 46 | } 47 | 48 | @Override 49 | @NotNull 50 | public List getSchemaIndexSignatureList() { 51 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSchemaIndexSignature.class); 52 | } 53 | 54 | @Override 55 | @NotNull 56 | public List getSchemaInitStmtList() { 57 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLSchemaInitStmt.class); 58 | } 59 | 60 | } 61 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSchemaExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSchemaExprImpl extends ASTWrapperPsiElement implements KCLSchemaExpr { 15 | 16 | public KCLSchemaExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSchemaExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLArguments getArguments() { 33 | return findChildByClass(KCLArguments.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLConfigExpr getConfigExpr() { 39 | return findNotNullChildByClass(KCLConfigExpr.class); 40 | } 41 | 42 | @Override 43 | @NotNull 44 | public KCLIdentifier getIdentifier() { 45 | return findNotNullChildByClass(KCLIdentifier.class); 46 | } 47 | 48 | } 49 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSchemaIndexSignatureImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSchemaIndexSignatureImpl extends ASTWrapperPsiElement implements KCLSchemaIndexSignature { 15 | 16 | public KCLSchemaIndexSignatureImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSchemaIndexSignature(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLBasicType getBasicType() { 33 | return findNotNullChildByClass(KCLBasicType.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLSingleName getSingleName() { 39 | return findChildByClass(KCLSingleName.class); 40 | } 41 | 42 | @Override 43 | @Nullable 44 | public KCLTest getTest() { 45 | return findChildByClass(KCLTest.class); 46 | } 47 | 48 | @Override 49 | @NotNull 50 | public KCLType getType() { 51 | return findNotNullChildByClass(KCLType.class); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSchemaInitStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSchemaInitStmtImpl extends ASTWrapperPsiElement implements KCLSchemaInitStmt { 15 | 16 | public KCLSchemaInitStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSchemaInitStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLIfSimpleStmt getIfSimpleStmt() { 33 | return findChildByClass(KCLIfSimpleStmt.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLIfStmt getIfStmt() { 39 | return findChildByClass(KCLIfStmt.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSchemaTypeImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSchemaTypeImpl extends ASTWrapperPsiElement implements KCLSchemaType { 15 | 16 | public KCLSchemaTypeImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSchemaType(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLIdentifier getIdentifier() { 33 | return findNotNullChildByClass(KCLIdentifier.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSelectSuffixImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSelectSuffixImpl extends ASTWrapperPsiElement implements KCLSelectSuffix { 15 | 16 | public KCLSelectSuffixImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSelectSuffix(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLSingleName getSingleName() { 33 | return findNotNullChildByClass(KCLSingleName.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLShiftExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLShiftExprImpl extends ASTWrapperPsiElement implements KCLShiftExpr { 15 | 16 | public KCLShiftExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitShiftExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getArithExprList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLArithExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSimpleAssignStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSimpleAssignStmtImpl extends ASTWrapperPsiElement implements KCLSimpleAssignStmt { 15 | 16 | public KCLSimpleAssignStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSimpleAssignStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLIdentifier getIdentifier() { 33 | return findNotNullChildByClass(KCLIdentifier.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLTest getTest() { 39 | return findNotNullChildByClass(KCLTest.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSimpleExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSimpleExprImpl extends ASTWrapperPsiElement implements KCLSimpleExpr { 15 | 16 | public KCLSimpleExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSimpleExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getAndTestList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLAndTest.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSimpleStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSimpleStmtImpl extends ASTWrapperPsiElement implements KCLSimpleStmt { 15 | 16 | public KCLSimpleStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSimpleStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLAssertStmt getAssertStmt() { 33 | return findChildByClass(KCLAssertStmt.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLAssignStmt getAssignStmt() { 39 | return findChildByClass(KCLAssignStmt.class); 40 | } 41 | 42 | @Override 43 | @Nullable 44 | public KCLExprStmt getExprStmt() { 45 | return findChildByClass(KCLExprStmt.class); 46 | } 47 | 48 | @Override 49 | @Nullable 50 | public KCLImportStmt getImportStmt() { 51 | return findChildByClass(KCLImportStmt.class); 52 | } 53 | 54 | @Override 55 | @Nullable 56 | public KCLTypeAliasStmt getTypeAliasStmt() { 57 | return findChildByClass(KCLTypeAliasStmt.class); 58 | } 59 | 60 | @Override 61 | @Nullable 62 | public KCLUnificationStmt getUnificationStmt() { 63 | return findChildByClass(KCLUnificationStmt.class); 64 | } 65 | 66 | } 67 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSingleNameImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | import com.intellij.navigation.ItemPresentation; 14 | 15 | public class KCLSingleNameImpl extends ASTWrapperPsiElement implements KCLSingleName { 16 | 17 | public KCLSingleNameImpl(@NotNull ASTNode node) { 18 | super(node); 19 | } 20 | 21 | public void accept(@NotNull KCLVisitor visitor) { 22 | visitor.visitSingleName(this); 23 | } 24 | 25 | @Override 26 | public void accept(@NotNull PsiElementVisitor visitor) { 27 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 28 | else super.accept(visitor); 29 | } 30 | 31 | @Override 32 | public @NotNull String getName() { 33 | return KCLPsiImplUtil.getName(this); 34 | } 35 | 36 | @Override 37 | public PsiElement setName(@NotNull String newName) { 38 | return KCLPsiImplUtil.setName(this, newName); 39 | } 40 | 41 | @Override 42 | public KCLSingleName getNameIdentifier() { 43 | return KCLPsiImplUtil.getNameIdentifier(this); 44 | } 45 | 46 | @Override 47 | public @NotNull ItemPresentation getPresentation() { 48 | return KCLPsiImplUtil.getPresentation(this); 49 | } 50 | 51 | @Override 52 | public KCLNameReference getReference() { 53 | return KCLPsiImplUtil.getReference(this); 54 | } 55 | 56 | } 57 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLSliceSuffixImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLSliceSuffixImpl extends ASTWrapperPsiElement implements KCLSliceSuffix { 15 | 16 | public KCLSliceSuffixImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitSliceSuffix(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getTestList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLTest.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLStarExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLStarExprImpl extends ASTWrapperPsiElement implements KCLStarExpr { 15 | 16 | public KCLStarExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitStarExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLPrimaryExpr getPrimaryExpr() { 33 | return findNotNullChildByClass(KCLPrimaryExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLStatementImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLStatementImpl extends ASTWrapperPsiElement implements KCLStatement { 15 | 16 | public KCLStatementImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitStatement(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLCompoundStmt getCompoundStmt() { 33 | return findChildByClass(KCLCompoundStmt.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLSimpleStmt getSimpleStmt() { 39 | return findChildByClass(KCLSimpleStmt.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLTermImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLTermImpl extends ASTWrapperPsiElement implements KCLTerm { 15 | 16 | public KCLTermImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitTerm(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getFactorList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLFactor.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLTestImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLTestImpl extends ASTWrapperPsiElement implements KCLTest { 15 | 16 | public KCLTestImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitTest(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLIfExpr getIfExpr() { 33 | return findChildByClass(KCLIfExpr.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLSimpleExpr getSimpleExpr() { 39 | return findChildByClass(KCLSimpleExpr.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLTestlistExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLTestlistExprImpl extends ASTWrapperPsiElement implements KCLTestlistExpr { 15 | 16 | public KCLTestlistExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitTestlistExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getTestList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLTest.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLTypeAliasStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLTypeAliasStmtImpl extends ASTWrapperPsiElement implements KCLTypeAliasStmt { 15 | 16 | public KCLTypeAliasStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitTypeAliasStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLSingleName getSingleName() { 33 | return findNotNullChildByClass(KCLSingleName.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLType getType() { 39 | return findNotNullChildByClass(KCLType.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLTypeCastExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLTypeCastExprImpl extends ASTWrapperPsiElement implements KCLTypeCastExpr { 15 | 16 | public KCLTypeCastExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitTypeCastExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLBasicType getBasicType() { 33 | return findNotNullChildByClass(KCLBasicType.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLTest getTest() { 39 | return findNotNullChildByClass(KCLTest.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLTypeElementImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLTypeElementImpl extends ASTWrapperPsiElement implements KCLTypeElement { 15 | 16 | public KCLTypeElementImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitTypeElement(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @Nullable 32 | public KCLBasicType getBasicType() { 33 | return findChildByClass(KCLBasicType.class); 34 | } 35 | 36 | @Override 37 | @Nullable 38 | public KCLCompoundType getCompoundType() { 39 | return findChildByClass(KCLCompoundType.class); 40 | } 41 | 42 | @Override 43 | @Nullable 44 | public KCLLiteralType getLiteralType() { 45 | return findChildByClass(KCLLiteralType.class); 46 | } 47 | 48 | @Override 49 | @Nullable 50 | public KCLSchemaType getSchemaType() { 51 | return findChildByClass(KCLSchemaType.class); 52 | } 53 | 54 | } 55 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLTypeImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLTypeImpl extends ASTWrapperPsiElement implements KCLType { 15 | 16 | public KCLTypeImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitType(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getTypeElementList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLTypeElement.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLUnificationStmtImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLUnificationStmtImpl extends ASTWrapperPsiElement implements KCLUnificationStmt { 15 | 16 | public KCLUnificationStmtImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitUnificationStmt(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public KCLIdentifier getIdentifier() { 33 | return findNotNullChildByClass(KCLIdentifier.class); 34 | } 35 | 36 | @Override 37 | @NotNull 38 | public KCLSchemaExpr getSchemaExpr() { 39 | return findNotNullChildByClass(KCLSchemaExpr.class); 40 | } 41 | 42 | } 43 | -------------------------------------------------------------------------------- /src/main/gen/io/kusionstack/kcl/psi/impl/KCLXorExprImpl.java: -------------------------------------------------------------------------------- 1 | // This is a generated file. Not intended for manual editing. 2 | package io.kusionstack.kcl.psi.impl; 3 | 4 | import java.util.List; 5 | import org.jetbrains.annotations.*; 6 | import com.intellij.lang.ASTNode; 7 | import com.intellij.psi.PsiElement; 8 | import com.intellij.psi.PsiElementVisitor; 9 | import com.intellij.psi.util.PsiTreeUtil; 10 | import static io.kusionstack.kcl.psi.KCLTypes.*; 11 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 12 | import io.kusionstack.kcl.psi.*; 13 | 14 | public class KCLXorExprImpl extends ASTWrapperPsiElement implements KCLXorExpr { 15 | 16 | public KCLXorExprImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | 20 | public void accept(@NotNull KCLVisitor visitor) { 21 | visitor.visitXorExpr(this); 22 | } 23 | 24 | @Override 25 | public void accept(@NotNull PsiElementVisitor visitor) { 26 | if (visitor instanceof KCLVisitor) accept((KCLVisitor)visitor); 27 | else super.accept(visitor); 28 | } 29 | 30 | @Override 31 | @NotNull 32 | public List getAndExprList() { 33 | return PsiTreeUtil.getChildrenOfTypeAsList(this, KCLAndExpr.class); 34 | } 35 | 36 | } 37 | -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/KCLBraceMatcher.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl; 5 | 6 | import io.kusionstack.kcl.psi.KCLTypes; 7 | import com.intellij.lang.BracePair; 8 | import com.intellij.lang.PairedBraceMatcher; 9 | import com.intellij.psi.PsiFile; 10 | import com.intellij.psi.tree.IElementType; 11 | import org.jetbrains.annotations.NotNull; 12 | import org.jetbrains.annotations.Nullable; 13 | 14 | /** 15 | * @author amyxia 16 | * @version KCLBraceMatcher: KCLBraceMatcher.java, v 0.1 2021年04月28日 1:36 下午 amyxia Exp $ 17 | */ 18 | public class KCLBraceMatcher implements PairedBraceMatcher { 19 | private static final BracePair[] PAIRS = new BracePair[] { 20 | new BracePair(KCLTypes.LEFT_BRACE, KCLTypes.RIGHT_BRACE, true), 21 | new BracePair(KCLTypes.LEFT_PARENTHESES, KCLTypes.RIGHT_PARENTHESES, false), 22 | new BracePair(KCLTypes.LEFT_BRACKETS, KCLTypes.RIGHT_BRACKETS, false) 23 | }; 24 | 25 | @Override 26 | public @NotNull BracePair[] getPairs() { 27 | return PAIRS; 28 | } 29 | 30 | @Override 31 | public boolean isPairedBracesAllowedBeforeType(@NotNull IElementType lbraceType, @Nullable IElementType contextType) { 32 | return true; 33 | } 34 | 35 | @Override 36 | public int getCodeConstructStart(PsiFile file, int openingBraceOffset) { 37 | return openingBraceOffset; 38 | } 39 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/KCLFileType.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl; 5 | 6 | import com.intellij.openapi.fileTypes.LanguageFileType; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | import javax.swing.*; 10 | 11 | /** 12 | * @author amyxia 13 | * @version KCLFileType: KCLFileTyoe.java, v 0.1 2020年09月21日 10:04 下午 amyxia Exp $ 14 | */ 15 | public final class KCLFileType extends LanguageFileType { 16 | public static final KCLFileType INSTANCE = new KCLFileType(); 17 | 18 | private KCLFileType() { 19 | super(KCLLanguage.INSTANCE); 20 | } 21 | 22 | @NotNull 23 | @Override 24 | public String getName() { 25 | return "KCL File"; 26 | } 27 | 28 | @NotNull 29 | @Override 30 | public String getDescription() { 31 | return "KCL language file"; 32 | } 33 | 34 | @NotNull 35 | @Override 36 | public String getDefaultExtension() { 37 | return "k"; 38 | } 39 | 40 | @NotNull 41 | @Override 42 | public Icon getIcon() { 43 | return KCLIcons.FILE; 44 | } 45 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/KCLIcons.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl; 5 | 6 | import com.intellij.openapi.util.IconLoader; 7 | 8 | import javax.swing.*; 9 | 10 | /** 11 | * @author amyxia 12 | * @version KCLIcons: KCLIcons.java, v 0.1 2020年09月21日 9:55 下午 amyxia Exp $ 13 | */ 14 | public class KCLIcons { 15 | public static final Icon FILE = IconLoader.getIcon("/icons/file.svg", KCLIcons.class); 16 | public static final Icon SCHEMA = IconLoader.getIcon("/icons/schema.svg", KCLIcons.class); 17 | public static final Icon MIXIN = IconLoader.getIcon("/icons/mixin.svg", KCLIcons.class); 18 | public static final Icon ATTRIBUTE = IconLoader.getIcon("/icons/attribute.svg", KCLIcons.class); 19 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/KCLLanguage.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl; 5 | 6 | import com.intellij.lang.Language; 7 | 8 | /** 9 | * this file defines the language name 10 | * 11 | * @author amyxia 12 | * @version KclLanguage: KclLanguage.java, v 0.1 2020年09月21日 9:49 下午 amyxia Exp $ 13 | */ 14 | public final class KCLLanguage extends Language { 15 | public static final KCLLanguage INSTANCE = new KCLLanguage(); 16 | 17 | private KCLLanguage() { 18 | super("KCL"); 19 | } 20 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/KCLLanguageServerFactory.java: -------------------------------------------------------------------------------- 1 | package io.kusionstack.kcl; 2 | 3 | import com.intellij.openapi.project.Project; 4 | import com.redhat.devtools.lsp4ij.LanguageServerFactory; 5 | import com.redhat.devtools.lsp4ij.server.StreamConnectionProvider; 6 | import org.jetbrains.annotations.NotNull; 7 | 8 | public class KCLLanguageServerFactory implements LanguageServerFactory { 9 | 10 | @Override 11 | public @NotNull StreamConnectionProvider createConnectionProvider(@NotNull Project project) { 12 | return new KCLLanguageServer(project); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/KCLStructureViewFactory.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl; 5 | 6 | import com.intellij.ide.structureView.StructureViewBuilder; 7 | import com.intellij.ide.structureView.StructureViewModel; 8 | import com.intellij.ide.structureView.TreeBasedStructureViewBuilder; 9 | import com.intellij.lang.PsiStructureViewFactory; 10 | import com.intellij.openapi.editor.Editor; 11 | import com.intellij.psi.PsiFile; 12 | import org.jetbrains.annotations.NotNull; 13 | import org.jetbrains.annotations.Nullable; 14 | 15 | /** 16 | * @author amyxia 17 | * @version KCLStructureViewFactory: KCLStructureViewFactory.java, v 0.1 2020年09月24日 2:02 下午 amyxia Exp $ 18 | */ 19 | public class KCLStructureViewFactory implements PsiStructureViewFactory { 20 | @Nullable 21 | @Override 22 | public StructureViewBuilder getStructureViewBuilder(@NotNull final PsiFile psiFile) { 23 | return new TreeBasedStructureViewBuilder() { 24 | @NotNull 25 | @Override 26 | public StructureViewModel createStructureViewModel(@Nullable Editor editor) { 27 | return new KCLStructureViewModel(psiFile); 28 | } 29 | }; 30 | } 31 | 32 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/KCLStructureViewModel.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl; 5 | 6 | import io.kusionstack.kcl.psi.KCLFile; 7 | import com.intellij.ide.structureView.StructureViewModel; 8 | import com.intellij.ide.structureView.StructureViewModelBase; 9 | import com.intellij.ide.structureView.StructureViewTreeElement; 10 | import com.intellij.ide.util.treeView.smartTree.Sorter; 11 | import com.intellij.psi.PsiFile; 12 | import org.jetbrains.annotations.NotNull; 13 | 14 | /** 15 | * @author amyxia 16 | * @version KCLStructureViewModel: KCLStructureViewModel.java, v 0.1 2020年09月24日 2:03 下午 amyxia Exp $ 17 | */ 18 | public class KCLStructureViewModel extends StructureViewModelBase implements StructureViewModel.ElementInfoProvider { 19 | public KCLStructureViewModel(PsiFile psiFile) { 20 | super(psiFile, new KCLStructureViewElement(psiFile)); 21 | } 22 | 23 | @NotNull 24 | public Sorter[] getSorters() { 25 | return new Sorter[]{Sorter.ALPHA_SORTER}; 26 | } 27 | 28 | 29 | @Override 30 | public boolean isAlwaysShowsPlus(StructureViewTreeElement element) { 31 | return false; 32 | } 33 | 34 | @Override 35 | public boolean isAlwaysLeaf(StructureViewTreeElement element) { 36 | return element instanceof KCLFile; 37 | } 38 | 39 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/KCLSyntaxHighlighterFactory.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl; 5 | 6 | import com.intellij.openapi.fileTypes.SyntaxHighlighter; 7 | import com.intellij.openapi.fileTypes.SyntaxHighlighterFactory; 8 | import com.intellij.openapi.project.Project; 9 | import com.intellij.openapi.vfs.VirtualFile; 10 | import org.jetbrains.annotations.NotNull; 11 | 12 | /** 13 | * @author amyxia 14 | * @version KCLSyntaxHighlighterFactory: KCLSyntaxHighlighterFactory.java, v 0.1 2020年09月23日 11:19 上午 amyxia Exp $ 15 | */ 16 | public class KCLSyntaxHighlighterFactory extends SyntaxHighlighterFactory { 17 | @NotNull 18 | @Override 19 | public SyntaxHighlighter getSyntaxHighlighter(Project project, VirtualFile virtualFile) { 20 | return new KCLSyntaxHighlighter(); 21 | } 22 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/action/KCLToolsPopUpActionGroup.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.action; 5 | 6 | import com.intellij.openapi.actionSystem.ActionUpdateThread; 7 | import com.intellij.openapi.actionSystem.AnAction; 8 | import com.intellij.openapi.actionSystem.AnActionEvent; 9 | import com.intellij.openapi.actionSystem.DefaultActionGroup; 10 | import org.jetbrains.annotations.NotNull; 11 | 12 | /** 13 | * @author amyxia 14 | * @version KCLToolsPopUpActionGroup: KCLToolsPopUpActionGroup.java, v 0.1 2020年11月30日 11:10 上午 amyxia Exp $ 15 | */ 16 | public class KCLToolsPopUpActionGroup extends DefaultActionGroup { 17 | @Override 18 | public void update(@NotNull AnActionEvent e) { 19 | // enable/disable depending on whether user is editing... 20 | } 21 | 22 | @Override 23 | public @NotNull ActionUpdateThread getActionUpdateThread() { 24 | return ActionUpdateThread.BGT; 25 | } 26 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/action/OpenKCLHelpAction.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.action; 5 | 6 | import com.intellij.openapi.actionSystem.ActionUpdateThread; 7 | import org.jetbrains.annotations.NotNull; 8 | 9 | /** 10 | * @author amyxia 11 | * @version OpenKCLHelpAction: OpenKCLHelpAction.java, v 0.1 2020年12月03日 3:22 下午 amyxia Exp $ 12 | */ 13 | public class OpenKCLHelpAction extends OpenLinkAction { 14 | @Override 15 | public String getLink() { 16 | return "https://kusionstack.io/docs/reference/lang/lang/tour"; 17 | } 18 | 19 | @Override 20 | public @NotNull ActionUpdateThread getActionUpdateThread() { 21 | return ActionUpdateThread.BGT; 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/action/OpenLinkAction.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.action; 5 | 6 | import com.intellij.ide.BrowserUtil; 7 | import com.intellij.openapi.actionSystem.ActionUpdateThread; 8 | import com.intellij.openapi.actionSystem.AnActionEvent; 9 | import com.intellij.openapi.project.DumbAwareAction; 10 | import org.jetbrains.annotations.NotNull; 11 | 12 | /** 13 | * @author amyxia 14 | * @version OpenLinkAction: OpenLinkAction.java, v 0.1 2020年12月03日 3:19 下午 amyxia Exp $ 15 | */ 16 | public abstract class OpenLinkAction extends DumbAwareAction { 17 | public abstract String getLink(); 18 | 19 | @Override 20 | public void actionPerformed(@NotNull AnActionEvent e) { 21 | BrowserUtil.browse(getLink()); 22 | } 23 | 24 | @Override 25 | public @NotNull ActionUpdateThread getActionUpdateThread() { 26 | return ActionUpdateThread.BGT; 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/completion/keyword/AsKeywordProvider.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.completion.keyword; 5 | 6 | import com.intellij.codeInsight.completion.CompletionParameters; 7 | import com.intellij.codeInsight.completion.CompletionProvider; 8 | import com.intellij.codeInsight.completion.CompletionResultSet; 9 | import com.intellij.codeInsight.lookup.LookupElementBuilder; 10 | import com.intellij.util.ProcessingContext; 11 | import org.jetbrains.annotations.NotNull; 12 | 13 | /** 14 | * @author amyxia 15 | * @version AsKeywordProvider: AsKeywordProvider.java, v 0.1 2021年02月23日 3:13 下午 amyxia Exp $ 16 | */ 17 | public class AsKeywordProvider extends CompletionProvider { 18 | @Override 19 | protected void addCompletions(@NotNull CompletionParameters parameters, @NotNull ProcessingContext context, 20 | @NotNull CompletionResultSet result) { 21 | result.addElement(LookupElementBuilder.create("as")); 22 | } 23 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/completion/keyword/RelaxedKeywordProvider.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.completion.keyword; 5 | 6 | import com.intellij.codeInsight.completion.CompletionParameters; 7 | import com.intellij.codeInsight.completion.CompletionProvider; 8 | import com.intellij.codeInsight.completion.CompletionResultSet; 9 | import com.intellij.codeInsight.lookup.LookupElementBuilder; 10 | import com.intellij.util.ProcessingContext; 11 | import org.jetbrains.annotations.NotNull; 12 | 13 | /** 14 | * @author amyxia 15 | * @version RelaxedKeywordProvider: RelaxedKeywordProvider.java, v 0.1 2021年02月23日 2:54 下午 amyxia Exp $ 16 | */ 17 | public class RelaxedKeywordProvider extends CompletionProvider { 18 | 19 | @Override 20 | protected void addCompletions(@NotNull CompletionParameters parameters, @NotNull ProcessingContext context, 21 | @NotNull CompletionResultSet result) { 22 | result.addElement(LookupElementBuilder.create("relaxed")); 23 | } 24 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/completion/keyword/TypeNameProvider.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.completion.keyword; 5 | 6 | import com.intellij.codeInsight.completion.CompletionParameters; 7 | import com.intellij.codeInsight.completion.CompletionProvider; 8 | import com.intellij.codeInsight.completion.CompletionResultSet; 9 | import com.intellij.codeInsight.lookup.LookupElementBuilder; 10 | import com.intellij.util.ProcessingContext; 11 | import org.jetbrains.annotations.NotNull; 12 | 13 | /** 14 | * @author amyxia 15 | * @version TypeNameKeywordProvider: TypeNameKeywordProvider.java, v 0.1 2021年02月23日 3:18 下午 amyxia Exp $ 16 | */ 17 | public class TypeNameProvider extends CompletionProvider { 18 | @Override 19 | protected void addCompletions(@NotNull CompletionParameters parameters, @NotNull ProcessingContext context, 20 | @NotNull CompletionResultSet result) { 21 | result.addElement(LookupElementBuilder.create("str")); 22 | result.addElement(LookupElementBuilder.create("int")); 23 | result.addElement(LookupElementBuilder.create("float")); 24 | result.addElement(LookupElementBuilder.create("bool")); 25 | result.addElement(LookupElementBuilder.create("any")); 26 | result.addElement(LookupElementBuilder.create("True")); 27 | result.addElement(LookupElementBuilder.create("False")); 28 | result.addElement(LookupElementBuilder.create("None")); 29 | } 30 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/lexer/KCLHighlightingLexer.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.lexer; 5 | 6 | import com.intellij.lexer.FlexAdapter; 7 | 8 | /** 9 | * @author amyxia 10 | * @version KCLHighlightingLexer: KCLHighlightingLexer.java, v 0.1 2021年02月04日 5:35 下午 amyxia Exp $ 11 | */ 12 | public class KCLHighlightingLexer extends FlexAdapter { 13 | 14 | public KCLHighlightingLexer() { 15 | super(new _KCLHighlightingLexer(null)); 16 | } 17 | 18 | @Override 19 | public _KCLHighlightingLexer getFlex() { 20 | return (_KCLHighlightingLexer) super.getFlex(); 21 | } 22 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/psi/KCLElement.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.psi; 5 | 6 | import com.intellij.psi.PsiElement; 7 | 8 | /** 9 | * @author amyxia 10 | * @version KCLElement: KCLElement.java, v 0.1 2021年02月08日 4:34 下午 amyxia Exp $ 11 | */ 12 | public interface KCLElement extends PsiElement { 13 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/psi/KCLElementType.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.psi; 5 | 6 | import io.kusionstack.kcl.KCLLanguage; 7 | import com.intellij.psi.tree.IElementType; 8 | import org.jetbrains.annotations.NonNls; 9 | import org.jetbrains.annotations.NotNull; 10 | 11 | /** 12 | * @author amyxia 13 | * @version KCLElementType: KCLElementType.java, v 0.1 2020年09月22日 5:51 下午 amyxia Exp $ 14 | */ 15 | public class KCLElementType extends IElementType { 16 | public KCLElementType(@NotNull @NonNls String debugName) { 17 | super(debugName, KCLLanguage.INSTANCE); 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/psi/KCLFile.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.psi; 5 | 6 | import io.kusionstack.kcl.KCLFileType; 7 | import io.kusionstack.kcl.KCLLanguage; 8 | import com.intellij.extapi.psi.PsiFileBase; 9 | import com.intellij.openapi.fileTypes.FileType; 10 | import com.intellij.psi.FileViewProvider; 11 | import com.intellij.psi.PsiElement; 12 | import org.jetbrains.annotations.NotNull; 13 | 14 | /** 15 | * @author amyxia 16 | * @version KCLFile: KCLFile.java, v 0.1 2020年09月23日 10:26 上午 amyxia Exp $ 17 | */ 18 | public class KCLFile extends PsiFileBase implements KCLScopeOwner, KCLNamedElement { 19 | public KCLFile(@NotNull FileViewProvider viewProvider) { 20 | super(viewProvider, KCLLanguage.INSTANCE); 21 | } 22 | 23 | @NotNull 24 | @Override 25 | public FileType getFileType() { 26 | return KCLFileType.INSTANCE; 27 | } 28 | 29 | @Override 30 | public String toString() { 31 | return "KCL File"; 32 | } 33 | 34 | public @NotNull String getSimpleName() { 35 | String fullName = super.getName(); 36 | return fullName.substring(0, fullName.length() - 2); 37 | } 38 | 39 | @Override 40 | public @NotNull PsiElement getNameIdentifier() { 41 | return this; 42 | } 43 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/psi/KCLNamedElement.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.psi; 5 | 6 | import com.intellij.navigation.ItemPresentation; 7 | import com.intellij.psi.NavigatablePsiElement; 8 | import com.intellij.psi.PsiElement; 9 | import com.intellij.psi.PsiNameIdentifierOwner; 10 | import org.jetbrains.annotations.NotNull; 11 | 12 | /** 13 | * @author amyxia 14 | * @version KCLNamedElement: KCLNamedElement.java, v 0.1 2020年09月23日 5:00 下午 amyxia Exp $ 15 | */ 16 | public interface KCLNamedElement extends PsiNameIdentifierOwner, NavigatablePsiElement { 17 | @NotNull 18 | String getName(); 19 | 20 | @NotNull 21 | PsiElement getNameIdentifier(); 22 | 23 | @NotNull 24 | ItemPresentation getPresentation(); 25 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/psi/KCLScopeOwner.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.psi; 5 | 6 | /** 7 | * @author amyxia 8 | * @version KCLScopeOwner: KCLScopeOwner.java, v 0.1 2021年02月08日 4:32 下午 amyxia Exp $ 9 | */ 10 | public interface KCLScopeOwner extends KCLElement {} -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/psi/KCLTokenType.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.psi; 5 | 6 | import io.kusionstack.kcl.KCLLanguage; 7 | import com.intellij.psi.tree.IElementType; 8 | import org.jetbrains.annotations.NonNls; 9 | import org.jetbrains.annotations.NotNull; 10 | 11 | /** 12 | * @author amyxia 13 | * @version KCLTokenType: KCLTokenType.java, v 0.1 2020年09月22日 5:46 下午 amyxia Exp $ 14 | */ 15 | public class KCLTokenType extends IElementType { 16 | public KCLTokenType(@NotNull @NonNls String debugName) { 17 | super(debugName, KCLLanguage.INSTANCE); 18 | } 19 | 20 | @Override 21 | public String toString() { 22 | return "KCLTokenType." + super.toString(); 23 | } 24 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/psi/impl/AbstractKCLNamedElementImpl.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.psi.impl; 5 | 6 | import io.kusionstack.kcl.psi.KCLNamedElement; 7 | import com.intellij.extapi.psi.ASTWrapperPsiElement; 8 | import com.intellij.lang.ASTNode; 9 | import org.jetbrains.annotations.NotNull; 10 | 11 | /** 12 | * @author amyxia 13 | * @version KCLNamedElementImpl: KCLNamedElementImpl.java, v 0.1 2020年09月23日 5:01 下午 amyxia Exp $ 14 | */ 15 | public abstract class AbstractKCLNamedElementImpl extends ASTWrapperPsiElement implements KCLNamedElement { 16 | public AbstractKCLNamedElementImpl(@NotNull ASTNode node) { 17 | super(node); 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/symbol_table/BaseScope.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.symbol_table; 5 | 6 | import com.google.common.collect.Lists; 7 | import com.google.common.collect.Maps; 8 | 9 | import java.util.List; 10 | import java.util.Map; 11 | 12 | /** 13 | * base Scope for Global Scope or local Scope. 14 | * 15 | * @author amyxia 16 | * @version BaseScope: BaseScope.java, v 0.1 2021年05月31日 3:13 下午 amyxia Exp $ 17 | */ 18 | public abstract class BaseScope implements Scope { 19 | Scope enclosingScope; // null if global (outermost) scope 20 | Map> symbols = Maps.newLinkedHashMap(); 21 | 22 | public BaseScope(Scope parent) { this.enclosingScope = parent; } 23 | 24 | public List resolve(String name) { 25 | List s = symbols.get(name); 26 | if (s != null) { return s; } 27 | // if not here, check any enclosing scope 28 | if (getParentScope() != null) { return getParentScope().resolve(name); } 29 | return null; // not found 30 | } 31 | 32 | public void define(Symbol symbol) { 33 | symbol.setScope(this); // track the scope in each symbol 34 | List list = symbols.get(symbol.getName()); 35 | if (list == null) { 36 | symbols.put(symbol.getName(), Lists.newArrayList(symbol)); 37 | } else { 38 | list.add(symbol); 39 | } 40 | } 41 | 42 | @Override 43 | public Scope getParentScope() { 44 | return getEnclosingScope(); 45 | } 46 | 47 | @Override 48 | public Scope getEnclosingScope() { 49 | return enclosingScope; 50 | } 51 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/symbol_table/BuiltInTypeSymbol.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.symbol_table; 5 | 6 | /** 7 | * @author amyxia 8 | * @version BuiltInTypeSymbol: BuiltInTypeSymbol.java, v 0.1 2021年05月31日 3:28 下午 amyxia Exp $ 9 | */ 10 | public class BuiltInTypeSymbol extends Symbol implements Type { 11 | public BuiltInTypeSymbol(String name) { 12 | super(name); 13 | } 14 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/symbol_table/GlobalScope.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.symbol_table; 5 | 6 | /** 7 | * @author amyxia 8 | * @version GlobalScope: GlobalScope.java, v 0.1 2021年05月31日 3:09 下午 amyxia Exp $ 9 | */ 10 | public class GlobalScope extends BaseScope { 11 | public GlobalScope() { 12 | super(null); 13 | } 14 | 15 | @Override 16 | public String getScopeName() { 17 | return "global"; 18 | } 19 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/symbol_table/PkgSymbol.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.symbol_table; 5 | 6 | import io.kusionstack.kcl.psi.KCLSingleName; 7 | import com.intellij.psi.PsiFileSystemItem; 8 | 9 | import java.util.List; 10 | import java.util.Map; 11 | 12 | /** 13 | * @author amyxia 14 | * @version PkgSymbol: PkgSymbol.java, v 0.1 2021年06月08日 10:31 上午 amyxia Exp $ 15 | */ 16 | public class PkgSymbol extends ScopedSymbol implements Scope { 17 | private PsiFileSystemItem resolvedModule; 18 | private boolean visited = false; 19 | /** 20 | * List of all fields and methods 21 | */ 22 | private Map> members; 23 | 24 | public PkgSymbol(String name, Scope enclosingScope, KCLSingleName node, PsiFileSystemItem resolvedModule) { 25 | super(name, enclosingScope, node); 26 | this.resolvedModule = resolvedModule; 27 | } 28 | 29 | @Override 30 | public Map> getMembers() { 31 | return members; 32 | } 33 | 34 | /** 35 | * Getter method for property visited. 36 | * 37 | * @return property value of visited 38 | */ 39 | public boolean isVisited() { 40 | return visited; 41 | } 42 | 43 | /** 44 | * Setter method for property visited. 45 | * 46 | * @param visited value to be assigned to property visited 47 | */ 48 | public void setVisited(boolean visited) { 49 | this.visited = visited; 50 | } 51 | 52 | /** 53 | * Getter method for property resolvedModule. 54 | * 55 | * @return property value of resolvedModule 56 | */ 57 | public PsiFileSystemItem getResolvedModule() { 58 | return resolvedModule; 59 | } 60 | 61 | public void setMembers(Map> members) { 62 | this.members = members; 63 | } 64 | 65 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/symbol_table/Scope.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.symbol_table; 5 | 6 | import java.util.List; 7 | 8 | /** 9 | * @author amyxia 10 | * @version Scope: Scope.java, v 0.1 2021年05月31日 3:10 下午 amyxia Exp $ 11 | */ 12 | public interface Scope { 13 | /** 14 | * @return name of the scope 15 | */ 16 | public String getScopeName(); 17 | 18 | /** 19 | * Where to look next for symbols; parentSchema or enclosing scope 20 | */ 21 | public Scope getParentScope(); 22 | 23 | /** 24 | * Scope in which this scope defined. For global scope, it's null 25 | */ 26 | public Scope getEnclosingScope(); 27 | 28 | /** 29 | * Define a symbol in the current scope 30 | */ 31 | public void define(Symbol symbol); 32 | 33 | /** 34 | * Look up name in this scope or in parent scope if not here 35 | */ 36 | public List resolve(String name); 37 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/symbol_table/Type.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.symbol_table; 5 | 6 | /** 7 | * KCLType works as a "tag" to indicate whether a KCLSymbol defines a type 8 | * 9 | * @author amyxia 10 | * @version KCLType: KCLType.java, v 0.1 2021年05月31日 3:18 下午 amyxia Exp $ 11 | */ 12 | public interface Type { 13 | public String getName(); 14 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/symbol_table/VariableSymbol.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2021 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.symbol_table; 5 | 6 | import io.kusionstack.kcl.psi.KCLSingleName; 7 | 8 | /** 9 | * VariableSymbol represents a variable definition (name,type) in symbol table 10 | * 11 | * @author amyxia 12 | * @version VariableSymbol: VariableSymbol.java, v 0.1 2021年05月31日 3:54 下午 amyxia Exp $ 13 | */ 14 | public class VariableSymbol extends Symbol { 15 | public VariableSymbol(String name, Type type, KCLSingleName node) { 16 | super(name, type, node); 17 | } 18 | } -------------------------------------------------------------------------------- /src/main/java/io/kusionstack/kcl/util/KCLFmtCommand.java: -------------------------------------------------------------------------------- 1 | /** 2 | * KusionStack. Copyright (c) 2020-2020 All Rights Reserved. 3 | */ 4 | package io.kusionstack.kcl.util; 5 | 6 | import com.intellij.openapi.diagnostic.Logger; 7 | import com.intellij.openapi.vfs.VirtualFile; 8 | import org.jetbrains.annotations.NotNull; 9 | 10 | import java.util.Arrays; 11 | 12 | /** 13 | * @author amyxia 14 | * @version KCLFmtCommand: KCLFmtCommand.java, v 0.1 2020年12月03日 2:53 下午 amyxia Exp $ 15 | */ 16 | public class KCLFmtCommand { 17 | private static final Logger LOGGER = Logger.getInstance(KCLFmtCommand.class); 18 | 19 | public static boolean execute(@NotNull VirtualFile virtualFile, boolean isDirectory) { 20 | String path = virtualFile.getCanonicalPath(); 21 | LOGGER.info(String.format("path: %s", isDirectory)); 22 | if (isDirectory){ 23 | path = path.concat("..."); 24 | } 25 | 26 | ExecuteResult result = KCLBinaryUtil.execKCLSubCmd("fmt", path); 27 | if (!result.isSuccess()) { 28 | LOGGER.error(String.format("kcl fmt %s exec failed, err msg: %s", virtualFile.getPath(), result.getStderr())); 29 | } 30 | return result.isSuccess(); 31 | } 32 | } -------------------------------------------------------------------------------- /src/main/resources/META-INF/pluginIcon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | background 6 | 7 | 8 | 9 | Layer 1 10 | K 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/icons/attribute.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | background 5 | 6 | 7 | 8 | Layer 1 9 | 10 | a 12 | 13 | -------------------------------------------------------------------------------- /src/main/resources/icons/file.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | background 5 | 6 | 7 | 8 | 9 | 10 | 11 | Layer 1 12 | K 14 | 15 | -------------------------------------------------------------------------------- /src/main/resources/icons/mixin.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | background 5 | 6 | 7 | 8 | Layer 1 9 | 10 | M 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/icons/schema.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | background 5 | 6 | 7 | 8 | Layer 1 9 | 10 | S 11 | 12 | -------------------------------------------------------------------------------- /src/main/resources/messages/ActionsBundle_en.properties: -------------------------------------------------------------------------------- 1 | action.io.kusionstack.kcl.action.FormatSingleFileAction.text=KCL: Format File 2 | action.io.kusionstack.kcl.action.FormatSingleFileAction.description=KCL: Format current KCL file 3 | action.io.kusionstack.kcl.action.FormatDirectoryAction.text=KCL: Format Directory 4 | action.io.kusionstack.kcl.action.FormatDirectoryAction.description=KCL: Format current directory 5 | group.io.kusionstack.kcl.action.KCLToolsPopUpActionGroup.text=KCL Tools 6 | group.io.kusionstack.kcl.action.KCLToolsPopUpActionGroup.description=KCL tools 7 | action.io.kusionstack.kcl.action.OpenKCLHelpAction.text=KCL Quick Start 8 | action.io.kusionstack.kcl.action.OpenKCLHelpAction.description=KCL quick start document 9 | action.io.kusionstack.kcl.action.OpenDingtalkSupportActio.text=Manual Support 10 | action.io.kusionstack.kcl.action.OpenDingtalkSupportActio.description=Ask for manual support from Kusion group via dingtalk 11 | group.io.kusionstack.kcl.group.KCLHelpGroup.text=KCL Help 12 | group.io.kusionstack.kcl.group.KCLHelpGroup.description=KCL help information -------------------------------------------------------------------------------- /src/main/resources/messages/ActionsBundle_zh.properties: -------------------------------------------------------------------------------- 1 | action.io.kusionstack.kcl.action.FormatSingleFileAction.text=KCL:格式化文件 2 | action.io.kusionstack.kcl.action.FormatSingleFileAction.description=KCL:格式化当前文件 3 | action.io.kusionstack.kcl.action.FormatDirectoryAction.text=KCL:格式化目录 4 | action.io.kusionstack.kcl.action.FormatDirectoryAction.description=KCL:格式化选中的目录 5 | group.io.kusionstack.kcl.action.KCLToolsPopUpActionGroup.text=KCL 工具 6 | group.io.kusionstack.kcl.action.KCLToolsPopUpActionGroup.description=KCL 工具 7 | action.io.kusionstack.kcl.action.OpenKCLHelpAction.text=KCL 入门 8 | action.io.kusionstack.kcl.action.OpenKCLHelpAction.description=打开 KCL 入门文档 9 | group.io.kusionstack.kcl.group.KCLHelpGroup.text=KCL 帮助 10 | group.io.kusionstack.kcl.group.KCLHelpGroup.description=KCL 帮助 -------------------------------------------------------------------------------- /src/main/resources/messages/MyBundle.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/kcl-lang/intellij-kcl/11cc8d57a6e0a20cec4c52de4e0cc57812988d48/src/main/resources/messages/MyBundle.properties -------------------------------------------------------------------------------- /src/test/testData/ParsingTestData.k: -------------------------------------------------------------------------------- 1 | import module1 2 | import module2 as asName 3 | import ..pkg.module.sub_module1 4 | import ..pkg.module.sub_module2 as asName 5 | 6 | schema Person: 7 | """schema docstring begin 8 | schema docstring end""" 9 | name?: str = "alice" 10 | age?: int = 5 11 | 12 | # The backslash below tells the application to continue reading 13 | # the value onto the next line. 14 | myList = [1, 2, \ 15 | 3] 16 | 17 | alice = Person { 18 | age: 10 19 | } -------------------------------------------------------------------------------- /src/test/testData/ParsingTestDataCall.k: -------------------------------------------------------------------------------- 1 | a = option("name", default="alice") -------------------------------------------------------------------------------- /src/test/testData/ParsingTestDataName.k: -------------------------------------------------------------------------------- 1 | schema Person: 2 | name: str 3 | $filter: str 4 | 5 | alice = Person { 6 | name: "alice" 7 | $filter: "some filter" 8 | } 9 | -------------------------------------------------------------------------------- /src/test/testData/ParsingTestDataProtocol.k: -------------------------------------------------------------------------------- 1 | schema DataProtocol: 2 | data: str 3 | 4 | schema DataMixin for DataProtocol: 5 | x: int = data --------------------------------------------------------------------------------