@Override public PreprocessorAction process(List<Token> tokens) { Token token = tokens.get(0); if (token.getType().equals(GenericTokenType.EOF)) { if (lexerState.indentationStack.isEmpty()) { return PreprocessorAction.NO_OPERATION; } List<Token> tokensToInject = new ArrayList<>(); while (lexerState.indentationStack.peek() > 0) { lexerState.indentationStack.pop(); tokensToInject.add(Token.builder(token) .setURI(token.getURI()) .setType(PythonTokenType.DEDENT) .setLine(token.getLine()) .setColumn(token.getColumn()) .setValueAndOriginalValue("") .build()); } return new PreprocessorAction(0, Collections.<Trivia>emptyList(), tokensToInject); } return PreprocessorAction.NO_OPERATION; }
@Override public PreprocessorAction process(List<Token> tokens) { Token token = tokens.get(0); if (token.getType().equals(GenericTokenType.EOF)) { if (lexerState.indentationStack.isEmpty()) { return PreprocessorAction.NO_OPERATION; } List<Token> tokensToInject = Lists.newArrayList(); while (lexerState.indentationStack.peek() > 0) { lexerState.indentationStack.pop(); tokensToInject.add(Token.builder(token) .setURI(token.getURI()) .setType(PythonTokenType.DEDENT) .setLine(token.getLine()) .setColumn(token.getColumn()) .setValueAndOriginalValue("") .build()); } return new PreprocessorAction(0, Collections.<Trivia>emptyList(), tokensToInject); } return PreprocessorAction.NO_OPERATION; }
@Override public PreprocessorAction process(List<Token> tokens) { Token token = tokens.get(0); if (token.getType().equals(GenericTokenType.EOF)) { if (lexerState.indentationStack.isEmpty()) { return PreprocessorAction.NO_OPERATION; } List<Token> tokensToInject = new ArrayList<>(); while (lexerState.indentationStack.peek() > 0) { lexerState.indentationStack.pop(); tokensToInject.add(Token.builder(token) .setURI(token.getURI()) .setType(PythonTokenType.DEDENT) .setLine(token.getLine()) .setColumn(token.getColumn()) .setValueAndOriginalValue("") .build()); } return new PreprocessorAction(0, Collections.<Trivia>emptyList(), tokensToInject); } return PreprocessorAction.NO_OPERATION; }