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}