The following isn't caught anywhere but will throw an exception in PHP 7.1.
$x = '';
$x[] = 1;
Thanks for reporting @iakoder, that's a good idea. We'll implement it in one of the upcoming releases.
@iakoder : what is the exception message in this case?
Thanks :)
The exception is an Error and the message is "[] operator not supported for strings"
This should be added to Probable bugs | Array and string offset validity inspection
That's a good idea, thanks, @b1rdex.
Note for myself: the inspection is deactivated by default -> better release notes entry for this change
Implemented
Hmmm, I just revisited this under
PhpStorm 2018.1 EAP
Build #PS-181.4203.107, built on March 14, 2018
PhpStorm EAP User
Expiration date: April 13, 2018
JRE: 1.8.0_152-release-1136-b20 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.2
With Php Inspections (EA Extended)
2.3.18
Is Php Inspections 2.3.18 compatible with PhpStorm 2018.1 EAP (Preview 1)?
With all inspections turned on, including "Unsupported string offset operations"
I don't get any inspection issues with the following code.
<?php
declare( strict_types = 1 );
/**
*
*/
function foo() {
/**
* @var string $x
*/
$x = 'Foo';
$x[] = 'Bar';
echo 'Done';
}
foo();
But there are "one or two" errors in the PhpStorm log
2018-03-15 17:14:52,118 [2221182] ERROR - aemon.impl.PassExecutorService - Lexer has been advanced 100 times more than the amount of lexeme 167
com.jetbrains.php.lang.parser.PhpParserException: Lexer has been advanced 100 times more than the amount of lexeme 167
at com.jetbrains.php.lang.parser.PhpPsiBuilder.getTokenType(PhpPsiBuilder.java:97)
at com.jetbrains.php.lang.parser.PhpPsiBuilder.compare(PhpPsiBuilder.java:31)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:285)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:48)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:48)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariableOrFunctionCall(Variable.java:150)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parse(Variable.java:39)
at com.jetbrains.php.lang.parser.parsing.expressions.PrimaryExpression.parse(PrimaryExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.PostfixExpression.parse(PostfixExpression.java:13)
at com.jetbrains.php.lang.parser.parsing.expressions.UnaryExpression.parse(UnaryExpression.java:82)
at com.jetbrains.php.lang.parser.parsing.expressions.InstanceofExpression.parse(InstanceofExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LogicalNotExpression.parse(LogicalNotExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.math.MultiplicativeExpression.parse(MultiplicativeExpression.java:24)
at com.jetbrains.php.lang.parser.parsing.expressions.math.AdditiveExpression.parse(AdditiveExpression.java:23)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.ShiftExpression.parse(ShiftExpression.java:19)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.RelationalExpression.parse(RelationalExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.EqualityExpression.parse(EqualityExpression.java:18)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitAndExpression.parse(BitAndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitXorExpression.parse(BitXorExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitOrExpression.parse(BitOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:53)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:29)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:53)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.UnaryExpression.parse(UnaryExpression.java:80)
at com.jetbrains.php.lang.parser.parsing.expressions.InstanceofExpression.parse(InstanceofExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LogicalNotExpression.parse(LogicalNotExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.math.MultiplicativeExpression.parse(MultiplicativeExpression.java:24)
at com.jetbrains.php.lang.parser.parsing.expressions.math.AdditiveExpression.parse(AdditiveExpression.java:23)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.ShiftExpression.parse(ShiftExpression.java:19)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.RelationalExpression.parse(RelationalExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.EqualityExpression.parse(EqualityExpression.java:18)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitAndExpression.parse(BitAndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitXorExpression.parse(BitXorExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitOrExpression.parse(BitOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:53)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.UnaryExpression.parse(UnaryExpression.java:80)
at com.jetbrains.php.lang.parser.parsing.expressions.InstanceofExpression.parse(InstanceofExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LogicalNotExpression.parse(LogicalNotExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.math.MultiplicativeExpression.parse(MultiplicativeExpression.java:24)
at com.jetbrains.php.lang.parser.parsing.expressions.math.AdditiveExpression.parse(AdditiveExpression.java:23)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.ShiftExpression.parse(ShiftExpression.java:19)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.RelationalExpression.parse(RelationalExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.EqualityExpression.parse(EqualityExpression.java:18)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitAndExpression.parse(BitAndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitXorExpression.parse(BitXorExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitOrExpression.parse(BitOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:156)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:48)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.Statement.parse(Statement.java:85)
at com.jetbrains.php.lang.parser.parsing.StatementList.parseTopStatement(StatementList.java:133)
at com.jetbrains.php.lang.parser.parsing.StatementList.parseBlockDeep(StatementList.java:94)
at com.jetbrains.php.lang.parser.PhpPsiParser.parseBlockDeep(PhpPsiParser.java:35)
at com.jetbrains.php.lang.parser.PhpElementTypes$GroupStatementElementType.parseContents(PhpElementTypes.java:198)
at com.intellij.psi.impl.source.tree.LazyParseableElement.lambda$ensureParsed$0(LazyParseableElement.java:193)
at com.intellij.psi.impl.DebugUtil.performPsiModification(DebugUtil.java:544)
at com.intellij.psi.impl.source.tree.LazyParseableElement.ensureParsed(LazyParseableElement.java:192)
at com.intellij.psi.impl.source.tree.LazyParseableElement.getFirstChildNode(LazyParseableElement.java:247)
at com.intellij.psi.impl.source.tree.LazyParseablePsiElement.getFirstChild(LazyParseablePsiElement.java:90)
at com.jetbrains.php.lang.psi.elements.impl.PhpPsiElementImpl.getChildren(PhpPsiElementImpl.java:128)
at com.jetbrains.php.lang.psi.elements.impl.GroupStatementImpl.getChildren(GroupStatementImpl.java:50)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.scanTree(FunctionImpl.java:264)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.getInferredType(FunctionImpl.java:199)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.getLocalType(FunctionImpl.java:160)
at com.jetbrains.php.lang.psi.elements.impl.MethodImpl.getLocalType(MethodImpl.java:244)
at com.jetbrains.php.lang.psi.stubs.PhpMethodElementType.createStub(PhpMethodElementType.java:37)
at com.jetbrains.php.lang.psi.stubs.PhpMethodElementType.createStub(PhpMethodElementType.java:19)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.a(DefaultStubBuilder.java:113)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.visitNode(DefaultStubBuilder.java:88)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.buildStubTree(DefaultStubBuilder.java:83)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTreeFor(DefaultStubBuilder.java:58)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTree(DefaultStubBuilder.java:39)
at com.intellij.psi.stubs.StubTreeBuilder.buildStubTree(StubTreeBuilder.java:84)
at com.intellij.psi.stubs.StubUpdatingIndex$3.a(StubUpdatingIndex.java:232)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:897)
at com.intellij.psi.stubs.StubUpdatingIndex$3.map(StubUpdatingIndex.java:214)
at com.intellij.psi.stubs.StubUpdatingIndex$3.map(StubUpdatingIndex.java:197)
at com.intellij.util.indexing.impl.MapReduceIndex.mapInput(MapReduceIndex.java:273)
at com.intellij.util.indexing.VfsAwareMapReduceIndex.calculateUpdateData(VfsAwareMapReduceIndex.java:98)
at com.intellij.util.indexing.impl.MapReduceIndex.update(MapReduceIndex.java:213)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1651)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1579)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.freezeFileTypeTemporarilyIn(FileTypeManagerImpl.java:523)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1538)
at com.intellij.util.indexing.FileBasedIndexImpl.indexFileContent(FileBasedIndexImpl.java:1526)
at com.intellij.util.indexing.FileBasedIndexImpl.processRefreshedFile(FileBasedIndexImpl.java:1505)
at com.intellij.util.indexing.FileBasedIndexImpl$VirtualFileUpdateTask.doProcess(FileBasedIndexImpl.java:1669)
at com.intellij.util.indexing.FileBasedIndexImpl$VirtualFileUpdateTask.doProcess(FileBasedIndexImpl.java:1666)
at com.intellij.util.indexing.UpdateTask.a(UpdateTask.java:76)
at com.intellij.util.indexing.UpdateTask.processAll(UpdateTask.java:46)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1688)
at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:719)
at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:685)
at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:330)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:307)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:296)
at org.angularjs.index.AngularIndexUtil.multiResolve(AngularIndexUtil.java:78)
at org.angularjs.index.AngularIndexUtil.resolve(AngularIndexUtil.java:68)
at org.angularjs.index.AngularIndexUtil.lambda$getAngularJSVersion$3(AngularIndexUtil.java:174)
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:60)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:87)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:118)
at org.angularjs.index.AngularIndexUtil.getAngularJSVersion(AngularIndexUtil.java:171)
at org.angularjs.index.AngularIndexUtil.hasAngularJS2(AngularIndexUtil.java:165)
at org.angularjs.editor.Angular2Injector.getLanguagesToInject(Angular2Injector.java:40)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider$MyInjProcessor.process(InjectedPsiCachedValueProvider.java:76)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.processInPlaceInjectorsFor(InjectedLanguageManagerImpl.java:422)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider.doCompute(InjectedPsiCachedValueProvider.java:56)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.probeElementsUp(InjectedLanguageUtil.java:344)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.enumerate(InjectedLanguageUtil.java:172)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.enumerateEx(InjectedLanguageManagerImpl.java:320)
at com.intellij.codeInsight.daemon.impl.InjectedGeneralHighlightingPass.a(InjectedGeneralHighlightingPass.java:190)
at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:133)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1134)
at com.intellij.concurrency.ApplierCompleter.a(ApplierCompleter.java:105)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:580)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
at com.intellij.concurrency.ApplierCompleter.b(ApplierCompleter.java:116)
at com.intellij.concurrency.ApplierCompleter.d(ApplierCompleter.java:96)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:143)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:218)
at com.intellij.concurrency.ApplierCompleter.compute(ApplierCompleter.java:96)
at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
2018-03-15 17:14:52,119 [2221183] ERROR - aemon.impl.PassExecutorService - PhpStorm 2018.1 EAP Build #PS-181.4203.107
2018-03-15 17:14:52,119 [2221183] ERROR - aemon.impl.PassExecutorService - JDK: 1.8.0_152-release
2018-03-15 17:14:52,119 [2221183] ERROR - aemon.impl.PassExecutorService - VM: OpenJDK 64-Bit Server VM
2018-03-15 17:14:52,119 [2221183] ERROR - aemon.impl.PassExecutorService - Vendor: JetBrains s.r.o
2018-03-15 17:14:52,119 [2221183] ERROR - aemon.impl.PassExecutorService - OS: Mac OS X
2018-03-15 17:14:52,119 [2221183] ERROR - aemon.impl.PassExecutorService - Last Action: ShowLog
2018-03-15 17:15:11,936 [2241000] INFO - ex.GlobalInspectionContextImpl - Code inspection started
2018-03-15 17:15:11,990 [2241054] INFO - ex.GlobalInspectionContextImpl - Code inspection finished. Took 50ms
2018-03-15 17:15:12,375 [2241439] ERROR - aemon.impl.PassExecutorService - Lexer has been advanced 100 times more than the amount of lexeme 167
com.jetbrains.php.lang.parser.PhpParserException: Lexer has been advanced 100 times more than the amount of lexeme 167
at com.jetbrains.php.lang.parser.PhpPsiBuilder.getTokenType(PhpPsiBuilder.java:97)
at com.jetbrains.php.lang.parser.PhpPsiBuilder.compare(PhpPsiBuilder.java:31)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:285)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:48)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:48)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariableOrFunctionCall(Variable.java:150)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parse(Variable.java:39)
at com.jetbrains.php.lang.parser.parsing.expressions.PrimaryExpression.parse(PrimaryExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.PostfixExpression.parse(PostfixExpression.java:13)
at com.jetbrains.php.lang.parser.parsing.expressions.UnaryExpression.parse(UnaryExpression.java:82)
at com.jetbrains.php.lang.parser.parsing.expressions.InstanceofExpression.parse(InstanceofExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LogicalNotExpression.parse(LogicalNotExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.math.MultiplicativeExpression.parse(MultiplicativeExpression.java:24)
at com.jetbrains.php.lang.parser.parsing.expressions.math.AdditiveExpression.parse(AdditiveExpression.java:23)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.ShiftExpression.parse(ShiftExpression.java:19)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.RelationalExpression.parse(RelationalExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.EqualityExpression.parse(EqualityExpression.java:18)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitAndExpression.parse(BitAndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitXorExpression.parse(BitXorExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitOrExpression.parse(BitOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:53)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:29)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:53)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.UnaryExpression.parse(UnaryExpression.java:80)
at com.jetbrains.php.lang.parser.parsing.expressions.InstanceofExpression.parse(InstanceofExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LogicalNotExpression.parse(LogicalNotExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.math.MultiplicativeExpression.parse(MultiplicativeExpression.java:24)
at com.jetbrains.php.lang.parser.parsing.expressions.math.AdditiveExpression.parse(AdditiveExpression.java:23)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.ShiftExpression.parse(ShiftExpression.java:19)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.RelationalExpression.parse(RelationalExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.EqualityExpression.parse(EqualityExpression.java:18)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitAndExpression.parse(BitAndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitXorExpression.parse(BitXorExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitOrExpression.parse(BitOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:53)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.UnaryExpression.parse(UnaryExpression.java:80)
at com.jetbrains.php.lang.parser.parsing.expressions.InstanceofExpression.parse(InstanceofExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LogicalNotExpression.parse(LogicalNotExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.math.MultiplicativeExpression.parse(MultiplicativeExpression.java:24)
at com.jetbrains.php.lang.parser.parsing.expressions.math.AdditiveExpression.parse(AdditiveExpression.java:23)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.ShiftExpression.parse(ShiftExpression.java:19)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.RelationalExpression.parse(RelationalExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.EqualityExpression.parse(EqualityExpression.java:18)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitAndExpression.parse(BitAndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitXorExpression.parse(BitXorExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitOrExpression.parse(BitOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:156)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:48)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.Statement.parse(Statement.java:85)
at com.jetbrains.php.lang.parser.parsing.StatementList.parseTopStatement(StatementList.java:133)
at com.jetbrains.php.lang.parser.parsing.StatementList.parseBlockDeep(StatementList.java:94)
at com.jetbrains.php.lang.parser.PhpPsiParser.parseBlockDeep(PhpPsiParser.java:35)
at com.jetbrains.php.lang.parser.PhpElementTypes$GroupStatementElementType.parseContents(PhpElementTypes.java:198)
at com.intellij.psi.impl.source.tree.LazyParseableElement.lambda$ensureParsed$0(LazyParseableElement.java:193)
at com.intellij.psi.impl.DebugUtil.performPsiModification(DebugUtil.java:544)
at com.intellij.psi.impl.source.tree.LazyParseableElement.ensureParsed(LazyParseableElement.java:192)
at com.intellij.psi.impl.source.tree.LazyParseableElement.getFirstChildNode(LazyParseableElement.java:247)
at com.intellij.psi.impl.source.tree.LazyParseablePsiElement.getFirstChild(LazyParseablePsiElement.java:90)
at com.jetbrains.php.lang.psi.elements.impl.PhpPsiElementImpl.getChildren(PhpPsiElementImpl.java:128)
at com.jetbrains.php.lang.psi.elements.impl.GroupStatementImpl.getChildren(GroupStatementImpl.java:50)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.scanTree(FunctionImpl.java:264)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.getInferredType(FunctionImpl.java:199)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.getLocalType(FunctionImpl.java:160)
at com.jetbrains.php.lang.psi.elements.impl.MethodImpl.getLocalType(MethodImpl.java:244)
at com.jetbrains.php.lang.psi.stubs.PhpMethodElementType.createStub(PhpMethodElementType.java:37)
at com.jetbrains.php.lang.psi.stubs.PhpMethodElementType.createStub(PhpMethodElementType.java:19)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.a(DefaultStubBuilder.java:113)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.visitNode(DefaultStubBuilder.java:88)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.buildStubTree(DefaultStubBuilder.java:83)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTreeFor(DefaultStubBuilder.java:58)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTree(DefaultStubBuilder.java:39)
at com.intellij.psi.stubs.StubTreeBuilder.buildStubTree(StubTreeBuilder.java:84)
at com.intellij.psi.stubs.StubUpdatingIndex$3.a(StubUpdatingIndex.java:232)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:897)
at com.intellij.psi.stubs.StubUpdatingIndex$3.map(StubUpdatingIndex.java:214)
at com.intellij.psi.stubs.StubUpdatingIndex$3.map(StubUpdatingIndex.java:197)
at com.intellij.util.indexing.impl.MapReduceIndex.mapInput(MapReduceIndex.java:273)
at com.intellij.util.indexing.VfsAwareMapReduceIndex.calculateUpdateData(VfsAwareMapReduceIndex.java:98)
at com.intellij.util.indexing.impl.MapReduceIndex.update(MapReduceIndex.java:213)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1651)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1579)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.freezeFileTypeTemporarilyIn(FileTypeManagerImpl.java:523)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1538)
at com.intellij.util.indexing.FileBasedIndexImpl.indexFileContent(FileBasedIndexImpl.java:1526)
at com.intellij.util.indexing.FileBasedIndexImpl.processRefreshedFile(FileBasedIndexImpl.java:1505)
at com.intellij.util.indexing.FileBasedIndexImpl$VirtualFileUpdateTask.doProcess(FileBasedIndexImpl.java:1669)
at com.intellij.util.indexing.FileBasedIndexImpl$VirtualFileUpdateTask.doProcess(FileBasedIndexImpl.java:1666)
at com.intellij.util.indexing.UpdateTask.a(UpdateTask.java:76)
at com.intellij.util.indexing.UpdateTask.processAll(UpdateTask.java:46)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1688)
at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:719)
at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:685)
at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:330)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:307)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:296)
at org.angularjs.index.AngularIndexUtil.multiResolve(AngularIndexUtil.java:78)
at org.angularjs.index.AngularIndexUtil.resolve(AngularIndexUtil.java:68)
at org.angularjs.index.AngularIndexUtil.lambda$getAngularJSVersion$3(AngularIndexUtil.java:174)
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:60)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:87)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:118)
at org.angularjs.index.AngularIndexUtil.getAngularJSVersion(AngularIndexUtil.java:171)
at org.angularjs.index.AngularIndexUtil.hasAngularJS2(AngularIndexUtil.java:165)
at org.angularjs.editor.Angular2Injector.getLanguagesToInject(Angular2Injector.java:40)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider$MyInjProcessor.process(InjectedPsiCachedValueProvider.java:76)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.processInPlaceInjectorsFor(InjectedLanguageManagerImpl.java:422)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider.doCompute(InjectedPsiCachedValueProvider.java:56)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.probeElementsUp(InjectedLanguageUtil.java:344)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.enumerate(InjectedLanguageUtil.java:172)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.enumerateEx(InjectedLanguageManagerImpl.java:320)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:238)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:200)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:108)
at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:80)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:103)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.c(PassExecutorService.java:437)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1134)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:430)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:580)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.b(PassExecutorService.java:429)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.d(PassExecutorService.java:405)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:143)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:218)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:403)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:170)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - PhpStorm 2018.1 EAP Build #PS-181.4203.107
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - JDK: 1.8.0_152-release
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - VM: OpenJDK 64-Bit Server VM
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - Vendor: JetBrains s.r.o
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - OS: Mac OS X
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - Last Action: InspectCode
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - Lexer has been advanced 100 times more than the amount of lexeme 167
com.jetbrains.php.lang.parser.PhpParserException: Lexer has been advanced 100 times more than the amount of lexeme 167
at com.jetbrains.php.lang.parser.PhpPsiBuilder.getTokenType(PhpPsiBuilder.java:97)
at com.jetbrains.php.lang.parser.PhpPsiBuilder.compare(PhpPsiBuilder.java:31)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:285)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:48)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:48)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariableOrFunctionCall(Variable.java:150)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parse(Variable.java:39)
at com.jetbrains.php.lang.parser.parsing.expressions.PrimaryExpression.parse(PrimaryExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.PostfixExpression.parse(PostfixExpression.java:13)
at com.jetbrains.php.lang.parser.parsing.expressions.UnaryExpression.parse(UnaryExpression.java:82)
at com.jetbrains.php.lang.parser.parsing.expressions.InstanceofExpression.parse(InstanceofExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LogicalNotExpression.parse(LogicalNotExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.math.MultiplicativeExpression.parse(MultiplicativeExpression.java:24)
at com.jetbrains.php.lang.parser.parsing.expressions.math.AdditiveExpression.parse(AdditiveExpression.java:23)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.ShiftExpression.parse(ShiftExpression.java:19)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.RelationalExpression.parse(RelationalExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.EqualityExpression.parse(EqualityExpression.java:18)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitAndExpression.parse(BitAndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitXorExpression.parse(BitXorExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitOrExpression.parse(BitOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:53)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:29)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:53)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.UnaryExpression.parse(UnaryExpression.java:80)
at com.jetbrains.php.lang.parser.parsing.expressions.InstanceofExpression.parse(InstanceofExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LogicalNotExpression.parse(LogicalNotExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.math.MultiplicativeExpression.parse(MultiplicativeExpression.java:24)
at com.jetbrains.php.lang.parser.parsing.expressions.math.AdditiveExpression.parse(AdditiveExpression.java:23)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.ShiftExpression.parse(ShiftExpression.java:19)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.RelationalExpression.parse(RelationalExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.EqualityExpression.parse(EqualityExpression.java:18)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitAndExpression.parse(BitAndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitXorExpression.parse(BitXorExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitOrExpression.parse(BitOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:53)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseDimOffset(Variable.java:341)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseReferenceVariable(Variable.java:301)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:228)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseVariableWithoutObjects(Variable.java:218)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseBaseVariable(Variable.java:177)
at com.jetbrains.php.lang.parser.parsing.calls.Variable.parseAssignable(Variable.java:78)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:120)
at com.jetbrains.php.lang.parser.parsing.expressions.UnaryExpression.parse(UnaryExpression.java:80)
at com.jetbrains.php.lang.parser.parsing.expressions.InstanceofExpression.parse(InstanceofExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LogicalNotExpression.parse(LogicalNotExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.math.MultiplicativeExpression.parse(MultiplicativeExpression.java:24)
at com.jetbrains.php.lang.parser.parsing.expressions.math.AdditiveExpression.parse(AdditiveExpression.java:23)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.ShiftExpression.parse(ShiftExpression.java:19)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.RelationalExpression.parse(RelationalExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.comparition.EqualityExpression.parse(EqualityExpression.java:18)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitAndExpression.parse(BitAndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitXorExpression.parse(BitXorExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.bit.BitOrExpression.parse(BitOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.PrintExpression.parse(PrintExpression.java:31)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.AndExpression.parse(AndExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.OrExpression.parse(OrExpression.java:26)
at com.jetbrains.php.lang.parser.parsing.expressions.CoalesceExpression.parse(CoalesceExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.TernaryExpression.parse(TernaryExpression.java:16)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parseWithoutPriority(AssignmentExpression.java:156)
at com.jetbrains.php.lang.parser.parsing.expressions.AssignmentExpression.parse(AssignmentExpression.java:48)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralAndExpression.parse(LiteralAndExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralXorExpression.parse(LiteralXorExpression.java:14)
at com.jetbrains.php.lang.parser.parsing.expressions.logical.LiteralOrExpression.parse(LiteralOrExpression.java:15)
at com.jetbrains.php.lang.parser.parsing.expressions.Expression.parse(Expression.java:17)
at com.jetbrains.php.lang.parser.parsing.Statement.parse(Statement.java:85)
at com.jetbrains.php.lang.parser.parsing.StatementList.parseTopStatement(StatementList.java:133)
at com.jetbrains.php.lang.parser.parsing.StatementList.parseBlockDeep(StatementList.java:94)
at com.jetbrains.php.lang.parser.PhpPsiParser.parseBlockDeep(PhpPsiParser.java:35)
at com.jetbrains.php.lang.parser.PhpElementTypes$GroupStatementElementType.parseContents(PhpElementTypes.java:198)
at com.intellij.psi.impl.source.tree.LazyParseableElement.lambda$ensureParsed$0(LazyParseableElement.java:193)
at com.intellij.psi.impl.DebugUtil.performPsiModification(DebugUtil.java:544)
at com.intellij.psi.impl.source.tree.LazyParseableElement.ensureParsed(LazyParseableElement.java:192)
at com.intellij.psi.impl.source.tree.LazyParseableElement.getFirstChildNode(LazyParseableElement.java:247)
at com.intellij.psi.impl.source.tree.LazyParseablePsiElement.getFirstChild(LazyParseablePsiElement.java:90)
at com.jetbrains.php.lang.psi.elements.impl.PhpPsiElementImpl.getChildren(PhpPsiElementImpl.java:128)
at com.jetbrains.php.lang.psi.elements.impl.GroupStatementImpl.getChildren(GroupStatementImpl.java:50)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.scanTree(FunctionImpl.java:264)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.getInferredType(FunctionImpl.java:199)
at com.jetbrains.php.lang.psi.elements.impl.FunctionImpl.getLocalType(FunctionImpl.java:160)
at com.jetbrains.php.lang.psi.elements.impl.MethodImpl.getLocalType(MethodImpl.java:244)
at com.jetbrains.php.lang.psi.stubs.PhpMethodElementType.createStub(PhpMethodElementType.java:37)
at com.jetbrains.php.lang.psi.stubs.PhpMethodElementType.createStub(PhpMethodElementType.java:19)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.a(DefaultStubBuilder.java:113)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.visitNode(DefaultStubBuilder.java:88)
at com.intellij.psi.stubs.DefaultStubBuilder$StubBuildingWalkingVisitor.buildStubTree(DefaultStubBuilder.java:83)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTreeFor(DefaultStubBuilder.java:58)
at com.intellij.psi.stubs.DefaultStubBuilder.buildStubTree(DefaultStubBuilder.java:39)
at com.intellij.psi.stubs.StubTreeBuilder.buildStubTree(StubTreeBuilder.java:84)
at com.intellij.psi.stubs.StubUpdatingIndex$3.a(StubUpdatingIndex.java:232)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:897)
at com.intellij.psi.stubs.StubUpdatingIndex$3.map(StubUpdatingIndex.java:214)
at com.intellij.psi.stubs.StubUpdatingIndex$3.map(StubUpdatingIndex.java:197)
at com.intellij.util.indexing.impl.MapReduceIndex.mapInput(MapReduceIndex.java:273)
at com.intellij.util.indexing.VfsAwareMapReduceIndex.calculateUpdateData(VfsAwareMapReduceIndex.java:98)
at com.intellij.util.indexing.impl.MapReduceIndex.update(MapReduceIndex.java:213)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1651)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1579)
at com.intellij.openapi.fileTypes.impl.FileTypeManagerImpl.freezeFileTypeTemporarilyIn(FileTypeManagerImpl.java:523)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1538)
at com.intellij.util.indexing.FileBasedIndexImpl.indexFileContent(FileBasedIndexImpl.java:1526)
at com.intellij.util.indexing.FileBasedIndexImpl.processRefreshedFile(FileBasedIndexImpl.java:1505)
at com.intellij.util.indexing.FileBasedIndexImpl$VirtualFileUpdateTask.doProcess(FileBasedIndexImpl.java:1669)
at com.intellij.util.indexing.FileBasedIndexImpl$VirtualFileUpdateTask.doProcess(FileBasedIndexImpl.java:1666)
at com.intellij.util.indexing.UpdateTask.a(UpdateTask.java:76)
at com.intellij.util.indexing.UpdateTask.processAll(UpdateTask.java:46)
at com.intellij.util.indexing.FileBasedIndexImpl.a(FileBasedIndexImpl.java:1688)
at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:719)
at com.intellij.util.indexing.FileBasedIndexImpl.ensureUpToDate(FileBasedIndexImpl.java:685)
at com.intellij.psi.stubs.StubIndexImpl.a(StubIndexImpl.java:330)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:307)
at com.intellij.psi.stubs.StubIndexImpl.processElements(StubIndexImpl.java:296)
at org.angularjs.index.AngularIndexUtil.multiResolve(AngularIndexUtil.java:78)
at org.angularjs.index.AngularIndexUtil.resolve(AngularIndexUtil.java:68)
at org.angularjs.index.AngularIndexUtil.lambda$getAngularJSVersion$3(AngularIndexUtil.java:174)
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:60)
at com.intellij.psi.impl.PsiCachedValueImpl.getValue(PsiCachedValueImpl.java:38)
at com.intellij.util.CachedValuesManagerImpl.getCachedValue(CachedValuesManagerImpl.java:87)
at com.intellij.psi.util.CachedValuesManager.getCachedValue(CachedValuesManager.java:118)
at org.angularjs.index.AngularIndexUtil.getAngularJSVersion(AngularIndexUtil.java:171)
at org.angularjs.index.AngularIndexUtil.hasAngularJS2(AngularIndexUtil.java:165)
at org.angularjs.editor.Angular2Injector.getLanguagesToInject(Angular2Injector.java:40)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider$MyInjProcessor.process(InjectedPsiCachedValueProvider.java:76)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.processInPlaceInjectorsFor(InjectedLanguageManagerImpl.java:422)
at com.intellij.psi.impl.source.tree.injected.InjectedPsiCachedValueProvider.doCompute(InjectedPsiCachedValueProvider.java:56)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.probeElementsUp(InjectedLanguageUtil.java:344)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageUtil.enumerate(InjectedLanguageUtil.java:172)
at com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl.enumerateEx(InjectedLanguageManagerImpl.java:320)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:238)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:200)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.a(LineMarkersPass.java:108)
at com.intellij.codeInsight.daemon.impl.Divider.divideInsideAndOutsideInOneRoot(Divider.java:80)
at com.intellij.codeInsight.daemon.impl.LineMarkersPass.doCollectInformation(LineMarkersPass.java:103)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:70)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.c(PassExecutorService.java:437)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:1134)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.a(PassExecutorService.java:430)
at com.intellij.openapi.progress.impl.CoreProgressManager.a(CoreProgressManager.java:580)
at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:525)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:85)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.b(PassExecutorService.java:429)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.d(PassExecutorService.java:405)
at com.intellij.openapi.application.impl.ReadMostlyRWLock.executeByImpatientReader(ReadMostlyRWLock.java:143)
at com.intellij.openapi.application.impl.ApplicationImpl.executeByImpatientReader(ApplicationImpl.java:218)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:403)
at com.intellij.concurrency.JobLauncherImpl$VoidForkJoinTask$1.exec(JobLauncherImpl.java:170)
at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - PhpStorm 2018.1 EAP Build #PS-181.4203.107
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - JDK: 1.8.0_152-release
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - VM: OpenJDK 64-Bit Server VM
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - Vendor: JetBrains s.r.o
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - OS: Mac OS X
2018-03-15 17:15:12,376 [2241440] ERROR - aemon.impl.PassExecutorService - Last Action: InspectCode
@iakoder : probably because of exceptions (EA Extended is fail-safe, I but I guess with the problem no type information was available). In fact, I think multiple inspections depending on type information is not getting it because of the exception.
Not much help, but please report the exception to JetBrains.
Reported as https://youtrack.jetbrains.com/issue/WI-41147
We have rechecked this issue and find out that even when there is no exceptions in idea.log and all inspections were enabled, inspection doesn't show error for code
<?php
declare( strict_types = 1 );
/**
*
*/
function foo() {
/**
* @var string $x
*/
$x = 'Foo';
$x[] = 'Bar';
echo 'Done';
}
foo();
So I think this issue should be re-opened
I'll re-check (but we have added UTs which are passing, so perhaps just a new test case will be added).
@isfedorov : in $x[] which type $x is?
Seems I misunderstood the original pitch. http://php.net/manual/en/migration71.incompatible.php#migration71.incompatible.empty-string-index-operator is not reported yet, I'll make adjustments.
Added the pattern recognition, thank you for feedback guys!
Thanks for working on this. Unfortunately I'm still not seeing it.
PhpStorm 2018.1
Build #PS-181.4203.565, built on March 28, 2018
Licensed to Intacct / Dan Wilks
You have a perpetual fallback license for this version
Subscription is active until April 6, 2019
JRE: 1.8.0_152-release-1136-b20 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.2
Php Inspections (EA Extended): 3.0.0
Yet the code I posted above still doesn't generate any inspection issues. I've run through an inspection profile with Unsupported string offset operations checked and I've run that inspection by-name.
<?php
declare( strict_types = 1 );
/**
*
*/
function foo() {
/**
* @var string $x
*/
$x = 'Foo';
$x[] = 'Bar';
echo 'Done';
}
foo();
@iakoder : that's strange. What's the language level set in the project?

Well, at least I said I was sorry in my post. I'd gone back to 7.0 in that project. I'll slink back to my corner now.
Relax, everything is fine =)