001/*-------------------------------------------------------------------------+
002|                                                                          |
003| Copyright (c) 2009-2017 CQSE GmbH                                        |
004|                                                                          |
005+-------------------------------------------------------------------------*/
006package eu.cqse.check.framework.shallowparser.languages.cobol;
007
008import java.util.List;
009
010import eu.cqse.check.framework.scanner.IToken;
011import eu.cqse.check.framework.shallowparser.framework.ParserState;
012import eu.cqse.check.framework.shallowparser.framework.RecognizerBase;
013
014/**
015 * A recognizer that indicates that we are outside of a scope.
016 */
017public class OutOfScopeRecognizer extends RecognizerBase<ECobolParserState> {
018
019        /** {@inheritDoc} */
020        @Override
021        protected int matchesLocally(ParserState<ECobolParserState> parserState, List<IToken> tokens, int startOffset) {
022                if (ScopeUtils.currentlyInScope(tokens, startOffset)) {
023                        return NO_MATCH;
024                }
025
026                return super.matchesLocally(parserState, tokens, startOffset);
027        }
028
029}