Skip to content

Commit

Permalink
add implementation for JavaWildcardType
Browse files Browse the repository at this point in the history
Issue: TNG#723
Signed-off-by: Leonard Husmann <leonard.husmann@tum.de>
  • Loading branch information
leonardhusmann committed May 15, 2023
1 parent 687c714 commit 403d63b
Showing 1 changed file with 7 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,11 @@
package com.tngtech.archunit.core.domain;

import java.lang.reflect.WildcardType;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;

import com.google.common.collect.Sets;
import com.tngtech.archunit.PublicAPI;
import com.tngtech.archunit.core.domain.properties.HasUpperBounds;
import com.tngtech.archunit.core.importer.DomainBuilders.JavaWildcardTypeBuilder;
Expand Down Expand Up @@ -99,7 +100,11 @@ public JavaClass toErasure() {

@Override
public Set<JavaClass> getAllInvolvedRawTypes() {
return new HashSet<>();
Set<JavaClass> upperBoundsTypes =
this.upperBounds.stream().map(JavaType::getAllInvolvedRawTypes).flatMap(Set::stream).collect(Collectors.toSet());
Set<JavaClass> lowerBoundsTypes =
this.lowerBounds.stream().map(JavaType::getAllInvolvedRawTypes).flatMap(Set::stream).collect(Collectors.toSet());
return Sets.union(upperBoundsTypes, lowerBoundsTypes);
}

@Override
Expand Down

0 comments on commit 403d63b

Please sign in to comment.