Update besar apk finance

This commit is contained in:
Wian Drs
2026-09-11 16:03:00 +07:00
parent d42483b350
commit 4ef15c22ae
897 changed files with 98056 additions and 15979 deletions
@@ -9,6 +9,7 @@ use PhpParser\Lexer\TokenEmulator\AsymmetricVisibilityTokenEmulator;
use PhpParser\Lexer\TokenEmulator\AttributeEmulator;
use PhpParser\Lexer\TokenEmulator\EnumTokenEmulator;
use PhpParser\Lexer\TokenEmulator\ExplicitOctalEmulator;
use PhpParser\Lexer\TokenEmulator\FnTokenEmulator;
use PhpParser\Lexer\TokenEmulator\MatchTokenEmulator;
use PhpParser\Lexer\TokenEmulator\NullsafeTokenEmulator;
use PhpParser\Lexer\TokenEmulator\PipeOperatorEmulator;
@@ -40,6 +41,7 @@ class Emulative extends Lexer {
$this->hostPhpVersion = PhpVersion::getHostVersion();
$emulators = [
new FnTokenEmulator(),
new MatchTokenEmulator(),
new NullsafeTokenEmulator(),
new AttributeEmulator(),
@@ -0,0 +1,20 @@
<?php declare(strict_types=1);
namespace PhpParser\Lexer\TokenEmulator;
use PhpParser\PhpVersion;
// Retained for reverse emulation support only.
final class FnTokenEmulator extends KeywordEmulator {
public function getPhpVersion(): PhpVersion {
return PhpVersion::fromString('7.4');
}
public function getKeywordString(): string {
return 'fn';
}
public function getKeywordToken(): int {
return \T_FN;
}
}
@@ -14,7 +14,7 @@ abstract class KeywordEmulator extends TokenEmulator {
/** @param Token[] $tokens */
protected function isKeywordContext(array $tokens, int $pos): bool {
$prevToken = $this->getPreviousNonSpaceToken($tokens, $pos);
$prevToken = $this->getPreviousNonIgnorableToken($tokens, $pos);
if ($prevToken === null) {
return false;
}
@@ -35,13 +35,14 @@ abstract class KeywordEmulator extends TokenEmulator {
}
/** @param Token[] $tokens */
private function getPreviousNonSpaceToken(array $tokens, int $start): ?Token {
private function getPreviousNonIgnorableToken(array $tokens, int $start): ?Token {
for ($i = $start - 1; $i >= 0; --$i) {
if ($tokens[$i]->id === T_WHITESPACE) {
$token = $tokens[$i];
if ($token->id === T_WHITESPACE || $token->id == T_COMMENT || $token->id === T_DOC_COMMENT) {
continue;
}
return $tokens[$i];
return $token;
}
return null;