/** * Get a ClassInfo object, or create it if it doesn't exist. N.B. not threadsafe, so ClassInfo objects should * only ever be constructed by a single thread. */ static ClassInfo getOrCreateClassInfo(final String className, final int classModifiers, final Map<String, ClassInfo> classNameToClassInfo) { ClassInfo classInfo = classNameToClassInfo.get(className); if (classInfo == null) { classNameToClassInfo.put(className, classInfo = new ClassInfo(className, classModifiers)); } classInfo.modifiers |= classModifiers; if ((classModifiers & ANNOTATION_CLASS_MODIFIER) != 0) { classInfo.isAnnotation = true; } if ((classModifiers & Modifier.INTERFACE) != 0) { classInfo.isInterface = true; } return classInfo; }
if (classInfo == null) { classNameToClassInfo.put(className, classInfo = new ClassInfo(className, classModifiers)); } else {