Page Menu
Home
Sealhub
Search
Configure Global Search
Log In
Files
F7187873
ArcanistFutureLinter.php
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
1 KB
Referenced Files
None
Subscribers
None
ArcanistFutureLinter.php
View Options
<?php
abstract
class
ArcanistFutureLinter
extends
ArcanistLinter
{
private
$futures
;
abstract
protected
function
buildFutures
(
array
$paths
);
abstract
protected
function
resolveFuture
(
$path
,
Future
$future
);
final
protected
function
getFuturesLimit
()
{
return
8
;
}
final
public
function
willLintPaths
(
array
$paths
)
{
$limit
=
$this
->
getFuturesLimit
();
$this
->
futures
=
id
(
new
FutureIterator
(
array
()))->
limit
(
$limit
);
foreach
(
$this
->
buildFutures
(
$paths
)
as
$path
=>
$future
)
{
$this
->
futures
->
addFuture
(
$future
,
$path
);
}
}
final
public
function
lintPath
(
$path
)
{
return
;
}
final
public
function
didLintPaths
(
array
$paths
)
{
if
(!
$this
->
futures
)
{
return
;
}
$map
=
array
();
foreach
(
$this
->
futures
as
$path
=>
$future
)
{
$this
->
setActivePath
(
$path
);
$this
->
resolveFuture
(
$path
,
$future
);
$map
[
$path
]
=
$future
;
}
$this
->
futures
=
array
();
$this
->
didResolveLinterFutures
(
$map
);
}
/**
* Hook for cleaning up resources.
*
* This is invoked after a block of futures resolve, and allows linters to
* discard or clean up any shared resources they no longer need.
*
* @param map<string, Future> Map of paths to resolved futures.
* @return void
*/
protected
function
didResolveLinterFutures
(
array
$futures
)
{
return
;
}
}
File Metadata
Details
Attached
Mime Type
text/x-php
Expires
Tue, Jul 8, 07:41 (9 h, 33 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
804206
Default Alt Text
ArcanistFutureLinter.php (1 KB)
Attached To
Mode
R118 Arcanist - fork
Attached
Detach File
Event Timeline
Log In to Comment