added custom assertion error

feature/strict-mode
Michael Ochmann 3 years ago
parent 543112f89e
commit 7e19ede470
  1. 5
      index.php
  2. 5
      src/Parser.php
  3. 7
      src/ParserError.php

@ -2,8 +2,6 @@
require __DIR__."/vendor/autoload.php";
echo "
<style>
body {
@ -33,7 +31,7 @@ $source = file_get_contents($file);
try {
$Instance = new parkdown\Parkdown($source, true, $file);
echo $Instance->html();
} catch (AssertionError $error) {
} catch (parkdown\ParserError $error) {
echo "<pre>";
$message = explode(" ", $error->getMessage());
@ -47,7 +45,6 @@ try {
$stackTrace = explode("\n", $error->getTraceAsString());
array_shift($stackTrace);
echo "<p><small>";
foreach ($stackTrace as $step) {

@ -6,6 +6,7 @@ use Attribute;
use DOMDocument;
use DOMElement;
use DOMNode;
use phpDocumentor\Reflection\DocBlock\Tags\Throws;
enum ListType {
case ORDERED;
@ -79,7 +80,7 @@ class Parser {
}
private static function Assert(bool $assertion, Token $token, string $message = "") : void {
assert($assertion, self::LOC($token->location).$message);
assert($assertion, new ParserError(self::LOC($token->location).$message));
}
private function resolveReferences(DOMElement $node) : void {
@ -240,7 +241,7 @@ class Parser {
array_push($elms, $this->parseBold());
} else {
$this->consume();
array_push($elms, $this->parseItalic());
array_push($elms, $this->parseItalic());
}
continue;
} elseif ($this->current()->type === TokenType::BACKTICK) {

@ -0,0 +1,7 @@
<?php declare(strict_types=1);
namespace parkdown;
use AssertionError;
class ParserError extends AssertionError {}
Loading…
Cancel
Save