2023-02-15 17:45:23 -03:00
|
|
|
<?php
|
|
|
|
namespace ProVM\Common\Define;
|
|
|
|
|
|
|
|
interface Parser
|
|
|
|
{
|
2023-05-19 11:16:50 -04:00
|
|
|
/**
|
|
|
|
* Determine if file is multiline
|
|
|
|
* @param string $filename
|
|
|
|
* @return bool
|
|
|
|
*/
|
|
|
|
public function isMultiline(string $filename): bool;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Get the total amount of errors
|
|
|
|
* @param string $filename
|
|
|
|
* @return int
|
|
|
|
*/
|
|
|
|
public function total(string $filename): int;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Parse line(s)
|
|
|
|
* @param mixed &$file_handler
|
|
|
|
* @return Log
|
|
|
|
*/
|
|
|
|
public function parse(mixed &$file_handler): Log;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Advance $offset errors
|
|
|
|
* @param mixed $file_handler
|
|
|
|
* @param int $offset
|
|
|
|
* @return void
|
|
|
|
*/
|
|
|
|
public function advance(mixed &$file_handler, int $offset): void;
|
2023-02-15 17:45:23 -03:00
|
|
|
}
|