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); } } }
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); } } }