private static void addAsTypeLocationValues(EnumSet<TypeLocation> result, Object value) { if (value instanceof IVariableBinding) { String name= ((IVariableBinding) value).getName(); try { result.add(TypeLocation.valueOf(name)); } catch (IllegalArgumentException e) { // ignore } } else if (value instanceof Boolean) { if (((Boolean) value).booleanValue()) { result.add(TypeLocation.RETURN_TYPE); result.add(TypeLocation.PARAMETER); result.add(TypeLocation.FIELD); } } }
private static EnumSet<TypeLocation> determineNNBDValue(IAnnotationBinding annot) { EnumSet<TypeLocation> result= EnumSet.noneOf(TypeLocation.class); IMemberValuePairBinding[] pairs= annot.getAllMemberValuePairs(); for (final IMemberValuePairBinding pair : pairs) { if (pair.getKey() == null || pair.getKey().equals("value")) { //$NON-NLS-1$ Object value= pair.getValue(); if (value instanceof Object[]) { Object[] values= (Object[]) value; for (int k= 0; k < values.length; k++) { if (values[k] instanceof IVariableBinding) { String name= ((IVariableBinding) values[k]).getName(); try { result.add(TypeLocation.valueOf(name)); } catch (IllegalArgumentException e) { // ignore } } } } else if (value instanceof IVariableBinding) { String name= ((IVariableBinding) value).getName(); try { result.add(TypeLocation.valueOf(name)); } catch (IllegalArgumentException e) { // ignore } } } } return result; }