Skip to content

Commit

Permalink
release 1.4.38
Browse files Browse the repository at this point in the history
  • Loading branch information
m0rkeulv committed Feb 8, 2024
1 parent 0ff63d7 commit 64a391e
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 12 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
# Changelog
## 1.4.38
* Trying to fix some minor resolver regression
## 1.4.37
* Fixed: Issue where function-literal would show error if assigned to variable of type Dynamic or Any
* Improved: Better type resolve when generics are specified through constructor
Expand Down
2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ pluginName = Haxe Toolkit Support
pluginRepositoryUrl = https://github.com/HaxeFoundation/intellij-haxe

# SemVer format -> https://semver.org
pluginVersion = 1.4.37
pluginVersion = 1.4.38

# IntelliJ Platform Properties -> https://github.com/JetBrains/gradle-intellij-plugin#intellij-platform-properties
platformType = IU
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -358,20 +358,20 @@ static private ResultHolder _handle(final PsiElement element,
for (int i = 0; i < Math.min(specificNames.length, arguments.size()); i++) {
if (specificNames[i].equals(parameter.getTypeTagPsi().getTypeOrAnonymous().getText())) {
// we could try to map parameters and args, but in most cases this probably won't be necessary and it would make this part very complex
if (classReference.getSpecifics()[i].isUnknown()) {
@NotNull ResultHolder[] specifics = classReference.getSpecifics();
if (specifics[i].isUnknown()) {
ResultHolder handle = handle(arguments.get(i), context, resolver);
if (classReference.getSpecifics()[i].isUnknown()) {
classReference.getSpecifics()[i] = handle;
if (specifics[i].isUnknown()) {
specifics[i] = handle;
}else {
ResultHolder unified = HaxeTypeUnifier.unify(handle, classReference.getSpecifics()[i]);
classReference.getSpecifics()[i] = unified;
ResultHolder unified = HaxeTypeUnifier.unify(handle, specifics[i]);
specifics[i] = unified;
}
}
}
}
}
}
return typeHolder.duplicate();
}
}
}
Expand Down Expand Up @@ -1579,13 +1579,14 @@ public static ResultHolder searchReferencesForTypeParameters(final HaxePsiField
for (int i = 0; i < Math.min(specificNames.length, arguments.size()); i++) {
if (specificNames[i].equals(parameter.getTypeTagPsi().getTypeOrAnonymous().getText())) {
// we could try to map parameters and args, but in most cases this probably won't be necessary and it would make this part very complex
if (type.getSpecifics()[i].isUnknown()) {
@NotNull ResultHolder[] specifics = type.getSpecifics();
if (specifics[i].isUnknown()) {
ResultHolder handle = handle(arguments.get(i), context, resolver);
if (type.getSpecifics()[i].isUnknown()) {
type.getSpecifics()[i] = handle;
if (specifics[i].isUnknown()) {
specifics[i] = handle;
}else {
ResultHolder unified = HaxeTypeUnifier.unify(handle, type.getSpecifics()[i]);
type.getSpecifics()[i] = unified;
ResultHolder unified = HaxeTypeUnifier.unify(handle, specifics[i]);
specifics[i] = unified;
}
}
}
Expand Down

0 comments on commit 64a391e

Please sign in to comment.