String build() { invokeImportModifiers(); return JOINER.join(Iterables.transform(imports, ToImportStatement.FUNCTION)); }
void addOriginalImport(String name, String qualifiedName, String importedPackage) { originalImports.put(name, qualifiedName); if (!omittedImport(name, qualifiedName)) { imports.add(importedPackage); } }
nextPartFrom = i + 2; currentPackage = content.subSequence(packageFrom, i).toString(); importsBuilder.setCurrentPackage(currentPackage); state = State.UNDEFINED; packageFrom = -1; importsBuilder.addOriginalImport( simpleName, qualifiedName, packageFromImport); } else { importsBuilder.addImport(content.subSequence(importFrom, i).toString()); importStarts = false; if (classNameOccurrencesInImportBlock == 1) { importsBuilder.addToStopList(content.subSequence(classNameFrom, classNameTo).toString()); nameMachine.reset(); classNameOccurrencesInImportBlock = 0; qualifiedNameMachine.nextChar(c, i); if (qualifiedNameMachine.isFinished()) { importsBuilder.addImportCandidate( content.subSequence(qualifiedNameMachine.packageTo, qualifiedNameMachine.importTo).toString(), content.subSequence(qualifiedNameMachine.importFrom, qualifiedNameMachine.importTo).toString(), importsBuilder.addException( content.subSequence(nameMachine.classNameFrom, nameMachine.classNameTo).toString()); importsBuilder.preBuild();
static CharSequence collectHeader(CharSequence content) { try { return rewrite(content, new ImportsBuilder(), ScanAtMost.HEADER); } catch (UnsupportedEncodingException ex) { return ""; } }
static CharSequence rewrite(CharSequence content) { try { return rewrite(content, new ImportsBuilder(), ScanAtMost.ALL); } catch (UnsupportedEncodingException ex) { return content; } }
void addImportCandidate(String name, String qualifiedName, int importFrom, int importTo, int packageTo) { @Nullable String foundQualified = nameToQualified.get(name); if (foundQualified != null && !foundQualified.equals(qualifiedName)) { return; } nameToQualified.put(name, qualifiedName); if (omittedImport(name, qualifiedName)) { importTo = NO_IMPORT; } importCandidates.put(qualifiedName, new ImportCandidate(importFrom, importTo, packageTo, qualifiedName, name)); }
static Imports collectImports(CharSequence content) { try { ImportsBuilder importsBuilder = new ImportsBuilder(); rewrite(content, importsBuilder, ScanAtMost.IMPORTS); return Imports.of(importsBuilder.imports, importsBuilder.originalImports); } catch (UnsupportedEncodingException ex) { return Imports.empty(); } }