haehnchen / idea-php-toolbox Goto Github PK
View Code? Open in Web Editor NEWCollections of tools and improvements to make PhpStorm a little bit better
Home Page: http://phpstorm.espend.de/php-toolbox
License: MIT License
Collections of tools and improvements to make PhpStorm a little bit better
Home Page: http://phpstorm.espend.de/php-toolbox
License: MIT License
Currently there are two properties: signatures
and signature
. Why create two separate properties? Better use only one:
"signatures": [
{
"class": "Symfony\\Component\\HttpFoundation\\Response",
"method": "__construct",
"type": "array_key",
"index": 2
},
"Symfony\\Component\\HttpFoundation\\HeaderBag:set"
]
Use case: Form::add($name, $type, $options)
- 3rd argument would has different keys for different $type
value.
This is one neat plugin, but it would be amazing if I could specify a provider for array value, is this possible? The documentation is hard to understand which part goes where.
"providers": [
{
"name": "array_key_value",
"items": [
{
"lookup_string": "date",
// I want to show specific values for ['date' => '<caret>']
}
]
}
]
foo('SqlFormatter::format')
for every string
some unordered todo list based on https://github.com/Haehnchen/idea-php-symfony2-plugin/milestones/Plugin%20Cleanup :
nice2have:
null
java.lang.NullPointerException
at de.espend.idea.php.toolbox.matcher.php.container.ContainerConditions$TypeSignatureCondition.value(ContainerConditions.java:45)
at de.espend.idea.php.toolbox.matcher.php.container.ContainerConditions$TypeSignatureCondition.value(ContainerConditions.java:36)
at com.intellij.util.containers.ContainerUtil.find(ContainerUtil.java:883)
at com.intellij.util.containers.ContainerUtil.find(ContainerUtil.java:854)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypesInner(ExtensionProviderUtil.java:196)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$100(ExtensionProviderUtil.java:39)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$4.compute(ExtensionProviderUtil.java:175)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypes(ExtensionProviderUtil.java:182)
at de.espend.idea.php.toolbox.type.PhpToolboxTypeProvider.getType(PhpToolboxTypeProvider.java:50)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)
at com.jetbrains.php.lang.psi.elements.impl.MemberReferenceImpl.resolveGlobal(MemberReferenceImpl.java:142)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl$1.resolve(PhpReferenceImpl.java:144)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl$1.resolve(PhpReferenceImpl.java:141)
at com.intellij.psi.impl.source.resolve.ResolveCache$3.compute(ResolveCache.java:142)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.psi.impl.source.resolve.ResolveCache.a(ResolveCache.java:139)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:167)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:159)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.multiResolve(PhpReferenceImpl.java:136)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.resolve(PhpReferenceImpl.java:122)
at com.jetbrains.php.lang.annotator.PhpAnnotatorVisitor.checkAccessModifiers(PhpAnnotatorVisitor.java:406)
at com.jetbrains.php.lang.annotator.PhpAnnotatorVisitor.visitPhpMethodReference(PhpAnnotatorVisitor.java:388)
at com.jetbrains.php.lang.psi.elements.impl.MethodReferenceImpl.accept(MethodReferenceImpl.java:29)
at com.jetbrains.php.lang.annotator.PhpAnnotator.annotate(PhpAnnotator.java:19)
at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.a(DefaultHighlightVisitor.java:162)
at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:103)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:354)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$100(GeneralHighlightingPass.java:65)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$3.run(GeneralHighlightingPass.java:283)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:308)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$200(GeneralHighlightingPass.java:65)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$4.run(GeneralHighlightingPass.java:314)
at com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor.analyze(XmlHighlightVisitor.java:750)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:311)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$200(GeneralHighlightingPass.java:65)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$4.run(GeneralHighlightingPass.java:314)
at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:87)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:311)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:280)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:219)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:82)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:67)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:444)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1177)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:435)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:432)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:408)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:206)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
java.lang.NullPointerException
at de.espend.idea.php.toolbox.matcher.php.container.ContainerConditions$TypeSignatureCondition.value(ContainerConditions.java:45)
at de.espend.idea.php.toolbox.matcher.php.container.ContainerConditions$TypeSignatureCondition.value(ContainerConditions.java:36)
at com.intellij.util.containers.ContainerUtil.find(ContainerUtil.java:883)
at com.intellij.util.containers.ContainerUtil.find(ContainerUtil.java:854)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypesInner(ExtensionProviderUtil.java:196)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$100(ExtensionProviderUtil.java:39)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$4.compute(ExtensionProviderUtil.java:175)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypes(ExtensionProviderUtil.java:182)
at de.espend.idea.php.toolbox.type.PhpToolboxTypeProvider.getType(PhpToolboxTypeProvider.java:50)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)
at com.jetbrains.php.lang.psi.elements.impl.MemberReferenceImpl.resolveGlobal(MemberReferenceImpl.java:142)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl$1.resolve(PhpReferenceImpl.java:144)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl$1.resolve(PhpReferenceImpl.java:141)
at com.intellij.psi.impl.source.resolve.ResolveCache$3.compute(ResolveCache.java:142)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.psi.impl.source.resolve.ResolveCache.a(ResolveCache.java:139)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:167)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:159)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.multiResolve(PhpReferenceImpl.java:136)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.resolve(PhpReferenceImpl.java:122)
at com.jetbrains.php.lang.annotator.PhpAnnotatorVisitor.checkAccessModifiers(PhpAnnotatorVisitor.java:406)
at com.jetbrains.php.lang.annotator.PhpAnnotatorVisitor.visitPhpMethodReference(PhpAnnotatorVisitor.java:388)
at com.jetbrains.php.lang.psi.elements.impl.MethodReferenceImpl.accept(MethodReferenceImpl.java:29)
at com.jetbrains.php.lang.annotator.PhpAnnotator.annotate(PhpAnnotator.java:19)
at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.a(DefaultHighlightVisitor.java:162)
at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.visit(DefaultHighlightVisitor.java:103)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:354)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$100(GeneralHighlightingPass.java:65)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$3.run(GeneralHighlightingPass.java:288)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:308)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$200(GeneralHighlightingPass.java:65)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$4.run(GeneralHighlightingPass.java:314)
at com.intellij.codeInsight.daemon.impl.analysis.XmlHighlightVisitor.analyze(XmlHighlightVisitor.java:750)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:311)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.access$200(GeneralHighlightingPass.java:65)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass$4.run(GeneralHighlightingPass.java:314)
at com.intellij.codeInsight.daemon.impl.DefaultHighlightVisitor.analyze(DefaultHighlightVisitor.java:87)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:311)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.a(GeneralHighlightingPass.java:280)
at com.intellij.codeInsight.daemon.impl.GeneralHighlightingPass.collectInformationWithProgress(GeneralHighlightingPass.java:219)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:82)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:67)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:444)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1177)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:435)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:432)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:408)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:206)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
java.lang.NullPointerException
at de.espend.idea.php.toolbox.matcher.php.container.ContainerConditions$TypeSignatureCondition.value(ContainerConditions.java:45)
at de.espend.idea.php.toolbox.matcher.php.container.ContainerConditions$TypeSignatureCondition.value(ContainerConditions.java:36)
at com.intellij.util.containers.ContainerUtil.find(ContainerUtil.java:883)
at com.intellij.util.containers.ContainerUtil.find(ContainerUtil.java:854)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypesInner(ExtensionProviderUtil.java:196)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$100(ExtensionProviderUtil.java:39)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$4.compute(ExtensionProviderUtil.java:175)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypes(ExtensionProviderUtil.java:182)
at de.espend.idea.php.toolbox.type.PhpToolboxTypeProvider.getType(PhpToolboxTypeProvider.java:50)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)
at com.jetbrains.php.lang.psi.elements.impl.MemberReferenceImpl.resolveGlobal(MemberReferenceImpl.java:142)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl$1.resolve(PhpReferenceImpl.java:144)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl$1.resolve(PhpReferenceImpl.java:141)
at com.intellij.psi.impl.source.resolve.ResolveCache$3.compute(ResolveCache.java:142)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.psi.impl.source.resolve.ResolveCache.a(ResolveCache.java:139)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:167)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:159)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.multiResolve(PhpReferenceImpl.java:136)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.resolve(PhpReferenceImpl.java:122)
at com.kalessil.phpStorm.phpInspectionsEA.inspectors.codeSmell.CallableReferenceNameMismatchInspector$1.inspectCaseIdentity(CallableReferenceNameMismatchInspector.java:42)
at com.kalessil.phpStorm.phpInspectionsEA.inspectors.codeSmell.CallableReferenceNameMismatchInspector$1.visitPhpMethodReference(CallableReferenceNameMismatchInspector.java:32)
at com.jetbrains.php.lang.psi.elements.impl.MethodReferenceImpl.accept(MethodReferenceImpl.java:29)
at com.intellij.codeInspection.InspectionEngine.acceptElements(InspectionEngine.java:81)
at com.intellij.codeInspection.InspectionEngine.createVisitorAndAcceptElements(InspectionEngine.java:69)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:294)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.access$200(LocalInspectionsPass.java:73)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$2.process(LocalInspectionsPass.java:261)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$2.process(LocalInspectionsPass.java:256)
at com.intellij.concurrency.ApplierCompleter.c(ApplierCompleter.java:122)
at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1177)
at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
I need get all classes implements WidgetInterface, process this list (call method getName, for example) and generate json for new provider. Currently I should process all classes recursively by hand and check if class implements interface. It is better access data from native provider sub_classes. Can you generate json files with collected data?
Under some circumstances it is necessary to be aware to current provided lookup_string.
e.g.
{
"providers": [
{
"name": "template_files",
"items": [
{
"type_text": "template filename",
"target": "file://app/resources/templates/$1"
}
]
}
]
}
With this example it is possible to strg-click to any template file given by lookup_string available in some directories.
$templateParser->render('index.html.php'); or
$templateParser->render('sub/path/template_file.html.php');
To go more further, it should be also possible to provide target by any other provider function/const/member/field.
e.g.
<?php
class TemplateParser
{
public function getRelativeTemplatePath($file = '')
{
return "app/resources/templates/$file";
}
}
thanks!
Please, can you suggest what wrong in my config?
// php-toolbox/sonata-admin-toolbox.metadata.json
{
"registrar": [
{
"signature": [
"Sonata\\AdminBundle\\Datagrid\\ListMapper:addIdentifier:2",
"Sonata\\AdminBundle\\Datagrid\\ListMapper:add:2",
"Sonata\\AdminBundle\\Datagrid\\ListMapper:add:1"
],
"provider": "sonata_admin_list_templates",
"language": "php"
}
],
"providers": [
{
"name": "sonata_admin_list_templates",
"defaults": {
"icon": "icons.TwigIcons.TwigFileIcon"
},
"items": [
{
"lookup_string": "array"
},
{
"lookup_string": "boolean"
},
{
"lookup_string": "date"
},
{
"lookup_string": "time"
},
{
"lookup_string": "datetime"
},
{
"lookup_string": "text"
},
{
"lookup_string": "textarea"
},
{
"lookup_string": "email"
},
{
"lookup_string": "trans"
},
{
"lookup_string": "string"
},
{
"lookup_string": "smallint"
},
{
"lookup_string": "bigint"
},
{
"lookup_string": "integer"
},
{
"lookup_string": "decimal"
},
{
"lookup_string": "identifier"
},
{
"lookup_string": "currency"
},
{
"lookup_string": "percent"
},
{
"lookup_string": "choice"
},
{
"lookup_string": "url"
},
{
"lookup_string": "html"
}
]
}
]
}
// ...
class DemandAdmin extends Admin
{
// ...
protected function configureListFields(ListMapper $listMapper)
{
$listMapper->add('ololo', ''); // no autocomplete here for 2nd argument
}
}
A source provider just like class
, but for traits only.
Eg symfony.services
is possible to provide public and private service, dont what to implement all possible conditions. symfony.translation.keys
is able to filter by domain. allow string value but also think of #22. eg use parameter "x" of a function signature
"registrar":[
{
"signatures":[
{
"function": "date"
}
],
"provider":"symfony.services",
"language":"twig",
"extra": "foo", ???
"extra": "private=true,public=true" ? named args?
"extra_parameter": 2, ??
}
],
If we are inside a class method its annoying to $this->
and static::
for inside method can. we can provide a insert handler for this. just provide completion for method inside class.
function classMethod() {
method() -> $this->method
}
function static classMethod() {
method() -> static::method
}
Some strings are too long and was stripped on autocompletion:
"lookup_string": "notification",
"type_text": "A callable to be called when an event occurs on a stream.",
For this cases better add support of the quck doc by ctrl+q
with full description.
Symfony\Component\HttpFoundation\Response
https://github.com/symfony/symfony/blob/master/src/Symfony/Component/HttpFoundation/Response.php#L21Symfony\Component\Console\Output\OutputInterface
https://github.com/symfony/symfony/blob/master/src/Symfony/Component/Console/Output/OutputInterface.php#L55::class
magic constant and better use this reference in some cases like behat context classes or form types. But maybe it should be configurablePlease document method arguments indexing starts from 0 or 1?
In reflection it starts from 0 http://ua2.php.net/manual/en/reflectionparameter.getposition.php , in Symfony DI it also starts from 0 https://github.com/symfony/symfony/blob/master/src/Symfony/Component/DependencyInjection/Definition.php#L201 . But looks like in this plugin you starts counting from 1.
{
"registrar": [{
"language": "php",
"signatures": [{
"class": "Mockery",
"method": "namedMock",
"type": "type",
"index": 1
}]
}]
}
It looks like the index
is ignored, example:
$m = \Mockery::namedMock('stack', 'SplStack');
$m->add(/* .. */); // does not autocomplete
Dear Daniel,
the link that you provided on the home page of github about document doesn't work. Also, could you please provide a sample guide to use this plugin in PhpStorm? It doesn't matter German or English, we can translate.
PhpStorm 2016.1
Build #PS-145.258, built on March 16, 2016
JRE: 1.8.0_05-b13 amd64
JVM: Java HotSpot(TM) 64-Bit Server VM by Oracle Corporation
Worker exited due to exception
java.lang.NullPointerException
at de.espend.idea.php.toolbox.navigation.PhpToolboxGotoDeclarationHandler.getGotoDeclarationTargets(PhpToolboxGotoDeclarationHandler.java:33)
at com.intellij.codeInsight.navigation.actions.GotoDeclarationAction.findTargetElementsNoVS(GotoDeclarationAction.java:245)
at com.intellij.codeInsight.navigation.CtrlMouseHandler.a(CtrlMouseHandler.java:531)
at com.intellij.codeInsight.navigation.CtrlMouseHandler.a(CtrlMouseHandler.java:510)
at com.intellij.codeInsight.navigation.CtrlMouseHandler.access$2600(CtrlMouseHandler.java:106)
at com.intellij.codeInsight.navigation.CtrlMouseHandler$TooltipProvider.a(CtrlMouseHandler.java:846)
at com.intellij.codeInsight.navigation.CtrlMouseHandler$TooltipProvider.access$2500(CtrlMouseHandler.java:786)
at com.intellij.codeInsight.navigation.CtrlMouseHandler$TooltipProvider$1.performInReadAction(CtrlMouseHandler.java:831)
at com.intellij.openapi.progress.util.ReadTask$1.compute(ReadTask.java:70)
at com.intellij.openapi.progress.util.ReadTask$1.compute(ReadTask.java:67)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:966)
at com.intellij.openapi.progress.util.ReadTask.runBackgroundProcess(ReadTask.java:67)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils$7.compute(ProgressIndicatorUtils.java:227)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils$7.compute(ProgressIndicatorUtils.java:223)
at com.intellij.openapi.progress.impl.CoreProgressManager$3.run(CoreProgressManager.java:162)
at com.intellij.openapi.progress.impl.CoreProgressManager$2.run(CoreProgressManager.java:142)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:127)
at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:159)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.a(ProgressIndicatorUtils.java:223)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils.access$000(ProgressIndicatorUtils.java:45)
at com.intellij.openapi.progress.util.ProgressIndicatorUtils$6$2.run(ProgressIndicatorUtils.java:188)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
We have several calls in frameworks that dont provide an index navigation target. for give an smaller search scope provide an method oder function in which we can search for an given value. provider an provider in json file
function scope() {
$this->event->foo('VALUE')
}
Use case: I have coded console command which extract some information from code (services by tags for example) and generates data for json provider.
For getting it work, we should execute console command each time after xml/yml services changes. Is it possible invoke some php code when files are changed?
Method addClassesToCompile
expects list (not key-value) of classes. Currently possible complete keys or values by concrete key.
{
"provider": "class_interface",
"language": "php",
"signatures": [
{
"class": "Symfony\\Component\\HttpKernel\\DependencyInjection\\Extension",
"method": "addClassesToCompile",
"type": "array_value"
}
]
},
Generate classes out of json data, xml files or comma fields.
Example:
$components = parse_url($url);
$components['<CARET>'] ...
..would list:
scheme
host
port
user
pass
path
query
fragment
Something similar could be:
// returns either 'a' or 'b'
$value = getSomething();
if ($value == '<CARET>') {
...
...lists a
and b
Hi, thank you for the plugin!
I noticed that while getMock()
works in PHPUnit (the return type is correctly "enhanced"), it doesn't do the same for getMockForAbstractClass()
.
It looks like, the hashes "registration" doesn't work for constructor parameters:
Class Car
{
/**
* @param string $foo my Var #Class
* @param string $bar my car #<ProviderName> foo bar
*/
public function __construct($foo, $bar) {}
}
$bla = new Car('<CARET>');
Are the bundled metadata json files missing or left out intentionally?
https://github.com/Haehnchen/idea-php-toolbox-json-files
Couldn't find them in php-toolbox.jar and the #http_methods is not working for example.
works:
$container = $this->getMock('Symfony\Component\DependencyInjection\ContainerBuilder');
does not:
$container = $this->getMock('Symfony\\Component\\DependencyInjection\\ContainerBuilder');
array($this, 'minifyQuery')),
think of statics and other
"providers": [
{
"name": "sonata_admin_list_templates",
"defaults": {
"icon": "icons.TwigIcons.TwigFileIcon"
},
"items": [
{
"lookup_string": "array",
"target": "SonataAdminBundle:CRUD:list_array.html.twig"
},
ctrl+click in 'array' string in php code opens PS_UNRESERVE_PREFIX_array
Often interfaces returing just its name. we can provide completion for eg $this->getProvider('foo')
or in twig foo('foo')
provider::supports { return ['foo', 'dd'] }
provider::getName { return 'foo' }
I have translation files.
They are .*/languages/[^/]+\.json
(it was path regexp) files located in multiple places across projects.
In simplest use case keys from those files are used as properties of object (using __get()
method):
\cs\Language::instance()-><caret>
I imagine this something like:
{
"name" : "translations",
"source" : {
"contributor" : "json_file",
"path_mask" : ".*/languages/[^/]+\\.json",
"lookup" : "key",
"text" : "value"
}
}
Where lookup
might be key
or value
(is used as lookup_string
). And OPTIONAL text
is used as type_text
.
When and if this trivial use case I can provide few advanced use cases (nested JSON structures and object's properties with common prefix removed).
This plugin can provide completion inside its json configuration let say ".phpstorm-toolbox.metadata.json". It knows registered provider and icon classes for example
1/2
Not a JSON Object: null
java.lang.IllegalStateException: Not a JSON Object: null
at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90)
at de.espend.idea.php.toolbox.utils.JsonParseUtil.getDeserializeConfig(JsonParseUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$6.compute(ExtensionProviderUtil.java:245)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:136)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:84)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:132)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigsInner(ExtensionProviderUtil.java:241)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$300(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$5.compute(ExtensionProviderUtil.java:226)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigs(ExtensionProviderUtil.java:233)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypesInner(ExtensionProviderUtil.java:190)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$200(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$4.compute(ExtensionProviderUtil.java:172)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypes(ExtensionProviderUtil.java:179)
at de.espend.idea.php.toolbox.type.PhpToolboxTypeProvider.getType(PhpToolboxTypeProvider.java:50)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)
at com.jetbrains.php.lang.psi.resolve.types.PhpType.add(PhpType.java:153)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.visitReturn(FunctionImpl.java:191)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.scanTree(FunctionImpl.java:216)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.getLocalType(FunctionImpl.java:157)
at com.jetbrains.php.lang.psi.stubs.PhpMethodElementType.createStub(PhpMethodElementType.java:32)
at com.jetbrains.php.lang.psi.stubs.PhpMethodElementType.createStub(PhpMethodElementType.java:17)
at com.intellij.psi.stubs.DefaultStubBuilder.a(DefaultStubBuilder.java:60)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTree(DefaultStubBuilder.java:36)
at com.intellij.psi.impl.source.PsiFileImpl.calcStubTree(PsiFileImpl.java:1013)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:75)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:52)
at com.intellij.psi.stubs.StubIndexImpl$1.process(StubIndexImpl.java:231)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:582)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:570)
at com.intellij.util.indexing.ValueContainer.forEach(ValueContainer.java:81)
at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:252)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:223)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:145)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:135)
at com.jetbrains.php.navigation.PhpGotoClassContributor.getItemsByName(PhpGotoClassContributor.java:34)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:221)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:195)
at com.intellij.concurrency.ApplierCompleter.b(ApplierCompleter.java:122)
at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
java.lang.IllegalStateException: Not a JSON Object: null
at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90)
at de.espend.idea.php.toolbox.utils.JsonParseUtil.getDeserializeConfig(JsonParseUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$6.compute(ExtensionProviderUtil.java:245)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:136)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:129)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigsInner(ExtensionProviderUtil.java:241)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$300(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$5.compute(ExtensionProviderUtil.java:226)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigs(ExtensionProviderUtil.java:233)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypesInner(ExtensionProviderUtil.java:190)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$200(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$4.compute(ExtensionProviderUtil.java:172)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypes(ExtensionProviderUtil.java:179)
at de.espend.idea.php.toolbox.type.PhpToolboxTypeProvider.getType(PhpToolboxTypeProvider.java:50)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)
at com.jetbrains.php.lang.psi.resolve.types.PhpType.add(PhpType.java:153)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.addType(PhpTypeAnalyserVisitor.java:57)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.visitPhpAssignmentExpression(PhpTypeAnalyserVisitor.java:167)
at com.jetbrains.php.lang.psi.elements.impl.AssignmentExpressionImpl.accept(AssignmentExpressionImpl.java:37)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:51)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpTypedElementImpl.getType(PhpTypedElementImpl.java:26)
at com.jetbrains.php.lang.psi.elements.impl.PhpExpressionImpl.getType(PhpExpressionImpl.java:59)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.visitPhpField(PhpTypeAnalyserVisitor.java:375)
at com.jetbrains.php.lang.psi.elements.impl.FieldImpl.accept(FieldImpl.java:47)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:51)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.stubs.PhpFieldElementType.createStub(PhpFieldElementType.java:33)
at com.jetbrains.php.lang.psi.stubs.PhpFieldElementType.createStub(PhpFieldElementType.java:20)
at com.intellij.psi.stubs.DefaultStubBuilder.a(DefaultStubBuilder.java:60)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTree(DefaultStubBuilder.java:36)
at com.intellij.psi.impl.source.PsiFileImpl.calcStubTree(PsiFileImpl.java:1013)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:75)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:52)
at com.intellij.psi.stubs.StubIndexImpl$1.process(StubIndexImpl.java:231)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:582)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:570)
at com.intellij.util.indexing.ValueContainer.forEach(ValueContainer.java:81)
at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:252)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:223)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:145)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:135)
at com.jetbrains.php.navigation.PhpGotoClassContributor.getItemsByName(PhpGotoClassContributor.java:34)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:221)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:195)
at com.intellij.concurrency.ApplierCompleter.b(ApplierCompleter.java:122)
at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
java.lang.IllegalStateException: Not a JSON Object: null
at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90)
at de.espend.idea.php.toolbox.utils.JsonParseUtil.getDeserializeConfig(JsonParseUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$6.compute(ExtensionProviderUtil.java:245)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:136)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:129)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigsInner(ExtensionProviderUtil.java:241)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$300(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$5.compute(ExtensionProviderUtil.java:226)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigs(ExtensionProviderUtil.java:233)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypesInner(ExtensionProviderUtil.java:190)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$200(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$4.compute(ExtensionProviderUtil.java:172)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypes(ExtensionProviderUtil.java:179)
at de.espend.idea.php.toolbox.type.PhpToolboxTypeProvider.getType(PhpToolboxTypeProvider.java:50)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)
at com.jetbrains.php.lang.psi.resolve.types.PhpType.add(PhpType.java:153)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.addType(PhpTypeAnalyserVisitor.java:57)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.visitPhpAssignmentExpression(PhpTypeAnalyserVisitor.java:167)
at com.jetbrains.php.lang.psi.elements.impl.AssignmentExpressionImpl.accept(AssignmentExpressionImpl.java:37)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:51)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpTypedElementImpl.getType(PhpTypedElementImpl.java:26)
at com.jetbrains.php.lang.psi.elements.impl.PhpExpressionImpl.getType(PhpExpressionImpl.java:59)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.visitPhpField(PhpTypeAnalyserVisitor.java:375)
at com.jetbrains.php.lang.psi.elements.impl.FieldImpl.accept(FieldImpl.java:47)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:51)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.stubs.PhpFieldElementType.createStub(PhpFieldElementType.java:33)
at com.jetbrains.php.lang.psi.stubs.PhpFieldElementType.createStub(PhpFieldElementType.java:20)
at com.intellij.psi.stubs.DefaultStubBuilder.a(DefaultStubBuilder.java:60)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTree(DefaultStubBuilder.java:36)
at com.intellij.psi.impl.source.PsiFileImpl.calcStubTree(PsiFileImpl.java:1013)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:75)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:52)
at com.intellij.psi.stubs.StubIndexImpl$1.process(StubIndexImpl.java:231)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:582)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:570)
at com.intellij.util.indexing.ValueContainer.forEach(ValueContainer.java:81)
at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:252)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:223)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:145)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:135)
at com.jetbrains.php.navigation.PhpGotoClassContributor.getItemsByName(PhpGotoClassContributor.java:34)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:221)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:195)
at com.intellij.concurrency.ApplierCompleter.b(ApplierCompleter.java:122)
at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
java.lang.IllegalStateException: Not a JSON Object: null
at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90)
at de.espend.idea.php.toolbox.utils.JsonParseUtil.getDeserializeConfig(JsonParseUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$6.compute(ExtensionProviderUtil.java:245)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:136)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:129)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigsInner(ExtensionProviderUtil.java:241)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$300(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$5.compute(ExtensionProviderUtil.java:226)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigs(ExtensionProviderUtil.java:233)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypesInner(ExtensionProviderUtil.java:190)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$200(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$4.compute(ExtensionProviderUtil.java:172)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypes(ExtensionProviderUtil.java:179)
at de.espend.idea.php.toolbox.type.PhpToolboxTypeProvider.getType(PhpToolboxTypeProvider.java:50)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)
at com.jetbrains.php.lang.psi.resolve.types.PhpType.add(PhpType.java:153)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.addType(PhpTypeAnalyserVisitor.java:57)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.visitPhpAssignmentExpression(PhpTypeAnalyserVisitor.java:167)
at com.jetbrains.php.lang.psi.elements.impl.AssignmentExpressionImpl.accept(AssignmentExpressionImpl.java:37)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:51)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpTypedElementImpl.getType(PhpTypedElementImpl.java:26)
at com.jetbrains.php.lang.psi.elements.impl.PhpExpressionImpl.getType(PhpExpressionImpl.java:59)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.visitPhpField(PhpTypeAnalyserVisitor.java:375)
at com.jetbrains.php.lang.psi.elements.impl.FieldImpl.accept(FieldImpl.java:47)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:51)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.stubs.PhpFieldElementType.createStub(PhpFieldElementType.java:33)
at com.jetbrains.php.lang.psi.stubs.PhpFieldElementType.createStub(PhpFieldElementType.java:20)
at com.intellij.psi.stubs.DefaultStubBuilder.a(DefaultStubBuilder.java:60)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTree(DefaultStubBuilder.java:36)
at com.intellij.psi.impl.source.PsiFileImpl.calcStubTree(PsiFileImpl.java:1013)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:75)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:52)
at com.intellij.psi.stubs.StubIndexImpl$1.process(StubIndexImpl.java:231)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:582)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:570)
at com.intellij.util.indexing.ValueContainer.forEach(ValueContainer.java:81)
at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:252)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:223)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:145)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:135)
at com.jetbrains.php.navigation.PhpGotoClassContributor.getItemsByName(PhpGotoClassContributor.java:34)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:221)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:195)
at com.intellij.concurrency.ApplierCompleter.b(ApplierCompleter.java:122)
at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
java.lang.IllegalStateException: Not a JSON Object: null
at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90)
at de.espend.idea.php.toolbox.utils.JsonParseUtil.getDeserializeConfig(JsonParseUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$6.compute(ExtensionProviderUtil.java:245)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:136)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:129)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigsInner(ExtensionProviderUtil.java:241)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$300(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$5.compute(ExtensionProviderUtil.java:226)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigs(ExtensionProviderUtil.java:233)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypesInner(ExtensionProviderUtil.java:190)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$200(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$4.compute(ExtensionProviderUtil.java:172)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypes(ExtensionProviderUtil.java:179)
at de.espend.idea.php.toolbox.type.PhpToolboxTypeProvider.getType(PhpToolboxTypeProvider.java:50)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)
at com.jetbrains.php.lang.psi.resolve.types.PhpType.add(PhpType.java:153)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.addType(PhpTypeAnalyserVisitor.java:57)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.visitPhpAssignmentExpression(PhpTypeAnalyserVisitor.java:167)
at com.jetbrains.php.lang.psi.elements.impl.AssignmentExpressionImpl.accept(AssignmentExpressionImpl.java:37)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:51)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpTypedElementImpl.getType(PhpTypedElementImpl.java:26)
at com.jetbrains.php.lang.psi.elements.impl.PhpExpressionImpl.getType(PhpExpressionImpl.java:59)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.visitPhpField(PhpTypeAnalyserVisitor.java:375)
at com.jetbrains.php.lang.psi.elements.impl.FieldImpl.accept(FieldImpl.java:47)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:51)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.stubs.PhpFieldElementType.createStub(PhpFieldElementType.java:33)
at com.jetbrains.php.lang.psi.stubs.PhpFieldElementType.createStub(PhpFieldElementType.java:20)
at com.intellij.psi.stubs.DefaultStubBuilder.a(DefaultStubBuilder.java:60)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTree(DefaultStubBuilder.java:36)
at com.intellij.psi.impl.source.PsiFileImpl.calcStubTree(PsiFileImpl.java:1013)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:75)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:52)
at com.intellij.psi.stubs.StubIndexImpl$1.process(StubIndexImpl.java:231)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:582)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:570)
at com.intellij.util.indexing.ValueContainer.forEach(ValueContainer.java:81)
at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:252)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:223)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:145)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:135)
at com.jetbrains.php.navigation.PhpGotoClassContributor.getItemsByName(PhpGotoClassContributor.java:34)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:221)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:195)
at com.intellij.concurrency.ApplierCompleter.b(ApplierCompleter.java:122)
at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
java.lang.IllegalStateException: Not a JSON Object: null
at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90)
at de.espend.idea.php.toolbox.utils.JsonParseUtil.getDeserializeConfig(JsonParseUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$6.compute(ExtensionProviderUtil.java:245)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:136)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:129)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigsInner(ExtensionProviderUtil.java:241)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$300(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$5.compute(ExtensionProviderUtil.java:226)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigs(ExtensionProviderUtil.java:233)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypesInner(ExtensionProviderUtil.java:190)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$200(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$4.compute(ExtensionProviderUtil.java:172)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypes(ExtensionProviderUtil.java:179)
at de.espend.idea.php.toolbox.type.PhpToolboxTypeProvider.getType(PhpToolboxTypeProvider.java:50)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)
at com.jetbrains.php.lang.psi.resolve.types.PhpType.add(PhpType.java:153)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.addType(PhpTypeAnalyserVisitor.java:57)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.visitPhpAssignmentExpression(PhpTypeAnalyserVisitor.java:167)
at com.jetbrains.php.lang.psi.elements.impl.AssignmentExpressionImpl.accept(AssignmentExpressionImpl.java:37)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:51)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpTypedElementImpl.getType(PhpTypedElementImpl.java:26)
at com.jetbrains.php.lang.psi.elements.impl.PhpExpressionImpl.getType(PhpExpressionImpl.java:59)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeAnalyserVisitor.visitPhpField(PhpTypeAnalyserVisitor.java:375)
at com.jetbrains.php.lang.psi.elements.impl.FieldImpl.accept(FieldImpl.java:47)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:51)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.stubs.PhpFieldElementType.createStub(PhpFieldElementType.java:33)
at com.jetbrains.php.lang.psi.stubs.PhpFieldElementType.createStub(PhpFieldElementType.java:20)
at com.intellij.psi.stubs.DefaultStubBuilder.a(DefaultStubBuilder.java:60)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTree(DefaultStubBuilder.java:36)
at com.intellij.psi.impl.source.PsiFileImpl.calcStubTree(PsiFileImpl.java:1013)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:75)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:52)
at com.intellij.psi.stubs.StubIndexImpl$1.process(StubIndexImpl.java:231)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:582)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:570)
at com.intellij.util.indexing.ValueContainer.forEach(ValueContainer.java:81)
at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:252)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:223)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:145)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:135)
at com.jetbrains.php.navigation.PhpGotoClassContributor.getItemsByName(PhpGotoClassContributor.java:34)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:221)
at com.intellij.ide.util.gotoByName.ContributorsBasedGotoByModel$3.process(ContributorsBasedGotoByModel.java:195)
at com.intellij.concurrency.ApplierCompleter.b(ApplierCompleter.java:122)
at com.intellij.concurrency.ApplierCompleter.access$000(ApplierCompleter.java:44)
at com.intellij.concurrency.ApplierCompleter$1.run(ApplierCompleter.java:85)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
at com.intellij.concurrency.ApplierCompleter$2.run(ApplierCompleter.java:94)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:443)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:106)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:82)
at jsr166e.CountedCompleter.exec(CountedCompleter.java:684)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
2/2
Error building initial foldings: Not a JSON Object: null
java.lang.IllegalStateException: Not a JSON Object: null
at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90)
at de.espend.idea.php.toolbox.utils.JsonParseUtil.getDeserializeConfig(JsonParseUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$6.compute(ExtensionProviderUtil.java:245)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:136)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:129)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigsInner(ExtensionProviderUtil.java:241)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$300(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$5.compute(ExtensionProviderUtil.java:226)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigs(ExtensionProviderUtil.java:233)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypesInner(ExtensionProviderUtil.java:190)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$200(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$4.compute(ExtensionProviderUtil.java:172)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypes(ExtensionProviderUtil.java:179)
at de.espend.idea.php.toolbox.type.PhpToolboxTypeProvider.getType(PhpToolboxTypeProvider.java:50)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)
at com.jetbrains.php.lang.psi.elements.impl.MemberReferenceImpl.resolveGlobal(MemberReferenceImpl.java:142)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl$1.resolve(PhpReferenceImpl.java:144)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl$1.resolve(PhpReferenceImpl.java:141)
at com.intellij.psi.impl.source.resolve.ResolveCache$3.compute(ResolveCache.java:142)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.psi.impl.source.resolve.ResolveCache.a(ResolveCache.java:139)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:167)
at com.intellij.psi.impl.source.resolve.ResolveCache.resolveWithCaching(ResolveCache.java:159)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.multiResolve(PhpReferenceImpl.java:136)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.resolve(PhpReferenceImpl.java:122)
at fr.adrienbrault.idea.symfony2plugin.Symfony2InterfacesUtil.getMultiResolvedMethod(Symfony2InterfacesUtil.java:167)
at fr.adrienbrault.idea.symfony2plugin.util.MethodMatcher$StringParameterRecursiveMatcher.match(MethodMatcher.java:184)
at fr.adrienbrault.idea.symfony2plugin.util.MethodMatcher.getMatchedSignatureWithDepth(MethodMatcher.java:41)
at fr.adrienbrault.idea.symfony2plugin.util.MethodMatcher.getMatchedSignatureWithDepth(MethodMatcher.java:22)
at fr.adrienbrault.idea.symfony2plugin.navigation.PhpFoldingBuilder.attachModelShortcuts(PhpFoldingBuilder.java:109)
at fr.adrienbrault.idea.symfony2plugin.navigation.PhpFoldingBuilder.buildFoldRegions(PhpFoldingBuilder.java:54)
at com.intellij.lang.folding.LanguageFolding.buildFoldingDescriptors(LanguageFolding.java:83)
at com.intellij.lang.folding.CompositeFoldingBuilder.buildFoldRegions(CompositeFoldingBuilder.java:60)
at com.intellij.lang.folding.LanguageFolding.buildFoldingDescriptors(LanguageFolding.java:83)
at com.intellij.codeInsight.folding.impl.FoldingUpdate.a(FoldingUpdate.java:256)
at com.intellij.codeInsight.folding.impl.FoldingUpdate.getFoldingsFor(FoldingUpdate.java:242)
at com.intellij.codeInsight.folding.impl.CodeFoldingManagerImpl.buildInitialFoldings(CodeFoldingManagerImpl.java:232)
at com.intellij.openapi.fileEditor.impl.text.PsiAwareTextEditorProvider.createEditorAsync(PsiAwareTextEditorProvider.java:63)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$12.compute(FileEditorManagerImpl.java:836)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$12.compute(FileEditorManagerImpl.java:829)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:955)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl4(FileEditorManagerImpl.java:829)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl3(FileEditorManagerImpl.java:789)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$10.run(FileEditorManagerImpl.java:769)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:117)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:99)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:85)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileImpl2(FileEditorManagerImpl.java:766)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openFileWithProviders(FileEditorManagerImpl.java:707)
at com.intellij.openapi.fileEditor.ex.FileEditorManagerEx.openFile(FileEditorManagerEx.java:151)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl$16.run(FileEditorManagerImpl.java:1143)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:124)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:99)
at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:85)
at com.intellij.openapi.fileEditor.impl.FileEditorManagerImpl.openEditor(FileEditorManagerImpl.java:1139)
at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigateInAnyFileEditor(OpenFileDescriptor.java:146)
at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigateInEditor(OpenFileDescriptor.java:132)
at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigateInEditorOrNativeApp(OpenFileDescriptor.java:128)
at com.intellij.openapi.fileEditor.OpenFileDescriptor.navigate(OpenFileDescriptor.java:115)
at com.intellij.psi.impl.PsiElementBase.navigate(PsiElementBase.java:197)
at com.intellij.codeInsight.navigation.NavigationUtil.openFileWithPsiElement(NavigationUtil.java:179)
at com.intellij.codeInsight.navigation.NavigationUtil.activateFileWithPsiElement(NavigationUtil.java:157)
at com.intellij.ide.actions.GotoClassAction$1.elementChosen(GotoClassAction.java:120)
at com.intellij.ide.actions.GotoActionBase$1.elementChosen(GotoActionBase.java:257)
at com.intellij.ide.util.gotoByName.ChooseByNamePopup.close(ChooseByNamePopup.java:223)
at com.intellij.ide.util.gotoByName.ChooseByNameBase.doClose(ChooseByNameBase.java:788)
at com.intellij.ide.util.gotoByName.ChooseByNameBase$8.actionPerformed(ChooseByNameBase.java:641)
at javax.swing.JTextField.fireActionPerformed(JTextField.java:508)
at javax.swing.JTextField.postActionEvent(JTextField.java:721)
at javax.swing.JTextField$NotifyAction.actionPerformed(JTextField.java:836)
at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1663)
at javax.swing.JComponent.processKeyBinding(JComponent.java:2882)
at javax.swing.JComponent.processKeyBindings(JComponent.java:2929)
at javax.swing.JComponent.processKeyEvent(JComponent.java:2845)
at com.intellij.ide.util.gotoByName.ChooseByNameBase$MyTextField.processKeyEvent(ChooseByNameBase.java:1362)
at java.awt.Component.processEvent(Component.java:6302)
at java.awt.Container.processEvent(Container.java:2234)
at java.awt.Component.dispatchEventImpl(Component.java:4881)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:806)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1074)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:945)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:771)
at java.awt.Component.dispatchEventImpl(Component.java:4752)
at java.awt.Container.dispatchEventImpl(Container.java:2292)
at java.awt.Window.dispatchEventImpl(Window.java:2750)
at java.awt.Component.dispatchEvent(Component.java:4703)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:86)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.awt.EventQueue$4.run(EventQueue.java:729)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:75)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:866)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:623)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:381)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
java.lang.IllegalStateException: Not a JSON Object: null
at com.google.gson.JsonElement.getAsJsonObject(JsonElement.java:90)
at de.espend.idea.php.toolbox.utils.JsonParseUtil.getDeserializeConfig(JsonParseUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$6.compute(ExtensionProviderUtil.java:245)
at com.intellij.psi.util.CachedValuesManager$1.compute(CachedValuesManager.java:136)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:129)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigsInner(ExtensionProviderUtil.java:241)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$300(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$5.compute(ExtensionProviderUtil.java:226)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getJsonConfigs(ExtensionProviderUtil.java:233)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypesInner(ExtensionProviderUtil.java:190)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.access$200(ExtensionProviderUtil.java:36)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil$4.compute(ExtensionProviderUtil.java:172)
at com.intellij.psi.impl.PsiCachedValueImpl.doCompute(PsiCachedValueImpl.java:49)
at com.intellij.util.CachedValueBase.getValueWithLock(CachedValueBase.java:222)
at com.intellij.psi.impl.PsiCachedValue.getValueWithLock(PsiCachedValue.java:66)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at de.espend.idea.php.toolbox.utils.ExtensionProviderUtil.getTypes(ExtensionProviderUtil.java:179)
at de.espend.idea.php.toolbox.type.PhpToolboxTypeProvider.getType(PhpToolboxTypeProvider.java:50)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:43)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo$1.internalCompute(PhpTypeInfo.java:37)
at com.intellij.openapi.util.Computable$NotNullCachedComputable.compute(Computable.java:52)
at com.intellij.openapi.util.RecursionManager$2.doPreventingRecursion(RecursionManager.java:112)
at com.intellij.openapi.util.RecursionManager.doPreventingRecursion(RecursionManager.java:68)
at com.jetbrains.php.lang.psi.resolve.types.PhpTypeInfo.getType(PhpTypeInfo.java:37)
at com.jetbrains.php.lang.psi.elements.impl.PhpReferenceImpl.getType(PhpReferenceImpl.java:207)
at com.jetbrains.php.lang.psi.resolve.types.PhpType.add(PhpType.java:153)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.visitReturn(FunctionImpl.java:191)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.scanTree(FunctionImpl.java:216)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.getLocalType(FunctionImpl.java:157)
at com.jetbrains.php.lang.psi.stubs.PhpMethodElementType.createStub(PhpMethodElementType.java:32)
at com.jetbrains.php.lang.psi.stubs.PhpMethodElementType.createStub(PhpMethodElementType.java:17)
at com.intellij.psi.stubs.DefaultStubBuilder.a(DefaultStubBuilder.java:60)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTree(DefaultStubBuilder.java:36)
at com.intellij.psi.impl.source.PsiFileImpl.calcStubTree(PsiFileImpl.java:1013)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:75)
at com.intellij.psi.stubs.StubProcessingHelperBase.processStubsInFile(StubProcessingHelperBase.java:52)
at com.intellij.psi.stubs.StubIndexImpl$1.process(StubIndexImpl.java:231)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:582)
at com.intellij.psi.stubs.StubIndexImpl$StubIdListContainerAction.perform(StubIndexImpl.java:570)
at com.intellij.util.indexing.ValueContainer.forEach(ValueContainer.java:81)
at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:252)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:223)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:145)
at com.intellij.psi.stubs.StubIndex.getElements(StubIndex.java:135)
at com.jetbrains.php.PhpIndexImpl.getByFQN(PhpIndexImpl.java:492)
at com.jetbrains.php.PhpIndexImpl.getClassesByFQN(PhpIndexImpl.java:507)
at com.jetbrains.php.lang.psi.elements.impl.PhpClassImpl.getSuperClass(PhpClassImpl.java:322)
at com.jetbrains.php.PhpClassHierarchyUtils.getImmediateParents(PhpClassHierarchyUtils.java:329)
at com.jetbrains.php.PhpClassHierarchyUtils.processSuperMembers(PhpClassHierarchyUtils.java:312)
at com.jetbrains.php.lang.PhpLineMarkerProvider.findParents(PhpLineMarkerProvider.java:92)
at com.jetbrains.php.lang.PhpLineMarkerProvider.collectSlowLineMarkers(PhpLineMarkerProvider.java:136)
at com.intellij.codeInsight.daemon.impl.SlowLineMarkersPass.addLineMarkers(SlowLineMarkersPass.java:78)
at com.intellij.codeInsight.daemon.impl.SlowLineMarkersPass.doCollectInformation(SlowLineMarkersPass.java:65)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:67)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:444)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1169)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:435)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:446)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:392)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:432)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:408)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:206)
at jsr166e.ForkJoinTask.doExec(ForkJoinTask.java:260)
at jsr166e.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:858)
at jsr166e.ForkJoinPool.scan(ForkJoinPool.java:1687)
at jsr166e.ForkJoinPool.runWorker(ForkJoinPool.java:1642)
at jsr166e.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:108)
{
"provider": "club-columns",
"language": "php",
"signatures": [
{
"class": "App\\Models\\Club",
"method": "where"
}
]
also shows the completion for every model - User::where, City::where etc.. Laravel. Does not matter if it's in signatures
or signature
form.
I got the Toolbox and the Symfony plugin installed.
{
"registrar": [{
"language": "php",
"provider": "template",
"signature": [
"Application\\Bundle\\AppBundle\\View\\RenderResult::__construct"
]
}]
}
I want to make use of the Twig template naming provider, within the Symfony plugin it's called template
however it's not working when used on a __construct
, thought I could make it work this way around.
If I use $user->updateProfile(['name' => 'My Name', '<caret>'])
it should not provide me with name
autocompletion as it's already used?
If one of json files would invalid then autocompletion stops working. IMHO it would possible just skip invalid file and even report an error to user.
Tried plugin and unfortunately it does nothing for me, for instance, I took this example: https://github.com/Haehnchen/idea-php-toolbox-json-files/blob/master/core/.ide-toolbox.metadata.json
And tried on http_response_headers
function.
No exceptions, just doesn't work for whatever reason.
PhpStorm 11 EAP build PS-144.3168
My use case:
\cs\Event::instance()->on('<caret>');
\cs\Event::instance()->once('<caret>');
\cs\Event::instance()->off('<caret>');
are all dependent on $event
argument used in following call:
\cs\Event::instance()->fire($event, ...);
So basically I need to find all ->fire()
calls with events names and be able to use them for autocompletion in ->on()
, ->once()
and ->off()
calls.
I imagine this something like:
{
"name" : "events",
"source" : {
"contributor" : "argument",
"parameter" : "cs\\Event::fire",
"index" : 0
}
}
which means that argument with index 0
of method cs\\Event::fire
.
For example a class has
class Test {
protected $columns = ['title', 'updated_at'];
}
maybe could be something like Test:$columns
.
I found an issue when trying to type the following code:
<?php
$basename = basename($path);
When I try to autocomplete the function call, it prepends a $ turning the code into:
<?php
$basename = $basename($path);
This happens whenever there's a variable with the same name within the scope of a function you're trying to call, which i think would be quite often.
My use case if following:
\cs\Config::instance()->module('<caret>')
I want to autocomplete there names of directories, which are all located in components/modules
directory (from the root of the project, but paths relative to .ide-toolbox.metadata.json file and/or just filtering any in-project path by mask components/modules
might be fine too).
It looks like all icons inside sub-classes are not working:
com.intellij.icons.AllIcons.<subclass>.<icon>
For example:
"icon": "com.intellij.icons.AllIcons.Nodes.DataSource"
Same applies to autocomplete preview inside metadata.json:
com.intellij.icons.AllIcons.Nodes.<caret>
Is this possible?
Thanks
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.