+
+
+ // Check if this is a callback class
+ private boolean isCallbackClass(String className) {
+
+ Set<String> intfaceSet = mapIntDeclHand.keySet();
+ for(String intface : intfaceSet) {
+
+ DeclarationHandler decHandler = mapIntDeclHand.get(intface);
+ InterfaceDecl intDecl = (InterfaceDecl) decHandler.getInterfaceDecl(intface);
+ Map<String,Set<String>> mapNewIntMethods = mapInt2NewInts.get(intface);
+ for (Map.Entry<String,Set<String>> intMeth : mapNewIntMethods.entrySet()) {
+ Set<String> methods = intMeth.getValue();
+ for (String method : methods) {
+
+ List<String> methPrmTypes = intDecl.getMethodParamTypes(method);
+ List<String> methParams = intDecl.getMethodParams(method);
+ for (int i = 0; i < methPrmTypes.size(); i++) {
+
+ String type = methPrmTypes.get(i);
+ if (getParamCategory(type) == ParamCategory.USERDEFINED) {
+ // Final check to see if this is the searched class
+ if (type.equals(className))
+ return true;
+ } else if (getParamCategory(type) == ParamCategory.NONPRIMITIVES) {
+ // Can be a List<...> of callback objects ...
+ String genericType = getTypeOfGeneric(type)[0];
+ if (getParamCategory(type) == ParamCategory.USERDEFINED) {
+ if (type.equals(className))
+ return true;
+ }
+ }
+ }
+ }
+ }
+ }
+
+ return false;
+ }