Java: Allow overloading for exact model matches.

This commit is contained in:
Anders Schack-Mulligen
2024-05-22 14:26:50 +02:00
parent 0f864081cb
commit f353065d26
2 changed files with 10 additions and 10 deletions

View File

@@ -417,19 +417,19 @@ private Element interpretElement0(
) {
elementSpec(package, type, subtypes, name, signature, _) and
(
exists(Member m, boolean isExact0 |
exists(Member m |
(
result = m and isExact0 = true
result = m and isExact = true
or
subtypes = true and result.(SrcMethod).overridesOrInstantiates+(m) and isExact0 = false
subtypes = true and result.(SrcMethod).overridesOrInstantiates+(m) and isExact = false
) and
m.hasQualifiedName(package, type, name)
|
signature = "" and isExact = false
signature = ""
or
paramsStringQualified(m) = signature and isExact = isExact0
paramsStringQualified(m) = signature
or
paramsString(m) = signature and isExact = isExact0
paramsString(m) = signature
)
or
exists(RefType t |

View File

@@ -256,8 +256,8 @@ module Make<
/**
* Holds if there exists a model for which this callable is an exact
* match, that is, no overriding or overloading was used to identify this
* callable from the model.
* match, that is, no overriding was used to identify this callable from
* the model.
*/
predicate hasExactModel() { none() }
}
@@ -302,8 +302,8 @@ module Make<
/**
* Holds if there exists a model for which this callable is an exact
* match, that is, no overriding or overloading was used to identify this
* callable from the model.
* match, that is, no overriding was used to identify this callable from
* the model.
*/
predicate hasExactModel() { none() }
}