Skip to content

Commit

Permalink
Minor fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
StevenLooman committed May 2, 2024
1 parent 16939d0 commit 68bec6e
Show file tree
Hide file tree
Showing 4 changed files with 19 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -493,8 +493,9 @@ private void addSuperDoc(

final IDefinitionKeeper definitionKeeper = magikFile.getDefinitionKeeper();
final String indentStr = NBSP_NBSP.repeat(indent);
exemplarDef
.getParents()
final TypeStringResolver resolver = magikFile.getTypeStringResolver();
resolver
.getParents(typeStr)
.forEach(
parentTypeStr -> {
builder
Expand Down Expand Up @@ -627,7 +628,8 @@ private void buildTypeSignatureDoc(
builder.append(SECTION_END);
}

if (!exemplarDef.getParents().isEmpty()) {
final TypeStringResolver resolver = magikFile.getTypeStringResolver();
if (!resolver.getParents(typeStr).isEmpty()) {
builder.append("## Supers\n");
this.addSuperDoc(magikFile, exemplarDef, builder, 0);
builder.append(SECTION_END);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,7 @@ public List<TypeHierarchyItem> typeHierarchySubtypes(final TypeHierarchyItem ite
final TypeString searchedTypeString = definition.getTypeString();
final Comparator<TypeHierarchyItem> byName = Comparator.comparing(TypeHierarchyItem::getName);
return this.definitionKeeper.getExemplarDefinitions().stream()
.filter(def -> def.getParents().contains(searchedTypeString))
.filter(def -> resolver.getParents(def.getTypeString()).contains(searchedTypeString))
.map(this::toTypeHierarchyItem)
.sorted(byName)
.toList();
Expand All @@ -151,7 +151,7 @@ public List<TypeHierarchyItem> typeHierarchySupertypes(final TypeHierarchyItem i
}

final Comparator<TypeHierarchyItem> byName = Comparator.comparing(TypeHierarchyItem::getName);
return definition.getParents().stream()
return resolver.getParents(typeString).stream()
.map(resolver::getExemplarDefinition)
.filter(Objects::nonNull)
.map(this::toTypeHierarchyItem)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,6 +164,16 @@ private TypeString(final String currentPackage, final TypeString... combinations
this.genericType = null;
}

/**
* Get a copy of self, but with (new) generic definitions.
*
* @param genericDefinitions Generic definitions.
* @return Copy of self, with generic definitions.
*/
public TypeString withGenerics(final TypeString[] genericDefinitions) {
return TypeString.ofIdentifier(this.getIdentifier(), this.getPakkage(), genericDefinitions);
}

/**
* Create a {@link TypeString} of a generic definition.
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,7 @@ public ExemplarDefinition getExemplarDefinition(final TypeString typeString) {

// Prefer ExemplarDefinitions.
final ITypeStringDefinition exemplarDefefinition =
definitions.stream()
.filter(ExemplarDefinition.class::isInstance)
.findAny()
.orElse(null);
definitions.stream().filter(ExemplarDefinition.class::isInstance).findAny().orElse(null);
final ITypeStringDefinition definition =
exemplarDefefinition != null ? exemplarDefefinition : definitions.iterator().next();

Expand Down Expand Up @@ -358,7 +355,7 @@ public Collection<TypeString> getParents(final TypeString typeString) {
.map(
typeStr ->
// Let all parents inherit generic definitions.
TypeString.ofIdentifier(typeStr.getIdentifier(), typeStr.getPakkage(), thisGenDefs))
typeStr.withGenerics(thisGenDefs))
.collect(Collectors.toUnmodifiableSet());
}

Expand Down

0 comments on commit 68bec6e

Please sign in to comment.