add jflex

This commit is contained in:
2024-04-03 01:33:41 +07:00
parent 29232018e5
commit df7b96b39d
24 changed files with 815 additions and 22 deletions
@@ -0,0 +1,13 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface SJsonArray extends PsiElement {
@NotNull
List<SJsonItem> getItemList();
}
@@ -0,0 +1,25 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface SJsonItem extends PsiElement {
@Nullable
SJsonArray getArray();
@Nullable
SJsonObject getObject();
@Nullable
SJsonVar getVar();
@Nullable
PsiElement getNumber();
@Nullable
PsiElement getString();
}
@@ -0,0 +1,16 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface SJsonMixin extends PsiElement {
@NotNull
SJsonItem getItem();
@NotNull
SJsonVar getVar();
}
@@ -0,0 +1,13 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface SJsonObject extends PsiElement {
@NotNull
List<SJsonProp> getPropList();
}
@@ -0,0 +1,16 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface SJsonPair extends PsiElement {
@NotNull
SJsonItem getItem();
@NotNull
PsiElement getString();
}
@@ -0,0 +1,16 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface SJsonProp extends PsiElement {
@Nullable
SJsonMixin getMixin();
@Nullable
SJsonPair getPair();
}
@@ -0,0 +1,51 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.PsiElement;
import com.intellij.lang.ASTNode;
import ru.crabs.sdk.language.psi.impl.*;
public interface SJsonTypes {
IElementType ARRAY = new SJsonElementType("ARRAY");
IElementType ITEM = new SJsonElementType("ITEM");
IElementType MIXIN = new SJsonElementType("MIXIN");
IElementType OBJECT = new SJsonElementType("OBJECT");
IElementType PAIR = new SJsonElementType("PAIR");
IElementType PROP = new SJsonElementType("PROP");
IElementType VAR = new SJsonElementType("VAR");
IElementType COMMENT = new SJsonTokenType("COMMENT");
IElementType NUMBER = new SJsonTokenType("number");
IElementType STRING = new SJsonTokenType("string");
IElementType VARS_WORD = new SJsonTokenType("@vars");
class Factory {
public static PsiElement createElement(ASTNode node) {
IElementType type = node.getElementType();
if (type == ARRAY) {
return new SJsonArrayImpl(node);
}
else if (type == ITEM) {
return new SJsonItemImpl(node);
}
else if (type == MIXIN) {
return new SJsonMixinImpl(node);
}
else if (type == OBJECT) {
return new SJsonObjectImpl(node);
}
else if (type == PAIR) {
return new SJsonPairImpl(node);
}
else if (type == PROP) {
return new SJsonPropImpl(node);
}
else if (type == VAR) {
return new SJsonVarImpl(node);
}
throw new AssertionError("Unknown element type: " + type);
}
}
}
@@ -0,0 +1,10 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElement;
public interface SJsonVar extends PsiElement {
}
@@ -0,0 +1,42 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi;
import org.jetbrains.annotations.*;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.PsiElement;
public class SJsonVisitor extends PsiElementVisitor {
public void visitArray(@NotNull SJsonArray o) {
visitPsiElement(o);
}
public void visitItem(@NotNull SJsonItem o) {
visitPsiElement(o);
}
public void visitMixin(@NotNull SJsonMixin o) {
visitPsiElement(o);
}
public void visitObject(@NotNull SJsonObject o) {
visitPsiElement(o);
}
public void visitPair(@NotNull SJsonPair o) {
visitPsiElement(o);
}
public void visitProp(@NotNull SJsonProp o) {
visitPsiElement(o);
}
public void visitVar(@NotNull SJsonVar o) {
visitPsiElement(o);
}
public void visitPsiElement(@NotNull PsiElement o) {
visitElement(o);
}
}
@@ -0,0 +1,36 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static ru.crabs.sdk.language.psi.SJsonTypes.*;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import ru.crabs.sdk.language.psi.*;
public class SJsonArrayImpl extends ASTWrapperPsiElement implements SJsonArray {
public SJsonArrayImpl(@NotNull ASTNode node) {
super(node);
}
public void accept(@NotNull SJsonVisitor visitor) {
visitor.visitArray(this);
}
@Override
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof SJsonVisitor) accept((SJsonVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List<SJsonItem> getItemList() {
return PsiTreeUtil.getChildrenOfTypeAsList(this, SJsonItem.class);
}
}
@@ -0,0 +1,60 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static ru.crabs.sdk.language.psi.SJsonTypes.*;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import ru.crabs.sdk.language.psi.*;
public class SJsonItemImpl extends ASTWrapperPsiElement implements SJsonItem {
public SJsonItemImpl(@NotNull ASTNode node) {
super(node);
}
public void accept(@NotNull SJsonVisitor visitor) {
visitor.visitItem(this);
}
@Override
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof SJsonVisitor) accept((SJsonVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public SJsonArray getArray() {
return findChildByClass(SJsonArray.class);
}
@Override
@Nullable
public SJsonObject getObject() {
return findChildByClass(SJsonObject.class);
}
@Override
@Nullable
public SJsonVar getVar() {
return findChildByClass(SJsonVar.class);
}
@Override
@Nullable
public PsiElement getNumber() {
return findChildByType(NUMBER);
}
@Override
@Nullable
public PsiElement getString() {
return findChildByType(STRING);
}
}
@@ -0,0 +1,42 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static ru.crabs.sdk.language.psi.SJsonTypes.*;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import ru.crabs.sdk.language.psi.*;
public class SJsonMixinImpl extends ASTWrapperPsiElement implements SJsonMixin {
public SJsonMixinImpl(@NotNull ASTNode node) {
super(node);
}
public void accept(@NotNull SJsonVisitor visitor) {
visitor.visitMixin(this);
}
@Override
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof SJsonVisitor) accept((SJsonVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public SJsonItem getItem() {
return findNotNullChildByClass(SJsonItem.class);
}
@Override
@NotNull
public SJsonVar getVar() {
return findNotNullChildByClass(SJsonVar.class);
}
}
@@ -0,0 +1,36 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static ru.crabs.sdk.language.psi.SJsonTypes.*;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import ru.crabs.sdk.language.psi.*;
public class SJsonObjectImpl extends ASTWrapperPsiElement implements SJsonObject {
public SJsonObjectImpl(@NotNull ASTNode node) {
super(node);
}
public void accept(@NotNull SJsonVisitor visitor) {
visitor.visitObject(this);
}
@Override
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof SJsonVisitor) accept((SJsonVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public List<SJsonProp> getPropList() {
return PsiTreeUtil.getChildrenOfTypeAsList(this, SJsonProp.class);
}
}
@@ -0,0 +1,42 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static ru.crabs.sdk.language.psi.SJsonTypes.*;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import ru.crabs.sdk.language.psi.*;
public class SJsonPairImpl extends ASTWrapperPsiElement implements SJsonPair {
public SJsonPairImpl(@NotNull ASTNode node) {
super(node);
}
public void accept(@NotNull SJsonVisitor visitor) {
visitor.visitPair(this);
}
@Override
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof SJsonVisitor) accept((SJsonVisitor)visitor);
else super.accept(visitor);
}
@Override
@NotNull
public SJsonItem getItem() {
return findNotNullChildByClass(SJsonItem.class);
}
@Override
@NotNull
public PsiElement getString() {
return findNotNullChildByType(STRING);
}
}
@@ -0,0 +1,42 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static ru.crabs.sdk.language.psi.SJsonTypes.*;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import ru.crabs.sdk.language.psi.*;
public class SJsonPropImpl extends ASTWrapperPsiElement implements SJsonProp {
public SJsonPropImpl(@NotNull ASTNode node) {
super(node);
}
public void accept(@NotNull SJsonVisitor visitor) {
visitor.visitProp(this);
}
@Override
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof SJsonVisitor) accept((SJsonVisitor)visitor);
else super.accept(visitor);
}
@Override
@Nullable
public SJsonMixin getMixin() {
return findChildByClass(SJsonMixin.class);
}
@Override
@Nullable
public SJsonPair getPair() {
return findChildByClass(SJsonPair.class);
}
}
@@ -0,0 +1,30 @@
// This is a generated file. Not intended for manual editing.
package ru.crabs.sdk.language.psi.impl;
import java.util.List;
import org.jetbrains.annotations.*;
import com.intellij.lang.ASTNode;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiElementVisitor;
import com.intellij.psi.util.PsiTreeUtil;
import static ru.crabs.sdk.language.psi.SJsonTypes.*;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import ru.crabs.sdk.language.psi.*;
public class SJsonVarImpl extends ASTWrapperPsiElement implements SJsonVar {
public SJsonVarImpl(@NotNull ASTNode node) {
super(node);
}
public void accept(@NotNull SJsonVisitor visitor) {
visitor.visitVar(this);
}
@Override
public void accept(@NotNull PsiElementVisitor visitor) {
if (visitor instanceof SJsonVisitor) accept((SJsonVisitor)visitor);
else super.accept(visitor);
}
}