File tree Expand file tree Collapse file tree 1 file changed +25
-0
lines changed
Expand file tree Collapse file tree 1 file changed +25
-0
lines changed Original file line number Diff line number Diff line change @@ -154,6 +154,31 @@ public function getType(
154154 return Option::fromNullable ($ provider ->getType ($ for ));
155155 }
156156
157+ public function setType (
158+ StatementsSource |
159+ NodeTypeProvider |
160+ AfterMethodCallAnalysisEvent |
161+ MethodReturnTypeProviderEvent |
162+ AfterStatementAnalysisEvent |
163+ FunctionReturnTypeProviderEvent |
164+ AfterExpressionAnalysisEvent $ from ,
165+ Node \Expr | Node \Name | Node \Stmt \Return_ $ for ,
166+ Union $ type ,
167+ ): void
168+ {
169+ $ provider = match (true ) {
170+ $ from instanceof NodeTypeProvider => $ from ,
171+ $ from instanceof StatementsSource => $ from ->getNodeTypeProvider (),
172+ $ from instanceof AfterStatementAnalysisEvent => $ from ->getStatementsSource ()->getNodeTypeProvider (),
173+ $ from instanceof MethodReturnTypeProviderEvent => $ from ->getSource ()->getNodeTypeProvider (),
174+ $ from instanceof FunctionReturnTypeProviderEvent => $ from ->getStatementsSource ()->getNodeTypeProvider (),
175+ $ from instanceof AfterExpressionAnalysisEvent => $ from ->getStatementsSource ()->getNodeTypeProvider (),
176+ $ from instanceof AfterMethodCallAnalysisEvent => $ from ->getStatementsSource ()->getNodeTypeProvider (),
177+ };
178+
179+ $ provider ->setType ($ for , $ type );
180+ }
181+
157182 /**
158183 * @return Option<Atomic>
159184 */
You can’t perform that action at this time.
0 commit comments