diff --git a/CHANGELOG.md b/CHANGELOG.md index 55e2e661a..b7224bb7b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased] +### Fixed + +- Inaccurate type comparisons between class and interface types, where class-to-class upcasts were + not always preferred over class-to-interface upcasts. + ## [1.18.0] - 2025-08-05 ### Added diff --git a/delphi-frontend/src/main/java/au/com/integradev/delphi/symbol/resolve/TypeComparer.java b/delphi-frontend/src/main/java/au/com/integradev/delphi/symbol/resolve/TypeComparer.java index 6c229625f..cfa015573 100644 --- a/delphi-frontend/src/main/java/au/com/integradev/delphi/symbol/resolve/TypeComparer.java +++ b/delphi-frontend/src/main/java/au/com/integradev/delphi/symbol/resolve/TypeComparer.java @@ -48,6 +48,7 @@ import org.sonar.plugins.communitydelphi.api.type.Type.PointerType; import org.sonar.plugins.communitydelphi.api.type.Type.ProceduralType; import org.sonar.plugins.communitydelphi.api.type.Type.StringType; +import org.sonar.plugins.communitydelphi.api.type.Type.StructType; import org.sonar.plugins.communitydelphi.api.type.Type.SubrangeType; final class TypeComparer { @@ -780,7 +781,11 @@ private static EqualityType compareParameters(List from, List