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

Examples of com.dci.intellij.dbn.language.common.TokenType


        setDescription(tokenType.getValue() + " " + getTokenTypeCategory());
    }

    public TokenElementTypeImpl(ElementTypeBundle bundle, ElementType parent, String typeId, String id) throws ElementTypeDefinitionException {
        super(bundle, parent, id, (String)null);
        TokenType tokenType = bundle.getTokenTypeBundle().getTokenType(typeId);
        setTokenType(tokenType);
        setDescription(tokenType.getValue() + " " + getTokenTypeCategory());

        setDefaultFormatting(tokenType.getFormatting());
    }
View Full Code Here


        super(elementType);
    }

    public void init() {
        SharedTokenTypeBundle sharedTokenTypes = getElementType().getLanguage().getSharedTokenTypes();
        TokenType variable = sharedTokenTypes.getVariable();
        allPossibleTokens.add(variable);
        firstPossibleTokens.add(variable);
        firstRequiredTokens.add(variable);
    }
View Full Code Here

    public TokenElementTypeLookupCache(TokenElementType elementType) {
        super(elementType);
    }

    public void init() {
        TokenType tokenType = getElementType().getTokenType();
        allPossibleTokens.add(tokenType);
        firstPossibleTokens.add(tokenType);
        firstRequiredTokens.add(tokenType);
    }
View Full Code Here

            }
        }
    }

    public void compute(@NotNull ParsePathNode node, boolean mark) {
        TokenType tokenType = (TokenType) builder.getTokenType();
        if (tokenType == leftParenthesis) {
            depth++;
            int builderOffset =  builder.getCurrentOffset();
            NestedRangeStartMarker marker = new NestedRangeStartMarker(node, builderOffset);
            markers.push(marker);
View Full Code Here

        PsiBuilder.Marker marker = builder.mark();
        if (node != null) {
            WrappingDefinition wrapping = node.getElementType().getWrapping();
            if (wrapping != null) {
                TokenElementType beginElementType = wrapping.getBeginElementType();
                TokenType beginTokenType = beginElementType.getTokenType();
                while(builder.getTokenType() == beginTokenType) {
                    PsiBuilder.Marker beginTokenMarker = builder.mark();
                    advanceLexer(node.getParent(), true);
                    beginTokenMarker.done((IElementType) beginElementType);
                }
View Full Code Here

        if (marker != null) {
            if (node != null) {
                WrappingDefinition wrapping = node.getElementType().getWrapping();
                if (wrapping != null) {
                    TokenElementType endElementType = wrapping.getEndElementType();
                    TokenType endTokenType = endElementType.getTokenType();
                    while (builder.getTokenType() == endTokenType) {
                        PsiBuilder.Marker endTokenMarker = builder.mark();
                        advanceLexer(node, true);
                        endTokenMarker.done((IElementType) endElementType);
                    }
View Full Code Here

    }

    public ParseResult parse(@NotNull ParsePathNode parentNode, boolean optional, int depth, ParserContext context) throws ParseException {
        ParserBuilder builder = context.getBuilder();
        logBegin(builder, optional, depth);
        TokenType tokenType = builder.getTokenType();
        if (tokenType != null && !tokenType.isChameleon()){
            if (tokenType.isVariable()) {
                PsiBuilder.Marker marker = builder.mark(null);
                builder.advanceLexer(parentNode);
                return stepOut(marker, depth, ParseResultType.FULL_MATCH, 1, null, context);
            }
        }
View Full Code Here

        ParsePathNode node = createParseNode(parentNode, builder.getCurrentOffset());
        PsiBuilder.Marker marker = builder.mark(node);
        int matches = 0;
        int matchedTokens = 0;

        TokenType tokenType = builder.getTokenType();
        boolean isDummyToken = isDummyToken(builder.getTokenText());
        boolean isSuppressibleReservedWord =
                !elementType.is(ElementTypeAttribute.STATEMENT) &&
                isSuppressibleReservedWord(tokenType, node);


        if (tokenType != null && !tokenType.isChameleon() && (isDummyToken || isSuppressibleReservedWord || elementType.getLookupCache().canStartWithToken(tokenType))) {
            ElementType[] elementTypes = elementType.getElementTypes();
            while (node.getCurrentSiblingIndex() < elementTypes.length) {
                int index = node.getCurrentSiblingIndex();
                // is end of document
                if (tokenType == null || tokenType.isChameleon()) {
                    ParseResultType resultType =
                            elementType.isOptional(index) && (elementType.isLast(index) || elementType.isOptionalFromIndex(index)) ? ParseResultType.FULL_MATCH :
                            !elementType.isFirst(index) && !elementType.isOptionalFromIndex(index) && !elementType.isExitIndex(index) ? ParseResultType.PARTIAL_MATCH : ParseResultType.NO_MATCH;
                    return stepOut(marker, depth, resultType, matchedTokens, node, context);
                }
View Full Code Here

        ParserBuilder builder = context.getBuilder();
        PsiBuilder.Marker marker = builder.mark(null);
        SequenceElementType elementType = getElementType();
        ParseBuilderErrorHandler.updateBuilderError(elementType.getFirstPossibleTokensFromIndex(siblingPosition), context);

        TokenType tokenType = builder.getTokenType();
        siblingPosition++;
        while (tokenType != null) {
            int newIndex = getLandmarkIndex(tokenType, siblingPosition, node);

            // no landmark hit -> spool the builder
View Full Code Here

        return 0;
    }


    protected ParsePathNode advanceToLandmark_New(ParserBuilder builder, ParsePathNode node) {
        TokenType tokenType = builder.getTokenType();
        while (tokenType != null && !tokenType.isParserLandmark()) {
            builder.advanceLexer(node);
            tokenType = builder.getTokenType();
        }

        // scan current sequence
View Full Code Here

TOP

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

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.