public static String getBindingLabel(IBinding binding, long flags) {
StringBuffer buffer= new StringBuffer(60);
if (binding instanceof ITypeBinding) {
getTypeLabel(((ITypeBinding) binding), flags, buffer);
} else if (binding instanceof IMethodBinding) {
getMethodLabel(((IMethodBinding) binding), flags, buffer);
} else if (binding instanceof IVariableBinding) {
final IVariableBinding variable= (IVariableBinding) binding;
if (variable.isField()) {
getFieldLabel(variable, flags, buffer);
} else {
getLocalVariableLabel(variable, flags, buffer);
}
}
return Strings.markLTR(buffer.toString());
}