- /*
- * Minecraft Development for IntelliJ
- *
- * https://mcdev.io/
- *
- * Copyright (C) 2024 minecraft-dev
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published
- * by the Free Software Foundation, version 3.0 only.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
- {
- parserClass="com.demonwav.mcdev.platform.mcp.at.gen.parser.AtParser"
- extends="com.intellij.extapi.psi.ASTWrapperPsiElement"
- psiClassPrefix="At"
- psiImplClassSuffix="Impl"
- psiPackage="com.demonwav.mcdev.platform.mcp.at.gen.psi"
- psiImplPackage="com.demonwav.mcdev.platform.mcp.at.gen.psi.impl"
- elementTypeHolderClass="com.demonwav.mcdev.platform.mcp.at.gen.psi.AtTypes"
- elementTypeClass="com.demonwav.mcdev.platform.mcp.at.psi.AtElementType"
- tokenTypeClass="com.demonwav.mcdev.platform.mcp.at.psi.AtTokenType"
- consumeTokenMethod="consumeTokenFast"
- }
- at_file ::= line*
- private line ::= !<<eof>> entry? COMMENT? end_line
- private end_line ::= crlf | <<eof>>
- entry ::= keyword class_name line_value? {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtEntryImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtEntryMixin"
- pin = 1
- recoverWhile = line_recover
- }
- private line_recover ::= !(end_line | COMMENT)
- private line_value ::= function | field_name | asterisk
- asterisk ::= ASTERISK_ELEMENT {
- implements="com.demonwav.mcdev.platform.mcp.at.psi.AtElement"
- }
- keyword ::= KEYWORD_ELEMENT {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtKeywordImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtKeywordMixin"
- methods=[
- keywordElement="KEYWORD_ELEMENT"
- ]
- }
- class_name ::= CLASS_NAME_ELEMENT {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtClassNameImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtClassNameMixin"
- methods=[
- classNameElement="CLASS_NAME_ELEMENT"
- ]
- }
- field_name ::= NAME_ELEMENT {
- mixin= "com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtFieldNameImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtFieldNameMixin"
- methods=[
- nameElement="NAME_ELEMENT"
- ]
- }
- function ::= func_name OPEN_PAREN argument* CLOSE_PAREN return_value {
- mixin= "com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtFunctionImplMixin"
- implements= "com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtFunctionMixin"
- }
- func_name ::= NAME_ELEMENT {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtFuncNameImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtFuncNameMixin"
- methods=[
- nameElement="NAME_ELEMENT"
- ]
- }
- argument ::= PRIMITIVE | CLASS_VALUE {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtArgumentImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtArgumentMixin"
- methods=[
- primitive="PRIMITIVE"
- classValue="CLASS_VALUE"
- ]
- }
- return_value ::= PRIMITIVE | CLASS_VALUE {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtReturnValueImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtReturnValueMixin"
- methods=[
- primitive="PRIMITIVE"
- classValue="CLASS_VALUE"
- ]
- }
- /*
- * Minecraft Development for IntelliJ
- *
- * https://mcdev.io/
- *
- * Copyright (C) 2024 minecraft-dev
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License as published
- * by the Free Software Foundation, version 3.0 only.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see <https://www.gnu.org/licenses/>.
- */
- {
- parserClass="com.demonwav.mcdev.platform.mcp.at.gen.parser.AtParser"
- extends="com.intellij.extapi.psi.ASTWrapperPsiElement"
- psiClassPrefix="At"
- psiImplClassSuffix="Impl"
- psiPackage="com.demonwav.mcdev.platform.mcp.at.gen.psi"
- psiImplPackage="com.demonwav.mcdev.platform.mcp.at.gen.psi.impl"
- elementTypeHolderClass="com.demonwav.mcdev.platform.mcp.at.gen.psi.AtTypes"
- elementTypeClass="com.demonwav.mcdev.platform.mcp.at.psi.AtElementType"
- tokenTypeClass="com.demonwav.mcdev.platform.mcp.at.psi.AtTokenType"
- consumeTokenMethod="consumeTokenFast"
- }
- at_file ::= line*
- private line ::= !<<eof>> entry? COMMENT? end_line
- private end_line ::= CRLF | <<eof>>
- entry ::= keyword class_name line_value? {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtEntryImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtEntryMixin"
- pin = 1
- recoverWhile = line_recover
- }
- private line_recover ::= !(end_line | COMMENT)
- private line_value ::= function | field_name | asterisk
- asterisk ::= ASTERISK_ELEMENT {
- implements="com.demonwav.mcdev.platform.mcp.at.psi.AtElement"
- }
- keyword ::= KEYWORD_ELEMENT {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtKeywordImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtKeywordMixin"
- methods=[
- keywordElement="KEYWORD_ELEMENT"
- ]
- }
- class_name ::= CLASS_NAME_ELEMENT {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtClassNameImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtClassNameMixin"
- methods=[
- classNameElement="CLASS_NAME_ELEMENT"
- ]
- }
- field_name ::= NAME_ELEMENT {
- mixin= "com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtFieldNameImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtFieldNameMixin"
- methods=[
- nameElement="NAME_ELEMENT"
- ]
- }
- function ::= func_name OPEN_PAREN argument* CLOSE_PAREN return_value {
- mixin= "com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtFunctionImplMixin"
- implements= "com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtFunctionMixin"
- }
- func_name ::= NAME_ELEMENT {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtFuncNameImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtFuncNameMixin"
- methods=[
- nameElement="NAME_ELEMENT"
- ]
- }
- argument ::= PRIMITIVE | CLASS_VALUE {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtArgumentImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtArgumentMixin"
- methods=[
- primitive="PRIMITIVE"
- classValue="CLASS_VALUE"
- ]
- }
- return_value ::= PRIMITIVE | CLASS_VALUE {
- mixin="com.demonwav.mcdev.platform.mcp.at.psi.mixins.impl.AtReturnValueImplMixin"
- implements="com.demonwav.mcdev.platform.mcp.at.psi.mixins.AtReturnValueMixin"
- methods=[
- primitive="PRIMITIVE"
- classValue="CLASS_VALUE"
- ]
- }