private void addClass(ClassInfo clazz) { addClassName(clazz.name()); if (clazz.superName() != null) addClassName(clazz.superName()); addTypeList(clazz.typeParameterArray()); addTypeList(clazz.interfaceTypeArray()); addType(clazz.superClassType()); // Inner class data DotName enclosingClass = clazz.enclosingClass(); if (enclosingClass != null) { addClassName(enclosingClass); } String name = clazz.simpleName(); if (name != null) { addString(name); } addEnclosingMethod(clazz.enclosingMethod()); addMethodList(clazz.methodArray()); addFieldList(clazz.fieldArray()); for (Entry<DotName, List<AnnotationInstance>> entry : clazz.annotations().entrySet()) { addClassName(entry.getKey()); for (AnnotationInstance instance: entry.getValue()) { addAnnotation(instance); } } }
stream.writePackedU32(simpleName == null ? 0 : positionOf(simpleName)); ClassInfo.EnclosingMethodInfo enclosingMethod = clazz.enclosingMethod(); if (enclosingMethod == null) { stream.writeByte(NO_ENCLOSING_METHOD);