[ {
  "relativePath" : "resources/META-INF/psalm-remote-plugin.xml",
  "extension" : "xml",
  "linesOfCode" : 6,
  "components" : [ "primary::resources" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "resources/META-INF/plugin.xml",
  "extension" : "xml",
  "linesOfCode" : 51,
  "components" : [ "primary::resources" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "resources/inspectionDescriptions/PsalmGlobal.html",
  "extension" : "html",
  "linesOfCode" : 12,
  "components" : [ "primary::resources" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/parameterInfo/NativeClosure.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/parameterInfo/PsalmDocClosure.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/output/Simple.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/NestedListArrayShapeUnion.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/genericMixins/severalMixins.php",
  "extension" : "php",
  "linesOfCode" : 16,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/genericMixins/genericAndPlainMixins.php",
  "extension" : "php",
  "linesOfCode" : 16,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/genericMixins/simple.php",
  "extension" : "php",
  "linesOfCode" : 14,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/genericMixins/genericMixinsInOtherFile.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/genericMixins/unionTwoClassesWithMixins.php",
  "extension" : "php",
  "linesOfCode" : 18,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/genericMixins/decorator.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/genericMixins/stdlibClassMixin.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectAndArrayShapes.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShapeQuotedKeysMultiple.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShape.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectShapeDocParam.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/StaticMemberReferenceDynamicClassFQN.php",
  "extension" : "php",
  "linesOfCode" : 12,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectShapeConstructor.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/CustomDeclaredTypes.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/NestedArrayShapeForeachOverArrayAccess.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectAndArrayShapesMultipleFiles.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectAndArrayShapesMixed.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/TemplateParameters.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShapeMultipleFiles.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShapeNestedForeach.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/StaticMethodsCompletionViaClassStringForeachValue.php",
  "extension" : "php",
  "linesOfCode" : 13,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/NestedArrayShapeDifferentQuotes.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayAndObjectShapesMultipleFiles.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectShapeFunction.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/PsalmTraceTagCompletion.php",
  "extension" : "php",
  "linesOfCode" : 2,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ConditionalType.php",
  "extension" : "php",
  "linesOfCode" : 2,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/NestedArrayShapeForeach.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShapePropertyTag.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectShapeField.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShapeUnion.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/DocTagCompletions.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/NestedMultilineArrayShape.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShapeFromConstructorCompletion.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShapePropertyTagAndVarTag.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/CustomDocTypes.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectShapeArrayAccessIntIndex.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectShapeIndexedArray.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/NestedArrayShapeUnion.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectShapeMultipleFiles.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/NoMaterializationForTemplateExtends.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/NestedArrayShape.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectShapeDocProperty.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShapeWithLineComment.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShapeQuotedKeys.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShapeArrayAccessIntIndex.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectShapeVariable.php",
  "extension" : "php",
  "linesOfCode" : 2,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayShapePropertyTagAndVarTagClassDocComment.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/PsalmAliasImport.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/StaticMethodsCompletionViaClassStringForeachKey.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ArrayAndObjectShapes.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ObjectShapePhysicalField.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/NestedListArrayShape.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/completion/ExpectedArgumentCompletionFromKeyOf.php",
  "extension" : "php",
  "linesOfCode" : 16,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/moveDragAndDrop/GenericsListType/before/N/Library.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/moveDragAndDrop/GenericsListType/before/N/Book.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/moveDragAndDrop/GenericsListType/after/N1/N/Library.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/moveDragAndDrop/GenericsListType/after/N1/N/Book.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/fixes/FqnUsageInWildcard.after.php",
  "extension" : "php",
  "linesOfCode" : 13,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/fixes/NestedImport.php",
  "extension" : "php",
  "linesOfCode" : 17,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/fixes/VarTagWithoutVariableName.after.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/fixes/PluralMixedWithKeys.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/fixes/NestedImport.after.php",
  "extension" : "php",
  "linesOfCode" : 18,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/fixes/NestedImportFQN.php",
  "extension" : "php",
  "linesOfCode" : 18,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/fixes/NestedImportFQN.after.php",
  "extension" : "php",
  "linesOfCode" : 18,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/fixes/PluralMixed.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/fixes/VarTagWithoutVariableName.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/fixes/PluralMixed.after.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/fixes/FqnUsageInWildcard.php",
  "extension" : "php",
  "linesOfCode" : 13,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/documentationProvider/VarTag.html",
  "extension" : "html",
  "linesOfCode" : 1,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/documentationProvider/PsalmTags.html",
  "extension" : "html",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/documentationProvider/VarTag.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/documentationProvider/CustomPsalmTags.html",
  "extension" : "html",
  "linesOfCode" : 13,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/documentationProvider/TemplateTag.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/documentationProvider/PsalmTags.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/documentationProvider/CustomPsalmTags.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/documentationProvider/TemplateTag.html",
  "extension" : "html",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/MetaFromSuperParameter.php",
  "extension" : "php",
  "linesOfCode" : 15,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/MetaFromSuperParameterGlobal.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateClassString.php",
  "extension" : "php",
  "linesOfCode" : 15,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ParametrisedPolymorphicCallName.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TypeAlias.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateExtends.php",
  "extension" : "php",
  "linesOfCode" : 34,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ReturnTemplatedClassNamespace.php",
  "extension" : "php",
  "linesOfCode" : 33,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/FetchExtendsFromParentClass.php",
  "extension" : "php",
  "linesOfCode" : 31,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/AdvancedCallableInferred.php",
  "extension" : "php",
  "linesOfCode" : 37,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericYield.php",
  "extension" : "php",
  "linesOfCode" : 18,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/Scalar.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericPassingParameter.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/LocalTypeUnwrappingSameFile.php",
  "extension" : "php",
  "linesOfCode" : 19,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplatedClassVariableDocType.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/IntArrayKey.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ArrayKeyVarType.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateUnwrappedArrayConstructorCall.php",
  "extension" : "php",
  "linesOfCode" : 22,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/LocalTypeUnwrappingDifferentFile.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/DocTypesInParentheses.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericDocMethod.php",
  "extension" : "php",
  "linesOfCode" : 23,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericsConstructorInference.php",
  "extension" : "php",
  "linesOfCode" : 23,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/LocalClassString.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmArrayShapeMultipleFiles.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/AdvancedCallableInSameFile.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/UnknownArrayKey.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ElementTypeOfArrayKey.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmMultilineArrayShape.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/LocalTypeUnwrappingTagOrderMustNotMatter.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/SuperMember.php",
  "extension" : "php",
  "linesOfCode" : 17,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/DocMethodReturnsGenericList.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/Numeric.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ReturnTemplatedClass.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/MethodTemplate.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ParameterUnwrapToStaticGeneric.php",
  "extension" : "php",
  "linesOfCode" : 16,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/StubsConsistencyVariable.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TypesFromExtendedClassConstantsWildcard.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ExtendedTypes.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/StubsConsistencyField.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/NonEmptyList.php",
  "extension" : "php",
  "linesOfCode" : 2,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/StubsConsistencyParameter.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ClassString.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmVarField.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/KeyOfValueOf.php",
  "extension" : "php",
  "linesOfCode" : 14,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ElementTypeOfGenericClassDifferentFile.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/AdvancedCallableKeyword.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/FloatType.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericPassingParameterStaticDifferentFile.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ArrayShapeMultiAssignmentOmittedElements.php",
  "extension" : "php",
  "linesOfCode" : 22,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/NonFalsyString.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmTagsTemplate.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateWrappedArray.php",
  "extension" : "php",
  "linesOfCode" : 17,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/SuperMemberRecursive.php",
  "extension" : "php",
  "linesOfCode" : 17,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/FetchExtendsThroughIntermediateValue.php",
  "extension" : "php",
  "linesOfCode" : 20,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TypesFromExtendedClassConstants.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/VarOnPromotedProperty.php",
  "extension" : "php",
  "linesOfCode" : 15,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ElementTypeOfGenericClass.php",
  "extension" : "php",
  "linesOfCode" : 14,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ListArrayKey.php",
  "extension" : "php",
  "linesOfCode" : 13,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/AdvancedCallableMethodRef.php",
  "extension" : "php",
  "linesOfCode" : 19,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TruthyString.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ParameterUnwrap.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmVarOnCorrectVariable.php",
  "extension" : "php",
  "linesOfCode" : 2,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/CallableString.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmParam.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ClassTemplate.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericPassingParameterStatic.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/NegativeInt.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericClassStringConstructor.php",
  "extension" : "php",
  "linesOfCode" : 19,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/NonPositiveInt.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmScalarTypeArrayKey.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/NumericString.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmVarVar.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/InferredVarParameter.php",
  "extension" : "php",
  "linesOfCode" : 28,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericClassStringConstructorWithPromotedPropertyWithParamTag.php",
  "extension" : "php",
  "linesOfCode" : 21,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/returnStaticOrThis/thisWithForeach.php",
  "extension" : "php",
  "linesOfCode" : 17,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/returnStaticOrThis/arrayOfThis.php",
  "extension" : "php",
  "linesOfCode" : 30,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/returnStaticOrThis/this.php",
  "extension" : "php",
  "linesOfCode" : 25,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/returnStaticOrThis/static.php",
  "extension" : "php",
  "linesOfCode" : 25,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmArrayShape.php",
  "extension" : "php",
  "linesOfCode" : 35,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericYieldDifferentFile.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/SubstituteExtendedClasses.php",
  "extension" : "php",
  "linesOfCode" : 21,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericIterableUnwrap.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/LocalClassStringNamespace.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericIteratorBases.php",
  "extension" : "php",
  "linesOfCode" : 29,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/Closure.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericIteratorSubstitutionByImplementedMethod.php",
  "extension" : "php",
  "linesOfCode" : 31,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/LiteralType.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericIterableUnwrapDifferentFile.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ExpandFallthroughTemplatesInConstructor.php",
  "extension" : "php",
  "linesOfCode" : 17,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/LowercaseString.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateExtendsNamespace.php",
  "extension" : "php",
  "linesOfCode" : 37,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ParameterUnwrapToArray.php",
  "extension" : "php",
  "linesOfCode" : 12,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateUnwrappedArrayConstructorCallNonArrayPassed.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplatedArrayKey.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericClassStringConstructorWithPromotedProperty.php",
  "extension" : "php",
  "linesOfCode" : 21,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/InnerParametrizedParts.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/StubsConsistencyFunction.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmReturn.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/NonNegativeInt.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ExtendedClassesWithFallthroughTemplates.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TypeAliasGlobal.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ArrayDocMethod.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericPassingParameterMultipleSubstitutions.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericAndStatic/queryBuilder.php",
  "extension" : "php",
  "linesOfCode" : 17,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericAndStatic/staticWithEntities.php",
  "extension" : "php",
  "linesOfCode" : 13,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericAndStatic/this.php",
  "extension" : "php",
  "linesOfCode" : 27,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericAndStatic/arrayObject.php",
  "extension" : "php",
  "linesOfCode" : 16,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericAndStatic/static.php",
  "extension" : "php",
  "linesOfCode" : 37,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericPassingParameterDifferentFile.php",
  "extension" : "php",
  "linesOfCode" : 2,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericClassStringParameterWithSuperTypeForT.php",
  "extension" : "php",
  "linesOfCode" : 20,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmNotNumericArrayKey.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateExtendsByPassingStaticReturn.php",
  "extension" : "php",
  "linesOfCode" : 17,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplatedIteratorInForeach.php",
  "extension" : "php",
  "linesOfCode" : 47,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/StringArrayKey.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/WithoutTemplate.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/NonEmptyLowercaseString.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/AdvancedCallableUnionType.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ArrayShapeNumeric.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericArray/simpleKey.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericArray/nonEmptyArray.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericArray/nestedValueWithKey.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericArray/nestedValue.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericArray/simpleValue.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericArray/nestedClassString.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericArray/union.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericArray/nestedKey.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/genericArray/nonArray.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateImplements.php",
  "extension" : "php",
  "linesOfCode" : 18,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ClassNamesFromClassStringDocVar.php",
  "extension" : "php",
  "linesOfCode" : 18,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/NonEmptyString.php",
  "extension" : "php",
  "linesOfCode" : 2,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/LiteralString.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PluralClassString.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ArrayKey.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/GenericFlipClassParameters.php",
  "extension" : "php",
  "linesOfCode" : 21,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TypeAliasPlural.php",
  "extension" : "php",
  "linesOfCode" : 12,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ExtendedClassesWithFallthroughTemplatesNamespaced.php",
  "extension" : "php",
  "linesOfCode" : 13,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ClassStringConstructorParameterTypeStaticCall.php",
  "extension" : "php",
  "linesOfCode" : 14,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateExtendsByPassing.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/MultipleTags.php",
  "extension" : "php",
  "linesOfCode" : 20,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateUnwrappedArray.php",
  "extension" : "php",
  "linesOfCode" : 13,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PsalmReturnGeneric.php",
  "extension" : "php",
  "linesOfCode" : 14,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateExtendsMultipleTemplates.php",
  "extension" : "php",
  "linesOfCode" : 22,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/NestedListInMultilineDoc.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/AdvancedCallable.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TemplateWrappedClass.php",
  "extension" : "php",
  "linesOfCode" : 22,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/FunctionTemplate.php",
  "extension" : "php",
  "linesOfCode" : 15,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/AdvancedCallableImported.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/VarOnPromotedPropertyWithDocCommentOnMethod.php",
  "extension" : "php",
  "linesOfCode" : 25,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ScalarGeneric.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/AdvancedCallableDoc.php",
  "extension" : "php",
  "linesOfCode" : 21,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/IntMaskOf.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ArrayShapePlural.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/NonEmptyListWithoutTypes.php",
  "extension" : "php",
  "linesOfCode" : 2,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ArrayKeyTemplateType.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/ArrayKeyOfMultiDimensionalArray.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/MultipleInheritanceWithExtends.php",
  "extension" : "php",
  "linesOfCode" : 21,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/NewExpressionWithClassString.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/PluralClassStringWithArgument.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/IterableKey.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/IntMask.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/typeInference/TraitString.php",
  "extension" : "php",
  "linesOfCode" : 3,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/NoReturn.php",
  "extension" : "php",
  "linesOfCode" : 30,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/LiteralTypeDuplicate.php",
  "extension" : "php",
  "linesOfCode" : 2,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/UndefinedClassArray.php",
  "extension" : "php",
  "linesOfCode" : 6,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/GenericsExtendVarType.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/ArrayShape.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/UndefinedClassTemplate.php",
  "extension" : "php",
  "linesOfCode" : 31,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/ParamTagInsideCallable.php",
  "extension" : "php",
  "linesOfCode" : 7,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/DocRefInsideDocType.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/ReturnGenericTemplate.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/FindWildcardsClassReferenceUnnecessaryFQN.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/PsalmTraceVar.php",
  "extension" : "php",
  "linesOfCode" : 2,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/TypeAlreadyExists.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/ArrayShapeExtendsFunctionSignature.php",
  "extension" : "php",
  "linesOfCode" : 16,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/UndefinedClassExtendedScalar.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/UndefinedClassNoReturn.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/DocSignatureExtendedStringDocType.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/UndefinedClassPsalmType.php",
  "extension" : "php",
  "linesOfCode" : 11,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/AdvancedCallableParams.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/NonEmptyArrayAsConditionForType.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/FindWildcardsUsagesForConstants.php",
  "extension" : "php",
  "linesOfCode" : 19,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/SpecialTypesExtendSignature.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/GenericsExtendFunctionSignature.php",
  "extension" : "php",
  "linesOfCode" : 5,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/LiteralTypeUnresolvedClass.php",
  "extension" : "php",
  "linesOfCode" : 2,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/NonEmptyListWithoutTypes.php",
  "extension" : "php",
  "linesOfCode" : 4,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/codeInsight/inspections/UndefinedClassClosure.php",
  "extension" : "php",
  "linesOfCode" : 8,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/resolve/GenericMixinUnionTwoClassesWithMixins.php",
  "extension" : "php",
  "linesOfCode" : 16,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/resolve/GenericMixinSeveralMixins.php",
  "extension" : "php",
  "linesOfCode" : 14,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/resolve/GenericMixinMethod.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/resolve/GenericMixinGenericAndPlainMixins.php",
  "extension" : "php",
  "linesOfCode" : 14,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/resolve/GenericMixinDecorator.php",
  "extension" : "php",
  "linesOfCode" : 9,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "testData/resolve/GenericMixinField.php",
  "extension" : "php",
  "linesOfCode" : 10,
  "components" : [ "primary::testData" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "plugin-content.yaml",
  "extension" : "yaml",
  "linesOfCode" : 3,
  "components" : [ "primary::ROOT" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmValidationInspection.java",
  "extension" : "java",
  "linesOfCode" : 16,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmAnnotatorProxy.java",
  "extension" : "java",
  "linesOfCode" : 84,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmOptionsConfiguration.java",
  "extension" : "java",
  "linesOfCode" : 52,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmOpenSettingsProvider.java",
  "extension" : "java",
  "linesOfCode" : 13,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmSettingsTransferStartupActivity.kt",
  "extension" : "kt",
  "linesOfCode" : 26,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmConfigurationBaseManager.java",
  "extension" : "java",
  "linesOfCode" : 30,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmProjectConfiguration.java",
  "extension" : "java",
  "linesOfCode" : 30,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmBlackList.java",
  "extension" : "java",
  "linesOfCode" : 12,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmConfigurable.java",
  "extension" : "java",
  "linesOfCode" : 25,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmConfiguration.java",
  "extension" : "java",
  "linesOfCode" : 78,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmGlobalInspection.java",
  "extension" : "java",
  "linesOfCode" : 157,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmComposerConfig.java",
  "extension" : "java",
  "linesOfCode" : 101,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmAddToIgnoredAction.java",
  "extension" : "java",
  "linesOfCode" : 11,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmConfigurationProvider.java",
  "extension" : "java",
  "linesOfCode" : 19,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmConfigurableForm.java",
  "extension" : "java",
  "linesOfCode" : 35,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmOptionsPanel.java",
  "extension" : "java",
  "linesOfCode" : 85,
  "components" : [ "primary::src" ],
  "concerns" : [ "::TODOs" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmBundle.java",
  "extension" : "java",
  "linesOfCode" : 18,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmMessageProcessor.java",
  "extension" : "java",
  "linesOfCode" : 94,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmQualityToolType.java",
  "extension" : "java",
  "linesOfCode" : 81,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/PsalmConfigurationManager.java",
  "extension" : "java",
  "linesOfCode" : 27,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/remote/PsalmRemoteConfigurationProvider.java",
  "extension" : "java",
  "linesOfCode" : 77,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
}, {
  "relativePath" : "src/com/jetbrains/php/tools/quality/psalm/remote/PsalmRemoteConfiguration.java",
  "extension" : "java",
  "linesOfCode" : 58,
  "components" : [ "primary::src" ],
  "concerns" : [ "::Unclassified" ]
} ]