private void _addOverrides(List<HierarchicType> typesWithOverrides, Set<ClassKey> seenTypes, Class<?> override) { ClassKey key = new ClassKey(override); if (!seenTypes.contains(key)) { seenTypes.add(key); ResolvedType resolvedOverride = _typeResolver.resolve(override); typesWithOverrides.add(new HierarchicType(resolvedOverride, true, typesWithOverrides.size())); for (ResolvedType r : resolvedOverride.getImplementedInterfaces()) { // interfaces? _addOverrides(typesWithOverrides, seenTypes, r); } ResolvedType superClass = resolvedOverride.getParentClass(); _addOverrides(typesWithOverrides, seenTypes, superClass); } }
private void _addOverrides(List<HierarchicType> typesWithOverrides, Set<ClassKey> seenTypes, Class<?> override) { ClassKey key = new ClassKey(override); if (!seenTypes.contains(key)) { seenTypes.add(key); ResolvedType resolvedOverride = _typeResolver.resolve(override); typesWithOverrides.add(new HierarchicType(resolvedOverride, true, typesWithOverrides.size())); for (ResolvedType r : resolvedOverride.getImplementedInterfaces()) { // interfaces? _addOverrides(typesWithOverrides, seenTypes, r); } ResolvedType superClass = resolvedOverride.getParentClass(); _addOverrides(typesWithOverrides, seenTypes, superClass); } }
@Override public void resolveAllTypes(String className) { // the resolved type for the top level class in the hierarchy Class<?> clazz = classLoaderService.getValue().classForName( className ); ResolvedType resolvedType = typeResolver.resolve( clazz ); while ( resolvedType != null ) { // todo - check whether there is already something in the map resolvedTypeCache.put( clazz, resolvedType ); resolvedType = resolvedType.getParentClass(); if ( resolvedType != null ) { clazz = resolvedType.getErasedType(); } } }
@Override public void resolveAllTypes(String className) { // the resolved type for the top level class in the hierarchy Class<?> clazz = classLoaderService.getValue().classForName( className ); ResolvedType resolvedType = typeResolver.resolve( clazz ); while ( resolvedType != null ) { // todo - check whether there is already something in the map resolvedTypeCache.put( clazz, resolvedType ); resolvedType = resolvedType.getParentClass(); if ( resolvedType != null ) { clazz = resolvedType.getErasedType(); } } }
private void _addOverrides(List<HierarchicType> typesWithOverrides, Set<ClassKey> seenTypes, ResolvedType override) { if (override == null) return; // first: may need to exclude Object.class: Class<?> raw = override.getErasedType(); if (!_cfgIncludeLangObject && Object.class == raw) return; ClassKey key = new ClassKey(raw); if (!seenTypes.contains(key)) { seenTypes.add(key); typesWithOverrides.add(new HierarchicType(override, true, typesWithOverrides.size())); for (ResolvedType r : override.getImplementedInterfaces()) { // interfaces? _addOverrides(typesWithOverrides, seenTypes, r); } ResolvedType superClass = override.getParentClass(); if (superClass != null) { _addOverrides(typesWithOverrides, seenTypes, superClass); } } }
private void _addOverrides(List<HierarchicType> typesWithOverrides, Set<ClassKey> seenTypes, ResolvedType override) { if (override == null) return; // first: may need to exclude Object.class: Class<?> raw = override.getErasedType(); if (!_cfgIncludeLangObject && Object.class == raw) return; ClassKey key = new ClassKey(raw); if (!seenTypes.contains(key)) { seenTypes.add(key); typesWithOverrides.add(new HierarchicType(override, true, typesWithOverrides.size())); for (ResolvedType r : override.getImplementedInterfaces()) { // interfaces? _addOverrides(typesWithOverrides, seenTypes, r); } ResolvedType superClass = override.getParentClass(); if (superClass != null) { _addOverrides(typesWithOverrides, seenTypes, superClass); } } }
ResolvedType pc = getParentClass(); if (pc != null) { ResolvedType type = pc.findSupertype(erasedSupertype);
ResolvedType pc = getParentClass(); if (pc != null) { ResolvedType type = pc.findSupertype(erasedSupertype);
_gatherTypes(currentType.getParentClass(), seenTypes, types);
_gatherTypes(currentType.getParentClass(), seenTypes, types);