magento / magento/magento2-phpstorm-plugin

java.lang.Throwable: The method designed for fully qualified names only. Got "null|string".

Open
#1,589 1 comment 0 reactions 0 assignees View on GitHub
bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.