This commit is contained in:
Thomas Peterson 2025-07-11 22:00:53 +02:00
parent 93e6d572f9
commit e536747370
5 changed files with 296 additions and 246 deletions

View File

@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE coverage SYSTEM "http://cobertura.sourceforge.net/xml/coverage-04.dtd">
<coverage line-rate="0.73696844993141" branch-rate="0" lines-covered="2149" lines-valid="2916" branches-covered="0" branches-valid="0" complexity="1318" version="0.4" timestamp="1752244752">
<coverage line-rate="0.73378839590444" branch-rate="0" lines-covered="2150" lines-valid="2930" branches-covered="0" branches-valid="0" complexity="1321" version="0.4" timestamp="1752264041">
<sources>
<source>/home/thomas/projekte/calc/src</source>
</sources>
@ -3642,9 +3642,9 @@
</class>
</classes>
</package>
<package name="Graph/Calc.php" line-rate="0.95652173913043" branch-rate="0" complexity="20">
<package name="Graph/Calc.php" line-rate="0.93617021276596" branch-rate="0" complexity="21">
<classes>
<class name="PSC\Library\Calc\Graph\Calc" filename="Graph/Calc.php" line-rate="0.95652173913043" branch-rate="0" complexity="20">
<class name="PSC\Library\Calc\Graph\Calc" filename="Graph/Calc.php" line-rate="0.93617021276596" branch-rate="0" complexity="21">
<methods>
<method name="__construct" signature="string $params, string $formulas" line-rate="1" branch-rate="0" complexity="1">
<lines>
@ -3652,7 +3652,7 @@
<line number="19" hits="168"/>
</lines>
</method>
<method name="calc" signature="Part $part" line-rate="1" branch-rate="0" complexity="2">
<method name="calc" signature="Part $part" line-rate="1" branch-rate="0" complexity="3">
<lines>
<line number="24" hits="4"/>
<line number="26" hits="4"/>
@ -3662,62 +3662,63 @@
<line number="31" hits="4"/>
<line number="32" hits="4"/>
<line number="33" hits="4"/>
<line number="34" hits="4"/>
</lines>
</method>
<method name="parsePart" signature="Part $part" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="39" hits="4"/>
<line number="40" hits="4"/>
<line number="41" hits="4"/>
<line number="42" hits="4"/>
<line number="43" hits="4"/>
<line number="44" hits="4"/>
</lines>
</method>
<method name="parseFormulas" signature="Part $p" line-rate="1" branch-rate="0" complexity="4">
<method name="parseFormulas" signature="Part $p" line-rate="0.875" branch-rate="0" complexity="4">
<lines>
<line number="47" hits="4"/>
<line number="49" hits="4"/>
<line number="50" hits="2"/>
<line number="51" hits="2"/>
<line number="51" hits="4"/>
<line number="52" hits="2"/>
<line number="53" hits="2"/>
<line number="54" hits="2"/>
<line number="56" hits="1"/>
<line number="55" hits="2"/>
<line number="56" hits="2"/>
<line number="58" hits="0"/>
</lines>
</method>
<method name="parseParams" signature="Part $p" line-rate="0.875" branch-rate="0" complexity="4">
<lines>
<line number="64" hits="4"/>
<line number="66" hits="4"/>
<line number="67" hits="3"/>
<line number="68" hits="3"/>
<line number="68" hits="4"/>
<line number="69" hits="3"/>
<line number="70" hits="3"/>
<line number="71" hits="3"/>
<line number="73" hits="0"/>
<line number="72" hits="3"/>
<line number="73" hits="3"/>
<line number="75" hits="0"/>
</lines>
</method>
<method name="parseCalcValue" signature="Part $p" line-rate="1" branch-rate="0" complexity="4">
<lines>
<line number="81" hits="4"/>
<line number="83" hits="4"/>
<line number="84" hits="3"/>
<line number="85" hits="3"/>
<line number="85" hits="4"/>
<line number="86" hits="3"/>
<line number="87" hits="3"/>
<line number="88" hits="3"/>
<line number="90" hits="1"/>
<line number="89" hits="3"/>
<line number="90" hits="3"/>
<line number="92" hits="1"/>
</lines>
</method>
<method name="parseValue" signature="Part $p" line-rate="0.875" branch-rate="0" complexity="4">
<lines>
<line number="98" hits="4"/>
<line number="100" hits="4"/>
<line number="101" hits="2"/>
<line number="102" hits="2"/>
<line number="102" hits="4"/>
<line number="103" hits="2"/>
<line number="104" hits="2"/>
<line number="105" hits="2"/>
<line number="107" hits="0"/>
<line number="106" hits="2"/>
<line number="107" hits="2"/>
<line number="109" hits="0"/>
</lines>
</method>
</methods>
@ -3732,42 +3733,43 @@
<line number="31" hits="4"/>
<line number="32" hits="4"/>
<line number="33" hits="4"/>
<line number="39" hits="4"/>
<line number="40" hits="4"/>
<line number="34" hits="4"/>
<line number="41" hits="4"/>
<line number="42" hits="4"/>
<line number="47" hits="4"/>
<line number="43" hits="4"/>
<line number="44" hits="4"/>
<line number="49" hits="4"/>
<line number="50" hits="2"/>
<line number="51" hits="2"/>
<line number="51" hits="4"/>
<line number="52" hits="2"/>
<line number="53" hits="2"/>
<line number="54" hits="2"/>
<line number="56" hits="1"/>
<line number="64" hits="4"/>
<line number="55" hits="2"/>
<line number="56" hits="2"/>
<line number="58" hits="0"/>
<line number="66" hits="4"/>
<line number="67" hits="3"/>
<line number="68" hits="3"/>
<line number="68" hits="4"/>
<line number="69" hits="3"/>
<line number="70" hits="3"/>
<line number="71" hits="3"/>
<line number="73" hits="0"/>
<line number="81" hits="4"/>
<line number="72" hits="3"/>
<line number="73" hits="3"/>
<line number="75" hits="0"/>
<line number="83" hits="4"/>
<line number="84" hits="3"/>
<line number="85" hits="3"/>
<line number="85" hits="4"/>
<line number="86" hits="3"/>
<line number="87" hits="3"/>
<line number="88" hits="3"/>
<line number="90" hits="1"/>
<line number="98" hits="4"/>
<line number="89" hits="3"/>
<line number="90" hits="3"/>
<line number="92" hits="1"/>
<line number="100" hits="4"/>
<line number="101" hits="2"/>
<line number="102" hits="2"/>
<line number="102" hits="4"/>
<line number="103" hits="2"/>
<line number="104" hits="2"/>
<line number="105" hits="2"/>
<line number="107" hits="0"/>
<line number="106" hits="2"/>
<line number="107" hits="2"/>
<line number="109" hits="0"/>
</lines>
</class>
</classes>
@ -4432,248 +4434,274 @@
</class>
</classes>
</package>
<package name="Graph/Parser.php" line-rate="0.80392156862745" branch-rate="0" complexity="31">
<package name="Graph/Parser.php" line-rate="0.72173913043478" branch-rate="0" complexity="33">
<classes>
<class name="PSC\Library\Calc\Graph\Parser" filename="Graph/Parser.php" line-rate="0.80392156862745" branch-rate="0" complexity="31">
<class name="PSC\Library\Calc\Graph\Parser" filename="Graph/Parser.php" line-rate="0.72173913043478" branch-rate="0" complexity="33">
<methods>
<method name="__construct" signature="string $formulas, string $params" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="24" hits="168"/>
<line number="26" hits="168"/>
</lines>
</method>
<method name="parseInternals" signature="" line-rate="0.83333333333333" branch-rate="0" complexity="12">
<method name="parseInternals" signature="" line-rate="0.77551020408163" branch-rate="0" complexity="14">
<lines>
<line number="29" hits="4"/>
<line number="31" hits="4"/>
<line number="33" hits="4"/>
<line number="37" hits="4"/>
<line number="41" hits="4"/>
<line number="46" hits="4"/>
<line number="47" hits="1"/>
<line number="50" hits="4"/>
<line number="51" hits="3"/>
<line number="52" hits="3"/>
<line number="53" hits="3"/>
<line number="34" hits="4"/>
<line number="35" hits="4"/>
<line number="40" hits="4"/>
<line number="44" hits="4"/>
<line number="49" hits="4"/>
<line number="50" hits="1"/>
<line number="53" hits="4"/>
<line number="54" hits="3"/>
<line number="55" hits="3"/>
<line number="56" hits="3"/>
<line number="59" hits="4"/>
<line number="60" hits="4"/>
<line number="61" hits="4"/>
<line number="62" hits="4"/>
<line number="63" hits="4"/>
<line number="64" hits="4"/>
<line number="65" hits="4"/>
<line number="68" hits="4"/>
<line number="56" hits="0"/>
<line number="57" hits="0"/>
<line number="58" hits="0"/>
<line number="59" hits="0"/>
<line number="60" hits="0"/>
<line number="62" hits="3"/>
<line number="63" hits="3"/>
<line number="64" hits="3"/>
<line number="65" hits="3"/>
<line number="66" hits="3"/>
<line number="70" hits="4"/>
<line number="71" hits="4"/>
<line number="72" hits="4"/>
<line number="74" hits="4"/>
<line number="76" hits="4"/>
<line number="77" hits="4"/>
<line number="78" hits="0"/>
<line number="79" hits="0"/>
<line number="80" hits="0"/>
<line number="73" hits="1"/>
<line number="74" hits="1"/>
<line number="75" hits="1"/>
<line number="76" hits="1"/>
<line number="77" hits="1"/>
<line number="79" hits="4"/>
<line number="80" hits="4"/>
<line number="81" hits="4"/>
<line number="82" hits="4"/>
<line number="83" hits="4"/>
<line number="86" hits="4"/>
<line number="87" hits="4"/>
<line number="88" hits="0"/>
<line number="89" hits="0"/>
<line number="90" hits="0"/>
<line number="89" hits="4"/>
<line number="91" hits="4"/>
<line number="93" hits="4"/>
<line number="95" hits="4"/>
<line number="96" hits="4"/>
<line number="97" hits="0"/>
<line number="98" hits="0"/>
<line number="99" hits="0"/>
<line number="102" hits="4"/>
<line number="105" hits="4"/>
<line number="106" hits="4"/>
<line number="107" hits="0"/>
<line number="108" hits="0"/>
<line number="109" hits="0"/>
</lines>
</method>
<method name="parse" signature="Part $formel" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="96" hits="4"/>
<line number="97" hits="4"/>
<line number="98" hits="4"/>
<line number="99" hits="4"/>
<line number="115" hits="4"/>
<line number="116" hits="4"/>
<line number="117" hits="4"/>
<line number="118" hits="4"/>
</lines>
</method>
<method name="parseFormulas" signature="Part $part" line-rate="1" branch-rate="0" complexity="4">
<method name="parseFormulas" signature="Part $part" line-rate="0.53333333333333" branch-rate="0" complexity="4">
<lines>
<line number="104" hits="4"/>
<line number="106" hits="4"/>
<line number="107" hits="2"/>
<line number="108" hits="2"/>
<line number="109" hits="2"/>
<line number="110" hits="2"/>
<line number="111" hits="2"/>
<line number="112" hits="2"/>
<line number="114" hits="1"/>
<line number="115" hits="1"/>
<line number="116" hits="1"/>
<line number="117" hits="1"/>
<line number="118" hits="1"/>
<line number="119" hits="1"/>
<line number="120" hits="1"/>
<line number="123" hits="4"/>
<line number="125" hits="4"/>
<line number="126" hits="2"/>
<line number="127" hits="2"/>
<line number="128" hits="2"/>
<line number="129" hits="2"/>
<line number="130" hits="2"/>
<line number="131" hits="2"/>
<line number="133" hits="0"/>
<line number="134" hits="0"/>
<line number="135" hits="0"/>
<line number="136" hits="0"/>
<line number="137" hits="0"/>
<line number="138" hits="0"/>
<line number="139" hits="0"/>
</lines>
</method>
<method name="parseCalcValue" signature="Part $part" line-rate="1" branch-rate="0" complexity="4">
<lines>
<line number="128" hits="4"/>
<line number="130" hits="4"/>
<line number="131" hits="3"/>
<line number="132" hits="3"/>
<line number="133" hits="3"/>
<line number="134" hits="3"/>
<line number="135" hits="3"/>
<line number="136" hits="3"/>
<line number="138" hits="1"/>
<line number="139" hits="1"/>
<line number="140" hits="1"/>
<line number="141" hits="1"/>
<line number="142" hits="1"/>
<line number="143" hits="1"/>
<line number="144" hits="1"/>
<line number="147" hits="4"/>
<line number="149" hits="4"/>
<line number="150" hits="3"/>
<line number="151" hits="3"/>
<line number="152" hits="3"/>
<line number="153" hits="3"/>
<line number="154" hits="3"/>
<line number="155" hits="3"/>
<line number="157" hits="1"/>
<line number="158" hits="1"/>
<line number="159" hits="1"/>
<line number="160" hits="1"/>
<line number="161" hits="1"/>
<line number="162" hits="1"/>
<line number="163" hits="1"/>
</lines>
</method>
<method name="parseValue" signature="Part $part" line-rate="0.53333333333333" branch-rate="0" complexity="4">
<lines>
<line number="152" hits="4"/>
<line number="154" hits="4"/>
<line number="155" hits="2"/>
<line number="156" hits="2"/>
<line number="157" hits="2"/>
<line number="158" hits="2"/>
<line number="159" hits="2"/>
<line number="160" hits="2"/>
<line number="162" hits="0"/>
<line number="163" hits="0"/>
<line number="164" hits="0"/>
<line number="165" hits="0"/>
<line number="166" hits="0"/>
<line number="167" hits="0"/>
<line number="168" hits="0"/>
<line number="171" hits="4"/>
<line number="173" hits="4"/>
<line number="174" hits="2"/>
<line number="175" hits="2"/>
<line number="176" hits="2"/>
<line number="177" hits="2"/>
<line number="178" hits="2"/>
<line number="179" hits="2"/>
<line number="181" hits="0"/>
<line number="182" hits="0"/>
<line number="183" hits="0"/>
<line number="184" hits="0"/>
<line number="185" hits="0"/>
<line number="186" hits="0"/>
<line number="187" hits="0"/>
</lines>
</method>
<method name="parseParams" signature="Part $part" line-rate="0.53333333333333" branch-rate="0" complexity="4">
<lines>
<line number="176" hits="4"/>
<line number="178" hits="4"/>
<line number="179" hits="3"/>
<line number="180" hits="3"/>
<line number="181" hits="3"/>
<line number="182" hits="3"/>
<line number="183" hits="3"/>
<line number="184" hits="3"/>
<line number="186" hits="0"/>
<line number="187" hits="0"/>
<line number="188" hits="0"/>
<line number="189" hits="0"/>
<line number="190" hits="0"/>
<line number="191" hits="0"/>
<line number="192" hits="0"/>
<line number="195" hits="4"/>
<line number="197" hits="4"/>
<line number="198" hits="3"/>
<line number="199" hits="3"/>
<line number="200" hits="3"/>
<line number="201" hits="3"/>
<line number="202" hits="3"/>
<line number="203" hits="3"/>
<line number="205" hits="0"/>
<line number="206" hits="0"/>
<line number="207" hits="0"/>
<line number="208" hits="0"/>
<line number="209" hits="0"/>
<line number="210" hits="0"/>
<line number="211" hits="0"/>
</lines>
</method>
<method name="addPart" signature="Part $part" line-rate="1" branch-rate="0" complexity="1">
<lines>
<line number="200" hits="149"/>
<line number="219" hits="149"/>
</lines>
</method>
</methods>
<lines>
<line number="24" hits="168"/>
<line number="29" hits="4"/>
<line number="26" hits="168"/>
<line number="31" hits="4"/>
<line number="33" hits="4"/>
<line number="37" hits="4"/>
<line number="41" hits="4"/>
<line number="46" hits="4"/>
<line number="47" hits="1"/>
<line number="50" hits="4"/>
<line number="51" hits="3"/>
<line number="52" hits="3"/>
<line number="53" hits="3"/>
<line number="34" hits="4"/>
<line number="35" hits="4"/>
<line number="40" hits="4"/>
<line number="44" hits="4"/>
<line number="49" hits="4"/>
<line number="50" hits="1"/>
<line number="53" hits="4"/>
<line number="54" hits="3"/>
<line number="55" hits="3"/>
<line number="56" hits="3"/>
<line number="59" hits="4"/>
<line number="60" hits="4"/>
<line number="61" hits="4"/>
<line number="62" hits="4"/>
<line number="63" hits="4"/>
<line number="64" hits="4"/>
<line number="65" hits="4"/>
<line number="68" hits="4"/>
<line number="56" hits="0"/>
<line number="57" hits="0"/>
<line number="58" hits="0"/>
<line number="59" hits="0"/>
<line number="60" hits="0"/>
<line number="62" hits="3"/>
<line number="63" hits="3"/>
<line number="64" hits="3"/>
<line number="65" hits="3"/>
<line number="66" hits="3"/>
<line number="70" hits="4"/>
<line number="71" hits="4"/>
<line number="72" hits="4"/>
<line number="74" hits="4"/>
<line number="76" hits="4"/>
<line number="77" hits="4"/>
<line number="78" hits="0"/>
<line number="79" hits="0"/>
<line number="80" hits="0"/>
<line number="73" hits="1"/>
<line number="74" hits="1"/>
<line number="75" hits="1"/>
<line number="76" hits="1"/>
<line number="77" hits="1"/>
<line number="79" hits="4"/>
<line number="80" hits="4"/>
<line number="81" hits="4"/>
<line number="82" hits="4"/>
<line number="83" hits="4"/>
<line number="86" hits="4"/>
<line number="87" hits="4"/>
<line number="88" hits="0"/>
<line number="89" hits="0"/>
<line number="90" hits="0"/>
<line number="89" hits="4"/>
<line number="91" hits="4"/>
<line number="93" hits="4"/>
<line number="95" hits="4"/>
<line number="96" hits="4"/>
<line number="97" hits="4"/>
<line number="98" hits="4"/>
<line number="99" hits="4"/>
<line number="104" hits="4"/>
<line number="97" hits="0"/>
<line number="98" hits="0"/>
<line number="99" hits="0"/>
<line number="102" hits="4"/>
<line number="105" hits="4"/>
<line number="106" hits="4"/>
<line number="107" hits="2"/>
<line number="108" hits="2"/>
<line number="109" hits="2"/>
<line number="110" hits="2"/>
<line number="111" hits="2"/>
<line number="112" hits="2"/>
<line number="114" hits="1"/>
<line number="115" hits="1"/>
<line number="116" hits="1"/>
<line number="117" hits="1"/>
<line number="118" hits="1"/>
<line number="119" hits="1"/>
<line number="120" hits="1"/>
<line number="128" hits="4"/>
<line number="130" hits="4"/>
<line number="131" hits="3"/>
<line number="132" hits="3"/>
<line number="133" hits="3"/>
<line number="134" hits="3"/>
<line number="135" hits="3"/>
<line number="136" hits="3"/>
<line number="138" hits="1"/>
<line number="139" hits="1"/>
<line number="140" hits="1"/>
<line number="141" hits="1"/>
<line number="142" hits="1"/>
<line number="143" hits="1"/>
<line number="144" hits="1"/>
<line number="152" hits="4"/>
<line number="154" hits="4"/>
<line number="155" hits="2"/>
<line number="156" hits="2"/>
<line number="157" hits="2"/>
<line number="158" hits="2"/>
<line number="159" hits="2"/>
<line number="160" hits="2"/>
<line number="162" hits="0"/>
<line number="163" hits="0"/>
<line number="164" hits="0"/>
<line number="165" hits="0"/>
<line number="166" hits="0"/>
<line number="167" hits="0"/>
<line number="168" hits="0"/>
<line number="176" hits="4"/>
<line number="178" hits="4"/>
<line number="179" hits="3"/>
<line number="180" hits="3"/>
<line number="181" hits="3"/>
<line number="182" hits="3"/>
<line number="183" hits="3"/>
<line number="184" hits="3"/>
<line number="107" hits="0"/>
<line number="108" hits="0"/>
<line number="109" hits="0"/>
<line number="115" hits="4"/>
<line number="116" hits="4"/>
<line number="117" hits="4"/>
<line number="118" hits="4"/>
<line number="123" hits="4"/>
<line number="125" hits="4"/>
<line number="126" hits="2"/>
<line number="127" hits="2"/>
<line number="128" hits="2"/>
<line number="129" hits="2"/>
<line number="130" hits="2"/>
<line number="131" hits="2"/>
<line number="133" hits="0"/>
<line number="134" hits="0"/>
<line number="135" hits="0"/>
<line number="136" hits="0"/>
<line number="137" hits="0"/>
<line number="138" hits="0"/>
<line number="139" hits="0"/>
<line number="147" hits="4"/>
<line number="149" hits="4"/>
<line number="150" hits="3"/>
<line number="151" hits="3"/>
<line number="152" hits="3"/>
<line number="153" hits="3"/>
<line number="154" hits="3"/>
<line number="155" hits="3"/>
<line number="157" hits="1"/>
<line number="158" hits="1"/>
<line number="159" hits="1"/>
<line number="160" hits="1"/>
<line number="161" hits="1"/>
<line number="162" hits="1"/>
<line number="163" hits="1"/>
<line number="171" hits="4"/>
<line number="173" hits="4"/>
<line number="174" hits="2"/>
<line number="175" hits="2"/>
<line number="176" hits="2"/>
<line number="177" hits="2"/>
<line number="178" hits="2"/>
<line number="179" hits="2"/>
<line number="181" hits="0"/>
<line number="182" hits="0"/>
<line number="183" hits="0"/>
<line number="184" hits="0"/>
<line number="185" hits="0"/>
<line number="186" hits="0"/>
<line number="187" hits="0"/>
<line number="188" hits="0"/>
<line number="189" hits="0"/>
<line number="190" hits="0"/>
<line number="191" hits="0"/>
<line number="192" hits="0"/>
<line number="200" hits="149"/>
<line number="195" hits="4"/>
<line number="197" hits="4"/>
<line number="198" hits="3"/>
<line number="199" hits="3"/>
<line number="200" hits="3"/>
<line number="201" hits="3"/>
<line number="202" hits="3"/>
<line number="203" hits="3"/>
<line number="205" hits="0"/>
<line number="206" hits="0"/>
<line number="207" hits="0"/>
<line number="208" hits="0"/>
<line number="209" hits="0"/>
<line number="210" hits="0"/>
<line number="211" hits="0"/>
<line number="219" hits="149"/>
</lines>
</class>
</classes>

View File

@ -29,8 +29,10 @@ class Calc
$this->parsePart($y);
eval($this->params);
eval($this->formulas);
eval('$result = ' . $y->getParsed() . ';');
$y->setResult($result);
if ($y->getParsed() != '') {
eval('$result = ' . $y->getParsed() . ';');
$y->setResult($result);
}
}
}

View File

@ -5,10 +5,12 @@ namespace PSC\Library\Calc\Graph;
use PhpParser\Error;
use PhpParser\Node;
use PhpParser\Node\Expr\Assign;
use PhpParser\Node\Expr\BinaryOp;
use PhpParser\Node\Stmt\If_;
use PhpParser\NodeTraverser;
use PhpParser\NodeVisitorAbstract;
use PhpParser\ParserFactory;
use PhpParser\PrettyPrinter\Standard;
use PSC\Library\Calc\Model\Part;
use PSC\Library\Calc\Model\PartCollection;
use PSC\Library\Calc\Model\PartType;
@ -29,11 +31,12 @@ class Parser
$mode = 1;
$traverser = new NodeTraverser();
$visitor = new class($mode, $this->internalParts) extends NodeVisitorAbstract {
$prettyPrinter = new \PhpParser\PrettyPrinter\Standard();
$visitor = new class($mode, $this->internalParts, $prettyPrinter) extends NodeVisitorAbstract {
public function __construct(
private int $mode,
private PartCollection $internalParts,
private \PhpParser\PrettyPrinter\Standard $prettyPrinter,
) {}
public function setMode(int $mode): void
@ -48,21 +51,37 @@ class Parser
}
if ($node instanceof Assign && $this->mode === 1) {
if ($node->expr->value != null && $node->var->name != null) {
$this->internalParts->addPart(new Part(
type: PartType::Formel,
name: $node->var->name,
unParsed: (string) $node->expr->value,
));
if ($node->expr != null && $node->var->name != null) {
if ($node->expr instanceof BinaryOp) {
$this->internalParts->addPart(new Part(
type: PartType::Formel,
name: $node->var->name,
unParsed: $this->prettyPrinter->prettyPrintExpr($node->expr),
));
} else {
$this->internalParts->addPart(new Part(
type: PartType::Formel,
name: $node->var->name,
unParsed: $node->expr->value,
));
}
}
}
if ($node instanceof Assign && $this->mode === 2) {
if ($node->expr->value != null && $node->var->name != null) {
$this->internalParts->addPart(new Part(
type: PartType::Parameter,
name: $node->var->name,
unParsed: (string) $node->expr->value,
));
if ($node->expr != null && $node->var->name != null) {
if ($node->expr instanceof BinaryOp) {
$this->internalParts->addPart(new Part(
type: PartType::Parameter,
name: $node->var->name,
unParsed: $this->prettyPrinter->prettyPrintExpr($node->expr),
));
} else {
$this->internalParts->addPart(new Part(
type: PartType::Parameter,
name: $node->var->name,
unParsed: $node->expr->value ?? '',
));
}
}
}
return null;

File diff suppressed because one or more lines are too long

View File

@ -1,3 +1,4 @@
$test3 = 12;
$test4 = 13;
$test5 = 0.23;
$test6 = 12*3;