CompilationUnit root= (CompilationUnit) fNodeToAssign.getRoot(); IBinding[] varsBefore= (new ScopeAnalyzer(root)).getDeclarationsInScope(fNodeToAssign.getStartPosition(), ScopeAnalyzer.VARIABLES); IBinding[] varsAfter= (new ScopeAnalyzer(root)).getDeclarationsAfter(fNodeToAssign.getStartPosition() + fNodeToAssign.getLength(), ScopeAnalyzer.VARIABLES);  String[] names= new String[varsBefore.length + varsAfter.length]; for (int i= 0; i < varsBefore.length; i++) { names[i]= varsBefore[i].getName(); } for (int i= 0; i < varsAfter.length; i++) { names[i + varsBefore.length]= varsAfter[i].getName(); } return names;
return ASTResolving.getUsedVariableNames(fNodeToAssign);
	private String[] getUsedVariableNames() {		CompilationUnit root= (CompilationUnit) fNodeToAssign.getRoot();		IBinding[] varsBefore= (new ScopeAnalyzer(root)).getDeclarationsInScope(fNodeToAssign.getStartPosition(), ScopeAnalyzer.VARIABLES);		IBinding[] varsAfter= (new ScopeAnalyzer(root)).getDeclarationsAfter(fNodeToAssign.getStartPosition() + fNodeToAssign.getLength(), ScopeAnalyzer.VARIABLES);		String[] names= new String[varsBefore.length + varsAfter.length];		for (int i= 0; i < varsBefore.length; i++) {			names[i]= varsBefore[i].getName();		}		for (int i= 0; i < varsAfter.length; i++) {			names[i + varsBefore.length]= varsAfter[i].getName();		}		return names;	}