Package com.intellij.psi.tree

Examples of com.intellij.psi.tree.IElementType


    private static IElementType findLiteralTokenType(PsiFile file, int selectionStart, int selectionEnd) {
        PsiElement elementAtSelection = file.findElementAt(selectionStart);
        if (elementAtSelection == null)
            return null;
        IElementType tokenType = elementAtSelection.getNode().getElementType();
        if (tokenType != HaskellTokenTypes.STRING)
            return null;
        TextRange textRange = elementAtSelection.getTextRange();
        if (selectionStart <= textRange.getStartOffset() || selectionEnd >= textRange.getEndOffset()) {
            return null;
View Full Code Here


    @Override
    protected boolean isPrefixInfixIdent() {
        ASTNode parentNode = getParent().getNode();
        ASTNode grandParentNode = parentNode.getTreeParent();
        HaskellTokenType infixPrefixIdentType = HaskellElementTypes.INFIX_PREFIX_IDENT;
        IElementType parentType = grandParentNode.getElementType() == infixPrefixIdentType ? infixPrefixIdentType : parentNode.getElementType();
        return parentType == infixPrefixIdentType;
    }
View Full Code Here

        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);
        }
View Full Code Here

        return builder.getTreeBuilt();

    }

    private void parse(PsiBuilder builder) {
        IElementType first = builder.getTokenType();
        if (first == JFlexElementTypes.MACROS) {
            parseMacroDefinition(builder);
        } else if (first == JFlexElementTypes.CLASS_KEYWORD) {
            parseClassStatement(builder);
        } else if (first == JFlexElementTypes.STATE_KEYWORD) {
View Full Code Here

        return JFlexElementTypes.COMMENTS;
    }

    @NotNull
    public PsiElement createElement(ASTNode node) {
        IElementType type = node.getElementType();
        if (type == JFlexElementTypes.CLASS_STATEMENT) {
            return new JFlexClassStatementImpl(node);
        } else if (type == JFlexElementTypes.STATE_STATEMENT) {
            return new JFlexStateStatementImpl(node);
        } else if (type == JFlexElementTypes.STATE_DEFINITION) {
View Full Code Here

        if(content != null) assertEquals(content, token.content);
    }

    protected LexerToken[] lex(String str) {
        ArrayList<LexerToken> tokens = new ArrayList<LexerToken>();
        IElementType el;

        lexer.start(str);

        while((el = lexer.getTokenType()) != null) {
            tokens.add(new LexerToken(el, lexer.getTokenStart(), lexer.getTokenEnd(), lexer.getTokenText()));
View Full Code Here

    @Override
    protected void lookAhead(Lexer baseLexer) {
        if(typesToLex.contains(baseLexer.getTokenType())) {
            // Parse all sub tokens
            IElementType subToken;
            subLexer.start(baseLexer.getBufferSequence(), baseLexer.getTokenStart(), baseLexer.getTokenEnd());
            while((subToken = subLexer.getTokenType()) != null) {
                addToken(subLexer.getTokenEnd(), subToken);
                subLexer.advance();
            }
View Full Code Here

    }

    @NotNull
    @Override
    public PsiElement createElement(ASTNode node) {
      IElementType type = node.getElementType();

      if(type == LatteTokenTypes.MACRO_NODE) return new MacroNodeImpl(node);
      else if(type == LatteTokenTypes.MACRO_ATTR) return new MacroAttrImpl(node);
      else return new LattePsiElement(node);
    }
View Full Code Here

   
    public static void main(String[] args) throws Exception {
        String str = "Ahoj {* tady bude jmeno *} {$jmeno} :) <a href=\"{link Dashboard:signal!, id => $id}\" n:href=\"Novak:detail!\" title=\"lol\">novak</a> {* a tady je konec *}";
        System.out.println(str);

        IElementType el;

        Lexer merge = new LatteLexer();
        merge.start(str);

        while((el = merge.getTokenType()) != null) {
            System.out.printf("%s: %d %d '%s'\n", el.toString(), merge.getTokenStart(), merge.getTokenEnd(), str.substring(merge.getTokenStart(), merge.getTokenEnd()));
            merge.advance();
        }
    }
View Full Code Here

    public LatteTopLexer() {
       super(new LookAheadLexer(new FlexAdapter(new _LatteTopLexer((Reader) null))) {

            @Override
            protected void lookAhead(Lexer lex) {
                IElementType type = lex.getTokenType();
                if(type == LatteTokenTypes.N_ATTR) { // n: attr - keep all interesting tokens as they are
                    addToken(type);
                    lex.advance();

                    while (LatteTokenTypes.nAttrSet.contains(type = lex.getTokenType())) {
View Full Code Here

TOP

Related Classes of com.intellij.psi.tree.IElementType

Copyright © 2018 www.massapicom. 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.