Repository: phpactor/phpactor (php)

Issue:
Private constructors should not be completed
Twice in a row I got confused there is a public constructor there:
![image](https://user-images.githubusercontent.com/12109622/104836687-58161100-58b8-11eb-9725-9612e46193f4.png)


Pull request description:
Gh 1181 deconstruct
Fixes #1181 

Patch:
diff --git a/doc/other/developing.rst b/doc/other/developing.rst
index 1b224569..cd137cff 100644
--- a/doc/other/developing.rst
+++ b/doc/other/developing.rst
@@ -28,8 +28,8 @@ Enable it as follows:
 
    {
        "logging.enabled": true,
-       "logging.level: "debug",
-       "logging.path: "phpactor.log",
+       "logging.level": "debug",
+       "logging.path": "phpactor.log",
    }
 
 Var Dump Server
diff --git a/lib/WorseReflection/Core/Inference/Resolver/AssignmentExpressionResolver.php b/lib/WorseReflection/Core/Inference/Resolver/AssignmentExpressionResolver.php
index eeea73f7..2f959aa8 100644
--- a/lib/WorseReflection/Core/Inference/Resolver/AssignmentExpressionResolver.php
+++ b/lib/WorseReflection/Core/Inference/Resolver/AssignmentExpressionResolver.php
@@ -232,6 +232,15 @@ class AssignmentExpressionResolver implements Resolver
 
             $index++;
             $elementValue = $element->elementValue;
+            if ($elementValue instanceof ArrayCreationExpression) {
+                $list = $elementValue->arrayElements;
+                if (!$list instanceof ArrayElementList) {
+                    return;
+                }
+                $accessType = $this->offsetType($type, $index);
+                $this->walkArrayElements($list->children, $leftOperand, $accessType, $frame);
+                continue;
+            }
             if (!$elementValue instanceof Variable) {
                 continue;
             }


Test patch:
diff --git a/lib/WorseReflection/Tests/Inference/assignment/list_desconstruct_nested.test b/lib/WorseReflection/Tests/Inference/assignment/list_desconstruct_nested.test
new file mode 100644
index 00000000..6aa86e89
--- /dev/null
+++ b/lib/WorseReflection/Tests/Inference/assignment/list_desconstruct_nested.test
@@ -0,0 +1,10 @@
+<?php
+
+function yesOrNo(): bool
+{
+}
+
+[[$one, $two]] = yesOrNo() ? [['one', 'two']] : [['three', 'four']];
+
+wrAssertType('"one"|"three"', $one);
+wrAssertType('"two"|"four"', $two);