@Override public void visitAfter(JavaClass obj) { for (String i : obj.getInterfaceNames()) { if ("java.lang.annotation.Annotation".equals(i)) { AnalysisContext.currentAnalysisContext().getAnnotationRetentionDatabase() .setRuntimeRetention(getDottedClassName(), runtimeRetention); } } }
v[i] = 1; String ins[] = c.getInterfaceNames(); if (ins != null && ins.length > 0) { out.write(IMPLEMENTS);
for (String implementedInterface : c.getInterfaceNames()) { n = lookInOverriddenMethod(o, implementedInterface, m, getMinimal); if (n != null) {
String[] interface_names = obj.getInterfaceNames(); for (String interface_name : interface_names) { if ("java.io.Externalizable".equals(interface_name)) {
String[] interfaceNames = obj.getInterfaceNames(); if ((interfaceNames == null) || (interfaceNames.length == 0)) { return;
.addClass(superClassName)); for (String interfaceName : obj.getInterfaceNames()) { if (sameSimpleName(interfaceName, name)) { bugReporter.reportBug(new BugInstance(this, "NM_SAME_SIMPLE_NAME_AS_INTERFACE", NORMAL_PRIORITY).addClass(
String[] interface_names = obj.getInterfaceNames(); for (String interface_name : interface_names) { if ("java.io.Externalizable".equals(interface_name)) {
String[] interface_names = obj.getInterfaceNames(); for (String interface_name : interface_names) { if ("java.lang.Cloneable".equals(interface_name)) {
@Override public void parse(final ClassNameAndSuperclassInfo.Builder builder) throws InvalidClassFileFormatException { builder.setCodeBaseEntry(codeBaseEntry); builder.setAccessFlags(javaClass.getAccessFlags()); ClassDescriptor classDescriptor = DescriptorFactory.createClassDescriptorFromDottedClassName(javaClass.getClassName()); if (expectedClassDescriptor != null && expectedClassDescriptor.equals(classDescriptor)) { throw new InvalidClassFileFormatException("Expected " + expectedClassDescriptor, classDescriptor, codeBaseEntry); } builder.setClassDescriptor(classDescriptor); builder.setSuperclassDescriptor(DescriptorFactory.createClassDescriptorFromDottedClassName(javaClass.getSuperclassName())); String[] allInterfaces = javaClass.getInterfaceNames(); ClassDescriptor[] allInterfaceDescriptiors; if (allInterfaces.length == 0) { allInterfaceDescriptiors = ClassDescriptor.EMPTY_ARRAY; } else { allInterfaceDescriptiors = new ClassDescriptor[allInterfaces.length]; for (int i = 0; i < allInterfaces.length; i++) { allInterfaceDescriptiors[i] = DescriptorFactory.createClassDescriptorFromDottedClassName(allInterfaces[i]); } } builder.setInterfaceDescriptorList(allInterfaceDescriptiors); }
/** * Get interfaces directly implemented by this JavaClass. */ public JavaClass[] getInterfaces() throws ClassNotFoundException { final String[] _interfaces = getInterfaceNames(); final JavaClass[] classes = new JavaClass[_interfaces.length]; for (int i = 0; i < _interfaces.length; i++) { classes[i] = repository.loadClass(_interfaces[i]); } return classes; }
/** * Get interfaces directly implemented by this JavaClass. */ public JavaClass[] getInterfaces() { String[] interfaces = getInterfaceNames(); JavaClass[] classes = new JavaClass[interfaces.length]; try { for(int i = 0; i < interfaces.length; i++) { classes[i] = repository.loadClass(interfaces[i]); } } catch(ClassNotFoundException e) { System.err.println(e); return null; } return classes; }
private List<JavaClass> getInterfaces(JavaClass classInterface) { List<JavaClass> interfaces = new ArrayList<>(); String[] interfaceNames = classInterface.getInterfaceNames(); for (String intface : interfaceNames) { JavaClass clazz1 = ClassRepo.findClass(intface); // Added guard to prevent NullPointerExceptions in case libs are not provided - the dev can choose to include it and rerun the generator if (clazz1 == null) { System.out.println("ignoring definitions in missing dependency: " + intface); continue; } String className = clazz1.getClassName(); // TODO: Pete: Hardcoded until we figure out how to go around the 'type incompatible with Object' issue if (className.equals("java.util.Iterator") || className.equals("android.animation.TypeEvaluator") || className.equals("java.lang.Comparable") || className.startsWith("java.util.function")) { continue; } interfaces.add(clazz1); } return interfaces; }
@Override public void visitAfter(JavaClass obj) { for (String i : obj.getInterfaceNames()) { if ("java.lang.annotation.Annotation".equals(i)) { AnalysisContext.currentAnalysisContext().getAnnotationRetentionDatabase() .setRuntimeRetention(getDottedClassName(), runtimeRetention); } } }
String[] interfaceNames = obj.getInterfaceNames(); if ((interfaceNames == null) || (interfaceNames.length == 0)) { return;
.addClass(superClassName)); for (String interfaceName : obj.getInterfaceNames()) { if (sameSimpleName(interfaceName, name)) { bugReporter.reportBug(new BugInstance(this, "NM_SAME_SIMPLE_NAME_AS_INTERFACE", NORMAL_PRIORITY).addClass(
String[] interface_names = obj.getInterfaceNames(); for (String interface_name : interface_names) { if ("java.lang.Cloneable".equals(interface_name)) {
@Override public void parse(final ClassNameAndSuperclassInfo.Builder builder) throws InvalidClassFileFormatException { builder.setCodeBaseEntry(codeBaseEntry); builder.setAccessFlags(javaClass.getAccessFlags()); ClassDescriptor classDescriptor = DescriptorFactory.createClassDescriptorFromDottedClassName(javaClass.getClassName()); if (expectedClassDescriptor != null && expectedClassDescriptor.equals(classDescriptor)) { throw new InvalidClassFileFormatException("Expected " + expectedClassDescriptor, classDescriptor, codeBaseEntry); } builder.setClassDescriptor(classDescriptor); builder.setSuperclassDescriptor(DescriptorFactory.createClassDescriptorFromDottedClassName(javaClass.getSuperclassName())); String[] allInterfaces = javaClass.getInterfaceNames(); ClassDescriptor[] allInterfaceDescriptiors; if (allInterfaces.length == 0) { allInterfaceDescriptiors = ClassDescriptor.EMPTY_ARRAY; } else { allInterfaceDescriptiors = new ClassDescriptor[allInterfaces.length]; for (int i = 0; i < allInterfaces.length; i++) { allInterfaceDescriptiors[i] = DescriptorFactory.createClassDescriptorFromDottedClassName(allInterfaces[i]); } } builder.setInterfaceDescriptorList(allInterfaceDescriptiors); }
/** * Initialize with existing class. * @param clazz JavaClass object (e.g. read from file) */ public ClassGen(JavaClass clazz) { class_name_index = clazz.getClassNameIndex(); superclass_name_index = clazz.getSuperclassNameIndex(); class_name = clazz.getClassName(); super_class_name = clazz.getSuperclassName(); file_name = clazz.getSourceFileName(); access_flags = clazz.getAccessFlags(); cp = new ConstantPoolGen(clazz.getConstantPool()); major = clazz.getMajor(); minor = clazz.getMinor(); Attribute[] attributes = clazz.getAttributes(); Method[] methods = clazz.getMethods(); Field[] fields = clazz.getFields(); String[] interfaces = clazz.getInterfaceNames(); for(int i=0; i < interfaces.length; i++) addInterface(interfaces[i]); for(int i=0; i < attributes.length; i++) addAttribute(attributes[i]); for(int i=0; i < methods.length; i++) addMethod(methods[i]); for(int i=0; i < fields.length; i++) addField(fields[i]); }
@Override public void visitJavaClass(JavaClass obj) { current = javaClassDao.getJavaClass(obj.getClassName()); int major = obj.getMajor(); int minor = obj.getMinor(); current.setMajorVersion(major); current.setMinorVersion(minor); current.addResource(resource); current.setPackageName(obj.getPackageName()); for (String interfaceName : obj.getInterfaceNames()) { org.jboss.windup.graph.model.resource.JavaClass interfaceClass = javaClassDao.getJavaClass(interfaceName); // then we make the connection. current.addImplements(interfaceClass); } // process the pool. Constant[] pool = obj.getConstantPool().getConstantPool(); for (Constant c : pool) { if (c == null) continue; c.accept(this); } String superClz = obj.getSuperclassName(); org.jboss.windup.graph.model.resource.JavaClass superJavaClass = javaClassDao.getJavaClass(superClz); current.setExtends(superJavaClass); }
final Method[] methods = clazz.getMethods(); final Field[] fields = clazz.getFields(); final String[] interfaces = clazz.getInterfaceNames(); for (final String interface1 : interfaces) { addInterface(interface1);