Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
n/a
0 / 0
n/a
0 / 0
CRAP
n/a
0 / 0
1<?php
2
3namespace BrianHenryIE\Strauss\Files;
4
5use BrianHenryIE\Strauss\Types\DiscoveredSymbol;
6
7interface FileBase
8{
9
10    public function getSourcePath(): string;
11
12    public function getAbsoluteTargetPath(): string;
13
14    public function setAbsoluteTargetPath(string $absoluteTargetPath): void;
15
16    public function getVendorRelativePath(): string;
17
18    public function isPhpFile(): bool;
19
20    public function isAutoloaded(): bool;
21
22    public function setDoCopy(bool $doCopy): void;
23
24    public function isDoCopy(): bool;
25
26    public function setDoPrefix(bool $doPrefix): void;
27
28    public function isDoPrefix(): bool;
29
30    /**
31     * Used to mark files that are symlinked as not-to-be-deleted.
32     *
33     * @param bool $doDelete
34     *
35     * @return void
36     */
37    public function setDoDelete(bool $doDelete): void;
38
39    /**
40     * Should file be deleted?
41     *
42     * NB: Also respect the "delete_vendor_files"|"delete_vendor_packages" settings.
43     */
44    public function isDoDelete(): bool;
45
46    public function setDidDelete(bool $didDelete): void;
47
48    public function getDidDelete(): bool;
49
50    public function setDidUpdate(): void;
51
52    public function addDiscoveredSymbol(DiscoveredSymbol $symbol): void;
53
54    /**
55     * @return array<string, DiscoveredSymbol> The discovered symbols in the file, indexed by their original string name.
56     */
57    public function getDiscoveredSymbols(): array;
58}