1<?php
2/*
3 * This file is part of the php-code-coverage package.
4 *
5 * (c) Sebastian Bergmann <sebastian@phpunit.de>
6 *
7 * For the full copyright and license information, please view the LICENSE
8 * file that was distributed with this source code.
9 */
10
11namespace SebastianBergmann\CodeCoverage\Driver;
12
13/**
14 * Interface for code coverage drivers.
15 */
16interface Driver
17{
18    /**
19     * @var int
20     *
21     * @see http://xdebug.org/docs/code_coverage
22     */
23    const LINE_EXECUTED = 1;
24
25    /**
26     * @var int
27     *
28     * @see http://xdebug.org/docs/code_coverage
29     */
30    const LINE_NOT_EXECUTED = -1;
31
32    /**
33     * @var int
34     *
35     * @see http://xdebug.org/docs/code_coverage
36     */
37    const LINE_NOT_EXECUTABLE = -2;
38
39    /**
40     * Start collection of code coverage information.
41     *
42     * @param bool $determineUnusedAndDead
43     */
44    public function start($determineUnusedAndDead = true);
45
46    /**
47     * Stop collection of code coverage information.
48     *
49     * @return array
50     */
51    public function stop();
52}
53