Skip to content

Commit 51c78ef

Browse files
author
Vitaliy Boyko
committed
Fixed Java.lang.IllegalArgumentException During adding a new method into an existing plugin
Adjusted plugin logo
1 parent 66edec0 commit 51c78ef

File tree

3 files changed

+26
-8
lines changed

3 files changed

+26
-8
lines changed

CHANGELOG.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0).
66

77
## 3.2.2
88

9+
### Fixed
10+
11+
- `Java.lang.IllegalArgumentException` During adding a new method into an existing plugin
12+
913
## 3.2.1
1014

1115
### Fixed

resources/META-INF/pluginIcon.svg

Lines changed: 7 additions & 1 deletion
Loading

src/com/magento/idea/magento2plugin/actions/generation/PluginGenerateMethodHandlerBase.java

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@
4444
import gnu.trove.THashSet;
4545
import java.util.ArrayList;
4646
import java.util.Collection;
47-
import java.util.Collections;
4847
import java.util.Iterator;
4948
import java.util.List;
5049
import java.util.Locale;
@@ -318,18 +317,27 @@ public static Collection<PhpNamedElementNode> fixOrderToBeAsOriginalFiles(
318317
final PhpNamedElementNode... selected
319318
) {
320319
final List<PhpNamedElementNode> newSelected = ContainerUtil.newArrayList(selected);
321-
Collections.sort(newSelected, (o1, o2) -> {
320+
newSelected.sort((o1, o2) -> {
322321
final PsiElement psiElement = o1.getPsiElement();
323322
final PsiElement psiElement2 = o2.getPsiElement();
324323
final PsiFile containingFile = psiElement.getContainingFile();
325324
final PsiFile containingFile2 = psiElement2.getContainingFile();
326325
return containingFile.equals(containingFile2)
327-
? psiElement.getTextOffset() - psiElement2.getTextOffset()
328-
: containingFile.getName().compareTo(containingFile2.getName());
326+
? psiElement.getTextOffset() - psiElement2.getTextOffset()
327+
: getDocumentPosition(containingFile, containingFile2);
329328
});
330329
return newSelected;
331330
}
332331

332+
private static int getDocumentPosition(
333+
final PsiFile containingFile,
334+
final PsiFile containingFile2
335+
) {
336+
return containingFile.getVirtualFile().getPresentableUrl().compareTo(
337+
containingFile2.getVirtualFile().getPresentableUrl()
338+
);
339+
}
340+
333341
private static int getSuitableEditorPosition(final Editor editor, final PhpFile phpFile) {
334342
final PsiElement currElement = phpFile.findElementAt(editor.getCaretModel().getOffset());
335343
if (currElement != null) {
@@ -371,9 +379,9 @@ private static boolean isClassMember(final PsiElement element) {
371379
return false;
372380
}
373381
final IElementType elementType = element.getNode().getElementType();
374-
return elementType == PhpElementTypes.CLASS_FIELDS
375-
|| elementType == PhpElementTypes.CLASS_CONSTANTS
376-
|| elementType == PhpStubElementTypes.CLASS_METHOD;
382+
return elementType.equals(PhpElementTypes.CLASS_FIELDS)
383+
|| elementType.equals(PhpElementTypes.CLASS_CONSTANTS)
384+
|| elementType.equals(PhpStubElementTypes.CLASS_METHOD);
377385
}
378386

379387
private static int getNextPos(final PsiElement element) {

0 commit comments

Comments
 (0)