magento / magento/magento2-phpstorm-plugin
java.lang.Throwable: The method designed for fully qualified names only. Got "null|string".
- Dominant language
- Java
- Stars
- 463
- Forks
- 98
- Avg merge
- 1h 6m
- Merged PRs (30d)
- 3
Description
**Describe the bug** (*)
A clear and concise description of what the bug is.
```
java.lang.Throwable: The method designed for fully qualified names only. Got "null|string".
at com.intellij.openapi.diagnostic.Logger.error(Logger.java:202)
at com.jetbrains.php.util.PhpContractUtil.assertFqn(PhpContractUtil.java:19)
at com.jetbrains.php.codeInsight.PhpCodeInsightUtil.isSameNamespace(PhpCodeInsightUtil.java:1587)
at com.magento.idea.magento2plugin.actions.generation.references.PhpClassReferenceResolver.alreadyImported(PhpClassReferenceResolver.java:98)
at com.magento.idea.magento2plugin.actions.generation.references.PhpClassReferenceResolver.importWithConflictResolve(PhpClassReferenceResolver.java:135)
at com.magento.idea.magento2plugin.actions.generation.references.PhpClassReferenceResolver.importReferences(PhpClassReferenceResolver.java:68)
at com.magento.idea.magento2plugin.actions.generation.generator.PluginClassGenerator.lambda$generate$2(PluginClassGenerator.java:198)
at com.intellij.openapi.command.WriteCommandAction.lambda$runWriteCommandAction$4(WriteCommandAction.java:360)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$1(WriteCommandAction.java:149)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:958)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.lambda$doRunWriteCommandAction$2(WriteCommandAction.java:147)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:219)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:184)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.doRunWriteCommandAction(WriteCommandAction.java:156)
at com.intellij.openapi.command.WriteCommandAction$BuilderImpl.run(WriteCommandAction.java:123)
at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:360)
at com.intellij.openapi.command.WriteCommandAction.runWriteCommandAction(WriteCommandAction.java:348)
at com.magento.idea.magento2plugin.actions.generation.generator.PluginClassGenerator.generate(PluginClassGenerator.java:96)
at com.magento.idea.magento2plugin.actions.generation.generator.FileGenerator.generate(FileGenerator.java:41)
at com.magento.idea.magento2plugin.actions.generation.dialog.CreateAPluginDialog.onOK(CreateAPluginDialog.java:187)
at com.magento.idea.magento2plugin.actions.generation.dialog.CreateAPluginDialog.lambda$new$0(CreateAPluginDialog.java:141)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
at java.desktop/javax.swing.AbstractButton.doClick(AbstractButton.java:374)
at java.desktop/javax.swing.plaf.basic.BasicRootPaneUI$Actions.actionPerformed(BasicRootPaneUI.java:259)
at java.desktop/javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1810)
at java.desktop/javax.swing.JComponent.processKeyBinding(JComponent.java:2943)
at java.desktop/javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:311)
at java.desktop/javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:253)
at java.desktop/javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:3036)
at java.desktop/javax.swing.JComponent.processKeyBindings(JComponent.java:3028)
at java.desktop/javax.swing.JComponent.processKeyEvent(JComponent.java:2905)
at java.desktop/java.awt.Component.processEvent(Component.java:6433)
at java.desktop/java.awt.Container.processEvent(Container.java:2266)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5026)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
at java.desktop/java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1953)
at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:886)
at java.desktop/java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1166)
at java.desktop/java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:1023)
at java.desktop/java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:849)
at com.intellij.ide.IdeKeyboardFocusManager.access$dispatchEvent$s1569605750(IdeKeyboardFocusManager.kt:18)
at com.intellij.ide.IdeKeyboardFocusManager$dispatchEvent$1.invoke(IdeKeyboardFocusManager.kt:25)
at com.intellij.ide.IdeKeyboardFocusManager$dispatchEvent$1.invoke(IdeKeyboardFocusManager.kt:25)
at com.intellij.ide.IdeEventQueueKt.performActivity$lambda$1(IdeEventQueue.kt:994)
at com.intellij.openapi.application.TransactionGuardImpl.performActivity(TransactionGuardImpl.java:105)
at com.intellij.ide.IdeEventQueueKt.performActivity(IdeEventQueue.kt:994)
at com.intellij.ide.IdeKeyboardFocusManager.dispatchEvent(IdeKeyboardFocusManager.kt:25)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4903)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2804)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4854)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:790)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:739)
at java.desktop/java.awt.EventQueue$3.run(EventQueue.java:731)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:763)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:761)
at java.base/java.security.AccessCont
```
**To Reproduce** (*)
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior** (*)
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Please complete the following information:** (*)
- OS: Windows 11.0
- PhpStorm/Intellij version: 2023.1.1
- Plugin Version: 5.1.1
**Additional context**
Add any other context about the problem here.
Contributor guide
Research direction
Start by reading PhpClassReferenceResolver.alreadyImported and the surrounding import flow, then trace how PluginClassGenerator.generate reaches it from CreateAPluginDialog. Use the reported null|string failure as the reproduction target; done means plugin class generation no longer raises the fully qualified name assertion, though the issue does not define a concrete test or reproduction setup.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java, php
- Domain
- devtools
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100