Package com.dci.intellij.dbn.language.common

Source Code of com.dci.intellij.dbn.language.common.DBLanguageParserDefinition

package com.dci.intellij.dbn.language.common;

import com.dci.intellij.dbn.language.common.element.ElementType;
import com.intellij.extapi.psi.ASTWrapperPsiElement;
import com.intellij.lang.ASTNode;
import com.intellij.lang.ParserDefinition;
import com.intellij.psi.PsiElement;
import com.intellij.psi.tree.IElementType;
import com.intellij.psi.tree.IFileElementType;
import com.intellij.psi.tree.TokenSet;
import org.jetbrains.annotations.NotNull;

public abstract class DBLanguageParserDefinition implements ParserDefinition {
    private DBLanguageParser parser;

    public DBLanguageParserDefinition(DBLanguageParser parser) {
        this.parser = parser;
    }

    public DBLanguageParser getParser() {
        return parser;
    }

    @NotNull
    public PsiElement createElement(ASTNode astNode) {
        IElementType et = astNode.getElementType();
        if(et instanceof ElementType) {
            ElementType elementType = (ElementType) et;
            //SQLFile file = lookupFile(astNode);
            return elementType.createPsiElement(astNode);
        }
        return new ASTWrapperPsiElement(astNode);
    }

    public SpaceRequirements spaceExistanceTypeBetweenTokens(ASTNode left, ASTNode right) {
        return null;
    }

    public IFileElementType getFileNodeType() {
        return parser.getLanguageDialect().getBaseLanguage().getFileElementType();
        /*DBLanguageDialect languageDialect = parser.getLanguageDialect();
        return languageDialect.getFileElementType();*/
    }

    @NotNull
    public TokenSet getWhitespaceTokens() {
        return parser.getTokenTypes().getSharedTokenTypes().getWhitespaceTokens();
    }

    @NotNull
    public TokenSet getCommentTokens() {
        return parser.getTokenTypes().getSharedTokenTypes().getCommentTokens();
    }

    @NotNull
    public TokenSet getStringLiteralElements() {
        return parser.getTokenTypes().getSharedTokenTypes().getStringTokens();
    }
}
TOP

Related Classes of com.dci.intellij.dbn.language.common.DBLanguageParserDefinition

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.