Bug 37399 Organize Imports can remove required inner interfaces [code manipulation]
import com.epiphany.shr.sf.ClusterSingletonStepped.SingletonStep; After organize imports, this import is turned into: import com.epiphany.shr.sf.ClusterSingletonStepped; If it is not legal to have inner interfaces I appologize and I will flog the coder. Otherwise, it appears that organize imports can potentially cause compiler errors that are hard to track down. I run it, and things look ok, but part of my import is gone. Interface definition: public abstract class ClusterSingletonStepped extends ClusterSingleton { ..... public interface SingletonStep ..... } Thanks for looking at this. Please let me know if I can add any additional information or answer any questions.
org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/correction/ChangeMethodSignatureProposal.java
IBinding[] bindings= (new ScopeAnalyzer()).getDeclarationsAfter(root, methodDecl.getBody().getStartPosition(), ScopeAnalyzer.VARIABLES);
			for (int i= 0; i < bindings.length; i++) {
				usedNames.add(bindings[i].getName());
			}
		}
		
		
		for (int i= 0; i < createdVariables.size(); i++) {
			SingleVariableDeclaration var= (SingleVariableDeclaration) createdVariables.get(i);
			String suggestedName= (String) var.getProperty(NAME_SUGGESTION);
			int dim= 0;
			if (suggestedName == null) {
				Type type= var.getType();
				if (type.isArrayType()) {
					dim= ((ArrayType) type).getDimensions();
					type= ((ArrayType) type).getElementType();
				}
				suggestedName= ASTNodes.asString(type);
			}
			String[] excludedNames= (String[]) usedNames.toArray(new String[usedNames.size()]);
			
			String name= NamingConventions.suggestArgumentNames(getCompilationUnit().getJavaProject(), "", suggestedName, dim, excludedNames)[0]; 
			var.setName(ast.newSimpleName(name));
			usedNames.add(name);
		}
	
		
	}
}