-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathpsalm.xml
More file actions
170 lines (169 loc) · 10.1 KB
/
Copy pathpsalm.xml
File metadata and controls
170 lines (169 loc) · 10.1 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
<?xml version="1.0"?>
<psalm
errorLevel="4"
resolveFromConfigFile="true"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
findUnusedBaselineEntry="true"
findUnusedCode="true"
findUnusedVariablesAndParams="true"
>
<projectFiles>
<directory name="lib" />
<ignoreFiles>
<directory name="vendor" />
</ignoreFiles>
</projectFiles>
<stubs>
<file name="vendor/nextcloud/ocp/OCP/Capabilities/ICapability.php" preloadClasses="true" />
<!--
OpenRegister's data-access contract — same reasoning as the decidesk
event stubs below: a sibling Nextcloud app supplies it at runtime, so
it is absent from the analysis path.
It USED to resolve, because hydra-gates declared
`OCA\OpenRegister\Contract\` as a psr-4 prefix. That was a bug — the
prefix is longer than openregister's own, so a vendored copy in any
app defined the contract for the whole process — and v1.9.0 removed
it (ConductionNL/.github#531). The runtime side is handled by the
guarded require in this app's test bootstrap; psalm never runs that,
so it needs the shape declared here instead. 213 UndefinedClass
errors without it.
-->
<file name="vendor/conduction/hydra-gates/hydra-gates/contracts/ObjectServiceInterface.php" />
<file name="vendor/conduction/hydra-gates/hydra-gates/contracts/ObjectEntityInterface.php" />
<!-- decidesk decision-event contract (DecisionRequestedEvent +
DecisionConcludedEvent). decidesk is a sibling Nextcloud app, not a
Composer dependency, so it is absent from the analysis path. The
stub mirrors the real signatures in decidesk/lib/Event/ and supplies
real type information instead of silencing the diagnostic — which is
what also resolves the isHandled()/getDecisionId() calls on the
dispatched event. Analysis-only; never loaded at runtime. -->
<file name="tests/analysis-stubs/decidesk-events.stub.php" preloadClasses="true" />
<!-- OpenRegister RegisterResolverService. Same cross-app situation; this
stub already existed for PHPUnit mock generation and mirrors the real
signature in openregister/lib/Service/RegisterResolverService.php. -->
<file name="tests/Stubs/Service/RegisterResolverService.php" preloadClasses="true" />
</stubs>
<issueHandlers>
<UndefinedDocblockClass errorLevel="suppress"/>
<UndefinedClass>
<errorLevel type="suppress">
<!-- Nextcloud OCP Classes -->
<referencedClass name="OCP\AppFramework\App"/>
<referencedClass name="OCP\AppFramework\Bootstrap\IBootstrap"/>
<referencedClass name="OCP\AppFramework\Controller"/>
<referencedClass name="OCP\AppFramework\IAppContainer"/>
<referencedClass name="OCP\App\IAppManager"/>
<referencedClass name="OCP\BackgroundJob\IJobList"/>
<referencedClass name="OCP\BackgroundJob\QueuedJob"/>
<referencedClass name="OCP\BackgroundJob\TimedJob"/>
<referencedClass name="OCP\EventDispatcher\Event"/>
<referencedClass name="OCP\EventDispatcher\IEventListener"/>
<referencedClass name="OCP\IAppConfig"/>
<referencedClass name="OCP\ICacheFactory"/>
<referencedClass name="OCP\IConfig"/>
<referencedClass name="OCP\IDBConnection"/>
<referencedClass name="OCP\IGroupManager"/>
<referencedClass name="OCP\IUserManager"/>
<referencedClass name="OCP\IUserSession"/>
<referencedClass name="OCP\IMemcache"/>
<referencedClass name="OCP\IRequest"/>
<referencedClass name="OCP\EventDispatcher\IEventDispatcher"/>
<referencedClass name="OCP\DB\QueryBuilder\IQueryBuilder"/>
<referencedClass name="OCP\AppFramework\Db\QBMapper"/>
<referencedClass name="OCP\AppFramework\Db\Entity"/>
<referencedClass name="OCP\Files\IRootFolder"/>
<referencedClass name="OCP\Files\Node"/>
<referencedClass name="OCP\Files\File"/>
<referencedClass name="OCP\Files\Folder"/>
<referencedClass name="OCP\Files\NotFoundException"/>
<referencedClass name="OCP\AppFramework\Http\JSONResponse"/>
<referencedClass name="OCP\AppFramework\Http\TemplateResponse"/>
<referencedClass name="OCP\AppFramework\Http\DataResponse"/>
<referencedClass name="OCP\IL10N"/>
<referencedClass name="OCP\IURLGenerator"/>
<referencedClass name="OCP\Http\Client\IClient"/>
<referencedClass name="OCP\Http\Client\IClientService"/>
<referencedClass name="OCP\Notification\IManager"/>
<referencedClass name="OCP\Share\IManager"/>
<!-- OpenRegister cross-app classes (loaded dynamically) -->
<referencedClass name="OCA\OpenRegister\Db\ObjectEntity"/>
<referencedClass name="OCA\OpenRegister\Db\RegisterMapper"/>
<referencedClass name="OCA\OpenRegister\Db\SchemaMapper"/>
<referencedClass name="OCA\OpenRegister\Db\Register"/>
<referencedClass name="OCA\OpenRegister\Db\Organisation"/>
<referencedClass name="OCA\OpenRegister\Db\OrganisationMapper"/>
<referencedClass name="OCA\OpenRegister\Service\OrganisationService"/>
<referencedClass name="OCA\OpenRegister\Event\UserProfileUpdatedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\ObjectLockedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\ObjectUnlockedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\ObjectRevertedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\OrganisationCreatedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\RegisterCreatedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\RegisterUpdatedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\RegisterDeletedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\SchemaCreatedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\SchemaUpdatedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\SchemaDeletedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\DeepLinkRegistrationEvent"/>
<referencedClass name="OCA\OpenRegister\Event\ObjectCreatingEvent"/>
<referencedClass name="OCA\OpenRegister\Event\ObjectCreatedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\ObjectUpdatingEvent"/>
<referencedClass name="OCA\OpenRegister\Event\ObjectUpdatedEvent"/>
<referencedClass name="OCA\OpenRegister\Event\ObjectDeletedEvent"/>
<referencedClass name="OCA\OpenRegister\Service\ObjectService"/>
<referencedClass name="OCA\OpenRegister\Service\ConfigurationService"/>
<referencedClass name="OCA\OpenRegister\Service\RegisterService"/>
<referencedClass name="OCA\OpenRegister\Service\FileService"/>
<referencedClass name="OCA\OpenRegister\Service\CalendarEventService"/>
<referencedClass name="OCA\OpenRegister\Mcp\IMcpToolProvider"/>
<!-- Additional OCP infrastructure types used across the fleet -->
<referencedClass name="OCP\AppFramework\Bootstrap\IBootContext"/>
<referencedClass name="OCP\AppFramework\Bootstrap\IRegistrationContext"/>
<referencedClass name="OCP\AppFramework\Db\DoesNotExistException"/>
<referencedClass name="OCP\DB\Exception"/>
<referencedClass name="OCP\IGroup"/>
<referencedClass name="OCP\IUser"/>
<referencedClass name="OCP\Migration\IRepairStep"/>
<!-- Nextcloud server internals -->
<referencedClass name="OC"/>
<!-- GuzzleHttp (loaded via composer at runtime) -->
<referencedClass name="GuzzleHttp\Client"/>
<referencedClass name="GuzzleHttp\Exception\GuzzleException"/>
</errorLevel>
</UndefinedClass>
<UndefinedMagicMethod errorLevel="suppress"/>
<UnusedClass errorLevel="suppress"/>
<PossiblyUnusedMethod errorLevel="suppress"/>
<UnusedMethod errorLevel="suppress"/>
<UnusedProperty errorLevel="suppress"/>
<PossiblyUnusedParam errorLevel="suppress"/>
<UnusedDocblockParam errorLevel="suppress"/>
<UnusedVariable errorLevel="suppress"/>
<PossiblyUnusedReturnValue errorLevel="suppress"/>
<RedundantCondition errorLevel="suppress"/>
<RedundantFunctionCall errorLevel="suppress"/>
<RedundantCast errorLevel="suppress"/>
<InvalidDocblock errorLevel="suppress"/>
<MoreSpecificImplementedParamType errorLevel="suppress"/>
<MissingDependency errorLevel="suppress"/>
<UnevaluatedCode errorLevel="suppress"/>
<NoValue errorLevel="suppress"/>
<TypeDoesNotContainNull errorLevel="suppress"/>
<TypeDoesNotContainType errorLevel="suppress"/>
<InvalidArrayOffset errorLevel="suppress"/>
<InvalidCast errorLevel="suppress"/>
<InvalidArgument errorLevel="suppress"/>
<InvalidReturnType errorLevel="suppress"/>
<InvalidReturnStatement errorLevel="suppress"/>
<MismatchingDocblockReturnType errorLevel="suppress"/>
<EmptyArrayAccess errorLevel="suppress"/>
<ImplementedReturnTypeMismatch errorLevel="suppress"/>
<InvalidMethodCall errorLevel="suppress"/>
<UndefinedInterfaceMethod errorLevel="suppress"/>
<MissingTemplateParam errorLevel="suppress"/>
</issueHandlers>
<extraFiles>
<directory name="vendor/nextcloud/ocp" />
</extraFiles>
</psalm>