private List<Attribute> filterInterfaceMethodModifiers(List<? extends Attribute> modifiers) { assert modifiers != null; List<Attribute> results = new ArrayList<>(); for (Attribute attribute : modifiers) { if (attribute.getModelKind() == ModelKind.MODIFIER) { ModifierKind kind = ((Modifier) attribute).getModifierKind(); if (kind == ModifierKind.PUBLIC || kind == ModifierKind.ABSTRACT) { continue; } } else if (attribute.getModelKind() == ModelKind.SINGLE_ELEMENT_ANNOTATION) { SingleElementAnnotation an = (SingleElementAnnotation) attribute; Name name = an.getType().getName(); if (name.toNameString().equals(SuppressWarnings.class.getSimpleName())) { continue; } } results.add(attribute); } return results; } }
@Override public PrintWriter openFor( PackageDeclaration packageDeclOrNull, String subPath) throws IOException { StringBuilder buf = new StringBuilder(); if (packageDeclOrNull != null) { buf.append(packageDeclOrNull.getName().toNameString().replace('.', '/')); buf.append("/"); } assert subPath.endsWith(".java"); buf.append(subPath.substring(0, subPath.length() - 5)); VolatileJavaFile file = new VolatileJavaFile(buf.toString()); register(file); return new PrintWriter(file.openWriter()); }
@Override public PrintWriter openFor( PackageDeclaration packageDeclOrNull, String subPath) throws IOException { StringBuilder buf = new StringBuilder(); if (packageDeclOrNull != null) { buf.append(packageDeclOrNull.getName().toNameString().replace('.', '/')); buf.append("/"); } assert subPath.endsWith(".java"); buf.append(subPath.substring(0, subPath.length() - 5)); VolatileJavaFile file = new VolatileJavaFile(buf.toString()); register(file); return new PrintWriter(file.openWriter()); }