@Override public PreprocessorAction process(List<Token> tokens) { Token token = tokens.get(0); if (token.getType() == CSharpTokenType.PREPROCESSOR) { return new PreprocessorAction(1, Lists.newArrayList(Trivia.createSkippedText(token)), new ArrayList<Token>()); } else { return PreprocessorAction.NO_OPERATION; } }
private void preprocess(Preprocessor preprocessor) { List<Token> remainingTokens = Collections.unmodifiableList(new ArrayList<Token>(tokens)); tokens.clear(); int i = 0; while (i < remainingTokens.size()) { PreprocessorAction action = preprocessor.process(remainingTokens.subList(i, remainingTokens.size())); checkNotNull(action, "A preprocessor cannot return a null PreprocessorAction"); addTrivia(action.getTriviaToInject()); for (int j = 0; j < action.getNumberOfConsumedTokens(); j++) { Token removedToken = remainingTokens.get(i); i++; addTrivia(removedToken.getTrivia()); } for (Token tokenToInject : action.getTokensToInject()) { addToken(tokenToInject); } if (action.getNumberOfConsumedTokens() == 0) { Token removedToken = remainingTokens.get(i); i++; addTrivia(removedToken.getTrivia()); addToken(removedToken); } } }
private void preprocess(Preprocessor preprocessor) { List<Token> remainingTokens = Collections.unmodifiableList(new ArrayList<>(tokens)); tokens.clear(); int i = 0; while (i < remainingTokens.size()) { PreprocessorAction action = preprocessor.process(remainingTokens.subList(i, remainingTokens.size())); Objects.requireNonNull(action, "A preprocessor cannot return a null PreprocessorAction"); addTrivia(action.getTriviaToInject()); for (int j = 0; j < action.getNumberOfConsumedTokens(); j++) { Token removedToken = remainingTokens.get(i); i++; addTrivia(removedToken.getTrivia()); } for (Token tokenToInject : action.getTokensToInject()) { addToken(tokenToInject); } if (action.getNumberOfConsumedTokens() == 0) { Token removedToken = remainingTokens.get(i); i++; addTrivia(removedToken.getTrivia()); addToken(removedToken); } } }
@Override public PreprocessorAction process(List<Token> tokens) { if (tokens.get(0).getType() == CSharpKeyword.USING) { try { AstNode usingDirectiveNode = this.parser.parse(tokens); return new PreprocessorAction(usingDirectiveNode.getToIndex(), new ArrayList<Trivia>(), new ArrayList<Token>()); } catch (RecognitionException re) { return PreprocessorAction.NO_OPERATION; } } else { return PreprocessorAction.NO_OPERATION; } }
private void preprocess(Preprocessor preprocessor) { List<Token> remainingTokens = Collections.unmodifiableList(new ArrayList<>(tokens)); tokens.clear(); int i = 0; while (i < remainingTokens.size()) { PreprocessorAction action = preprocessor.process(remainingTokens.subList(i, remainingTokens.size())); Objects.requireNonNull(action, "A preprocessor cannot return a null PreprocessorAction"); addTrivia(action.getTriviaToInject()); for (int j = 0; j < action.getNumberOfConsumedTokens(); j++) { Token removedToken = remainingTokens.get(i); i++; addTrivia(removedToken.getTrivia()); } for (Token tokenToInject : action.getTokensToInject()) { addToken(tokenToInject); } if (action.getNumberOfConsumedTokens() == 0) { Token removedToken = remainingTokens.get(i); i++; addTrivia(removedToken.getTrivia()); addToken(removedToken); } } }
@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; }