Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

BusinessTimes mixin issues #11251

Closed
raimidev opened this issue Jun 28, 2024 · 6 comments
Closed

BusinessTimes mixin issues #11251

raimidev opened this issue Jun 28, 2024 · 6 comments

Comments

@raimidev
Copy link

Bug report

Phpstan is throwing an internal error when using the Cmixin library BusinessTime https://github.com/kylekatarnls/business-time.

StackTrace:
Internal error: Method diffInBusinessHours() was not found in reflection of class Carbon\Carbon. while analysing file /Users/raimiralvarez/Projects/janus-phoenix/packages/data-dashboard/src/Data/RequestInfo.php
Post the following stack trace to https://github.com/phpstan/phpstan/issues/new?template=Bug_report.yaml:
## phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/ClassReflection.php(560)
#0 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/Php/PhpMethodReflection.php(210): PHPStan\Reflection\ClassReflection->getNativeMethod('diffInBusinessH...')
#1 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/Dummy/ChangedTypeMethodReflection.php(69): PHPStan\Reflection\Php\PhpMethodReflection->getPrototype()
#2 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/ResolvedMethodReflection.php(52): PHPStan\Reflection\Dummy\ChangedTypeMethodReflection->getPrototype()
#3 /Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan-strict-rules/src/Rules/StrictCalls/DynamicCallOnStaticMethodsRule.php(59): PHPStan\Reflection\ResolvedMethodReflection->getPrototype()
#4 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(120): PHPStan\Rules\StrictCalls\DynamicCallOnStaticMethodsRule->processNode(Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope))
#5 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Node/ClassStatementsGatherer.php(109): PHPStan\Analyser\FileAnalyser->PHPStan\Analyser{closure}(Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope))
#6 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(616): PHPStan\Node\ClassStatementsGatherer->invoke(Object(PhpParser\Node\Expr\MethodCall), Object(PHPStan\Analyser\MutatingScope))
#7 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(691): PHPStan\Analyser\NodeScopeResolver::PHPStan\Analyser{closure}(Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope))
#8 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(3070): PHPStan\Analyser\NodeScopeResolver::PHPStan\Analyser{closure}(Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope))
#9 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1756): PHPStan\Analyser\NodeScopeResolver->callNodeCallbackWithExpression(Object(Closure), Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionContext))
#10 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(2573): PHPStan\Analyser\NodeScopeResolver->processExprNode(Object(PhpParser\Node\Stmt\Expression), Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\ExpressionContext))
#11 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1782): PHPStan\Analyser\NodeScopeResolver->processExprNode(Object(PhpParser\Node\Stmt\Expression), Object(PhpParser\Node\Expr\Ternary),
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\ExpressionContext))
#12 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(3801): PHPStan\Analyser\NodeScopeResolver->PHPStan\Analyser{closure}(Object(PHPStan\Analyser\MutatingScope))
#13 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1791): PHPStan\Analyser\NodeScopeResolver->processAssignVar(Object(PHPStan\Analyser\MutatingScope), Object(PhpParser\Node\Stmt\Expression),
Object(PhpParser\Node\Expr\PropertyFetch), Object(PhpParser\Node\Expr\Ternary), Object(Closure), Object(PHPStan\Analyser\ExpressionContext), Object(Closure), true)
#14 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(702): PHPStan\Analyser\NodeScopeResolver->processExprNode(Object(PhpParser\Node\Stmt\Expression), Object(PhpParser\Node\Expr\Assign),
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\ExpressionContext))
#15 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(439): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Expression), Object(PHPStan\Analyser\MutatingScope),
Object(Closure), Object(PHPStan\Analyser\StatementContext))
#16 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(641): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\ClassMethod), Array,
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#17 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(439): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Node\ClassStatementsGatherer), Object(PHPStan\Analyser\StatementContext))
#18 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(752): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Class
), Array,
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer), Object(PHPStan\Analyser\StatementContext))
#19 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(439): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Class
), Object(PHPStan\Analyser\MutatingScope),
Object(Closure), Object(PHPStan\Analyser\StatementContext))
#20 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(722): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Namespace_), Array,
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#21 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(407): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Namespace_), Object(PHPStan\Analyser\MutatingScope),
Object(Closure), Object(PHPStan\Analyser\StatementContext))
#22 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(179): PHPStan\Analyser\NodeScopeResolver->processNodes(Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#23 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(139): PHPStan\Analyser\FileAnalyser->analyseFile('/Users/raimiral...', Array, Object(PHPStan\Rules\LazyRegistry),
Object(PHPStan\Collectors\Registry), NULL)
#24 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): PHPStan\Command\WorkerCommand::PHPStan\Command{closure}(Array)
#25 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(117): _PHPStan_01e5828ef\Evenement\EventEmitter->emit('data', Array)
#26 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_01e5828ef\Clue\React\NDJson\Decoder->handleData(Array)
#27 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62): _PHPStan_01e5828ef\Evenement\EventEmitter->emit('data', Array)
#28 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_01e5828ef\React\Stream\Util::_PHPStan_01e5828ef\React\Stream{closure}('{"action":"anal...')
#29 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(154): _PHPStan_01e5828ef\Evenement\EventEmitter->emit('data', Array)
#30 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201): _PHPStan_01e5828ef\React\Stream\DuplexResourceStream->handleData(Resource id #12309)
#31 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173): _PHPStan_01e5828ef\React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL)
#32 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(99): _PHPStan_01e5828ef\React\EventLoop\StreamSelectLoop->run()
#33 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259): PHPStan\Command\WorkerCommand->execute(Object(_PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#34 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(870):
_PHPStan_01e5828ef\Symfony\Component\Console\Command\Command->run(Object(_PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#35 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261): _PHPStan_01e5828ef\Symfony\Component\Console\Application->doRunCommand(Object(PHPStan\Command\WorkerCommand),
Object(PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput), Object(PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#36 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157):
PHPStan_01e5828ef\Symfony\Component\Console\Application->doRun(Object(PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput), Object(PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#37 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(124): PHPStan_01e5828ef\Symfony\Component\Console\Application->run()
#38 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(125): PHPStan_01e5828ef{closure}()
#39 /Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan(8): require('phar:///Users/r...')
#40 /Users/raimiralvarez/Projects/janus-phoenix/vendor/bin/phpstan(119): include('/Users/raimiral...')
#41 {main}
Internal error: Method addOpenHours() was not found in reflection of class Illuminate\Support\Carbon. while analysing file /Users/raimiralvarez/Projects/janus-phoenix/packages/data-dashboard/src/Models/CustomerRequest.php
Post the following stack trace to https://github.com/phpstan/phpstan/issues/new?template=Bug_report.yaml:
## phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/ClassReflection.php(560)
#0 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/Php/PhpMethodReflection.php(210): PHPStan\Reflection\ClassReflection->getNativeMethod('addOpenHours')
#1 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/Dummy/ChangedTypeMethodReflection.php(69): PHPStan\Reflection\Php\PhpMethodReflection->getPrototype()
#2 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/ResolvedMethodReflection.php(52): PHPStan\Reflection\Dummy\ChangedTypeMethodReflection->getPrototype()
#3 /Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan-strict-rules/src/Rules/StrictCalls/DynamicCallOnStaticMethodsRule.php(59): PHPStan\Reflection\ResolvedMethodReflection->getPrototype()
#4 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(120): PHPStan\Rules\StrictCalls\DynamicCallOnStaticMethodsRule->processNode(Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope))
#5 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Node/ClassStatementsGatherer.php(109): PHPStan\Analyser\FileAnalyser->PHPStan\Analyser{closure}(Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope))
#6 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(616): PHPStan\Node\ClassStatementsGatherer->invoke(Object(PhpParser\Node\Expr\MethodCall), Object(PHPStan\Analyser\MutatingScope))
#7 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(3070): PHPStan\Analyser\NodeScopeResolver::PHPStan\Analyser{closure}(Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope))
#8 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1756): PHPStan\Analyser\NodeScopeResolver->callNodeCallbackWithExpression(Object(Closure), Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionContext))
#9 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(662): PHPStan\Analyser\NodeScopeResolver->processExprNode(Object(PhpParser\Node\Stmt\Return
), Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\ExpressionContext))
#10 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(439): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Return
), Object(PHPStan\Analyser\MutatingScope),
Object(Closure), Object(PHPStan\Analyser\StatementContext))
#11 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(641): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\ClassMethod), Array,
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#12 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(439): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Node\ClassStatementsGatherer), Object(PHPStan\Analyser\StatementContext))
#13 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(4248): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Trait
), Array,
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer), Object(PHPStan\Analyser\StatementContext))
#14 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(4263): PHPStan\Analyser\NodeScopeResolver->processNodesForTraitUse(Object(PhpParser\Node\Stmt\Trait
),
Object(PHPStan\Reflection\ClassReflection), Object(PHPStan\Analyser\MutatingScope), Array, Object(PHPStan\Node\ClassStatementsGatherer))
#15 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(4259): PHPStan\Analyser\NodeScopeResolver->processNodesForTraitUse(Array, Object(PHPStan\Reflection\ClassReflection),
Object(PHPStan\Analyser\MutatingScope), Array, Object(PHPStan\Node\ClassStatementsGatherer))
#16 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(4263): PHPStan\Analyser\NodeScopeResolver->processNodesForTraitUse(Object(PhpParser\Node\Stmt\Namespace
),
Object(PHPStan\Reflection\ClassReflection), Object(PHPStan\Analyser\MutatingScope), Array, Object(PHPStan\Node\ClassStatementsGatherer))
#17 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(4202): PHPStan\Analyser\NodeScopeResolver->processNodesForTraitUse(Array, Object(PHPStan\Reflection\ClassReflection),
Object(PHPStan\Analyser\MutatingScope), Array, Object(PHPStan\Node\ClassStatementsGatherer))
#18 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(862): PHPStan\Analyser\NodeScopeResolver->processTraitUse(Object(PhpParser\Node\Stmt\TraitUse), Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Node\ClassStatementsGatherer))
#19 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(439): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\TraitUse), Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Node\ClassStatementsGatherer), Object(PHPStan\Analyser\StatementContext))
#20 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(752): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Class
), Array,
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer), Object(PHPStan\Analyser\StatementContext))
#21 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(439): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Class
), Object(PHPStan\Analyser\MutatingScope),
Object(Closure), Object(PHPStan\Analyser\StatementContext))
#22 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(722): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Namespace
), Array,
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#23 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(407): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Namespace
), Object(PHPStan\Analyser\MutatingScope),
Object(Closure), Object(PHPStan\Analyser\StatementContext))
#24 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(179): PHPStan\Analyser\NodeScopeResolver->processNodes(Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#25 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(139): PHPStan\Analyser\FileAnalyser->analyseFile('/Users/raimiral...', Array, Object(PHPStan\Rules\LazyRegistry),
Object(PHPStan\Collectors\Registry), NULL)
#26 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): PHPStan\Command\WorkerCommand::PHPStan\Command{closure}(Array)
#27 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(117): _PHPStan_01e5828ef\Evenement\EventEmitter->emit('data', Array)
#28 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_01e5828ef\Clue\React\NDJson\Decoder->handleData(Array)
#29 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62): _PHPStan_01e5828ef\Evenement\EventEmitter->emit('data', Array)
#30 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_01e5828ef\React\Stream\Util::_PHPStan_01e5828ef\React\Stream{closure}('{"action":"anal...')
#31 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(154): _PHPStan_01e5828ef\Evenement\EventEmitter->emit('data', Array)
#32 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201): _PHPStan_01e5828ef\React\Stream\DuplexResourceStream->handleData(Resource id #12309)
#33 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173): _PHPStan_01e5828ef\React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL)
#34 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(99): _PHPStan_01e5828ef\React\EventLoop\StreamSelectLoop->run()
#35 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259): PHPStan\Command\WorkerCommand->execute(Object(_PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#36 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(870):
_PHPStan_01e5828ef\Symfony\Component\Console\Command\Command->run(Object(_PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#37 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261): _PHPStan_01e5828ef\Symfony\Component\Console\Application->doRunCommand(Object(PHPStan\Command\WorkerCommand),
Object(_PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#38 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157):
_PHPStan_01e5828ef\Symfony\Component\Console\Application->doRun(Object(PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput), Object(PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#39 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(124): PHPStan_01e5828ef\Symfony\Component\Console\Application->run()
#40 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(125): PHPStan_01e5828ef{closure}()
#41 /Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan(8): require('phar:///Users/r...')
#42 /Users/raimiralvarez/Projects/janus-phoenix/vendor/bin/phpstan(119): include('/Users/raimiral...')
#43 {main}
Internal error: Method isBusinessDay() was not found in reflection of class Carbon\Carbon. while analysing file /Users/raimiralvarez/Projects/janus-phoenix/packages/utility/src/Rules/BusinessDayRule.php
Post the following stack trace to https://github.com/phpstan/phpstan/issues/new?template=Bug_report.yaml:
## phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/ClassReflection.php(560)
#0 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/Php/PhpMethodReflection.php(210): PHPStan\Reflection\ClassReflection->getNativeMethod('isBusinessDay')
#1 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/Dummy/ChangedTypeMethodReflection.php(69): PHPStan\Reflection\Php\PhpMethodReflection->getPrototype()
#2 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Reflection/ResolvedMethodReflection.php(52): PHPStan\Reflection\Dummy\ChangedTypeMethodReflection->getPrototype()
#3 /Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan-strict-rules/src/Rules/StrictCalls/DynamicCallOnStaticMethodsRule.php(59): PHPStan\Reflection\ResolvedMethodReflection->getPrototype()
#4 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(120): PHPStan\Rules\StrictCalls\DynamicCallOnStaticMethodsRule->processNode(Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope))
#5 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Node/ClassStatementsGatherer.php(109): PHPStan\Analyser\FileAnalyser->PHPStan\Analyser{closure}(Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope))
#6 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(616): PHPStan\Node\ClassStatementsGatherer->invoke(Object(PhpParser\Node\Expr\MethodCall), Object(PHPStan\Analyser\MutatingScope))
#7 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(3070): PHPStan\Analyser\NodeScopeResolver::PHPStan\Analyser{closure}(Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope))
#8 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(1756): PHPStan\Analyser\NodeScopeResolver->callNodeCallbackWithExpression(Object(Closure), Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Analyser\ExpressionContext))
#9 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(662): PHPStan\Analyser\NodeScopeResolver->processExprNode(Object(PhpParser\Node\Stmt\Return
), Object(PhpParser\Node\Expr\MethodCall),
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\ExpressionContext))
#10 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(439): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Return
), Object(PHPStan\Analyser\MutatingScope),
Object(Closure), Object(PHPStan\Analyser\StatementContext))
#11 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(641): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\ClassMethod), Array,
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#12 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(439): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\ClassMethod), Object(PHPStan\Analyser\MutatingScope),
Object(PHPStan\Node\ClassStatementsGatherer), Object(PHPStan\Analyser\StatementContext))
#13 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(752): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Class
), Array,
Object(PHPStan\Analyser\MutatingScope), Object(PHPStan\Node\ClassStatementsGatherer), Object(PHPStan\Analyser\StatementContext))
#14 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(439): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Class
), Object(PHPStan\Analyser\MutatingScope),
Object(Closure), Object(PHPStan\Analyser\StatementContext))
#15 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(722): PHPStan\Analyser\NodeScopeResolver->processStmtNodes(Object(PhpParser\Node\Stmt\Namespace
), Array,
Object(PHPStan\Analyser\MutatingScope), Object(Closure), Object(PHPStan\Analyser\StatementContext))
#16 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/NodeScopeResolver.php(407): PHPStan\Analyser\NodeScopeResolver->processStmtNode(Object(PhpParser\Node\Stmt\Namespace
), Object(PHPStan\Analyser\MutatingScope),
Object(Closure), Object(PHPStan\Analyser\StatementContext))
#17 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Analyser/FileAnalyser.php(179): PHPStan\Analyser\NodeScopeResolver->processNodes(Array, Object(PHPStan\Analyser\MutatingScope), Object(Closure))
#18 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(139): PHPStan\Analyser\FileAnalyser->analyseFile('/Users/raimiral...', Array, Object(PHPStan\Rules\LazyRegistry),
Object(PHPStan\Collectors\Registry), NULL)
#19 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): PHPStan\Command\WorkerCommand::PHPStan\Command{closure}(Array)
#20 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/clue/ndjson-react/src/Decoder.php(117): _PHPStan_01e5828ef\Evenement\EventEmitter->emit('data', Array)
#21 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_01e5828ef\Clue\React\NDJson\Decoder->handleData(Array)
#22 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/Util.php(62): _PHPStan_01e5828ef\Evenement\EventEmitter->emit('data', Array)
#23 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/evenement/evenement/src/Evenement/EventEmitterTrait.php(97): _PHPStan_01e5828ef\React\Stream\Util::_PHPStan_01e5828ef\React\Stream{closure}('{"action":"anal...')
#24 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/stream/src/DuplexResourceStream.php(154): _PHPStan_01e5828ef\Evenement\EventEmitter->emit('data', Array)
#25 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(201): _PHPStan_01e5828ef\React\Stream\DuplexResourceStream->handleData(Resource id #12309)
#26 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/react/event-loop/src/StreamSelectLoop.php(173): _PHPStan_01e5828ef\React\EventLoop\StreamSelectLoop->waitForStreamActivity(NULL)
#27 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/src/Command/WorkerCommand.php(99): _PHPStan_01e5828ef\React\EventLoop\StreamSelectLoop->run()
#28 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Command/Command.php(259): PHPStan\Command\WorkerCommand->execute(Object(_PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput),
Object(_PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#29 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(870):
_PHPStan_01e5828ef\Symfony\Component\Console\Command\Command->run(Object(_PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#30 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(261): _PHPStan_01e5828ef\Symfony\Component\Console\Application->doRunCommand(Object(PHPStan\Command\WorkerCommand),
Object(_PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#31 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/vendor/symfony/console/Application.php(157):
_PHPStan_01e5828ef\Symfony\Component\Console\Application->doRun(Object(_PHPStan_01e5828ef\Symfony\Component\Console\Input\ArgvInput), Object(_PHPStan_01e5828ef\Symfony\Component\Console\Output\ConsoleOutput))
#32 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(124): _PHPStan_01e5828ef\Symfony\Component\Console\Application->run()
#33 phar:///Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan.phar/bin/phpstan(125): _PHPStan_01e5828ef{closure}()
#34 /Users/raimiralvarez/Projects/janus-phoenix/vendor/phpstan/phpstan/phpstan(8): require('phar:///Users/r...')
#35 /Users/raimiralvarez/Projects/janus-phoenix/vendor/bin/phpstan(119): include('/Users/raimiral...')
#36 {main}

Code snippet that reproduces the problem

Idk how to install pacakges in the playground :(

Expected output

Phpstan not throwing an internal error

Did PHPStan help you today? Did it make you happy in any way?

No response

Copy link

mergeable bot commented Jun 28, 2024

This bug report is missing a link to reproduction at phpstan.org/try.

It will most likely be closed after manual review.

@ondrejmirtes
Copy link
Member

Please post the mininal reproduction steps:

  • composer.json
  • phpstan.neon
  • the code that causes this crash when analysed by PHPStan

Alternatively, create a small reproducing repository that shows how PHPStan crashes.

Thanks.

@raimidev
Copy link
Author

raimidev commented Jun 28, 2024

composer.json
Phpstan config.txt

In the ServiceProvider

public function enableBusinessTimeMixin(): void
    {
        BusinessTime::enable(
            [
                \Illuminate\Support\Carbon::class,
            ],
            [
                'monday' => ['08:30-17:30'],
                'tuesday' => ['08:30-17:30'],
                'wednesday' => ['08:30-17:30'],
                'thursday' => ['08:30-17:30'],
                'friday' => ['08:30-17:30'],
                'saturday' => [],
                'sunday' => [],
                'holidaysAreClosed' => true,
                'holidays' => [
                    'region' => 'us-national',
                ],
            ]
        );
    }
/**
     * @param BasePayload $payload
     * @param mixed[] $metadata
     * @return Carbon|CarbonImmutable|CarbonInterface
     */
    public static function calculateDueDate(BasePayload $payload, array $metadata): Carbon|CarbonImmutable|CarbonInterface
    {
        // Default due time is 8 business hours
        $defaultTime = 9;

        if (
            $payload->type === CustomerRequestType::CERTIFICATE_REQUEST &&
            $metadata['request_waiver_subrogation'] === true
        ) {
            $defaultTime = 18;
        }

        return Carbon::now()->addOpenHours($defaultTime);
    }

I had to change the extension of the phpstan config because it wasn't letting me upload the file. Thank you for your help in advance.

@ondrejmirtes
Copy link
Member

I'm sorry, but 10 kB composer.json isn't minimal by any means. Please try to remove stuff from composer.json until the problem no longer reproduces and then go one step back. Also provide valid PHP code that leads to the internal error you're experiencing.

The code you provided is missing many parts it's referencing, like BusinessTime class or CustomerRequestType class/enum.

Ideally publish the minimal code as a public GitHub repository I can inspect.

@ondrejmirtes
Copy link
Member

Alright, still not sure how this issue possible, but I'm trying to prevent it with this commit: phpstan/phpstan-src@25658f6

Try composer require --dev phpstan/phpstan:1.11.x-dev to test it.

Copy link

github-actions bot commented Aug 5, 2024

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Aug 5, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants