refactor(core): rename PhpAot namespace to TypePhp across codebase

- Updated namespace declarations from PhpAot\Php to TypePhp in all source files
- Modified import statements to use TypePhp instead of PhpAot\Php throughout the codebase
- Adjusted composer.json autoload configuration to map TypePhp namespace to src directories
- Updated documentation references from PhpAot\Php to TypePhp in comments and markdown files
- Changed class references in test files to use new TypePhp namespace
- Updated bootstrap and utility scripts to reference TypePhp namespace
- Removed abstract base class inheritance in CompilerBase class
- Added new properties and methods for indentation and mode handling in CompilerBase
- Updated exception handling to use new TypePhp\Exception namespace
pull/15/head
韩天峰 2 months ago
parent da0707e4d0
commit 8ac4c5872d
  1. 4
      .github/copilot-instructions.md
  2. 13
      CLAUDE.md
  3. 2
      bin/arg_info.php
  4. 2
      bin/extractor.php
  5. 5
      composer.json
  6. 4
      phpunit/bootstrap.php
  7. 10
      phpunit/src/Analysis/SsaBuilderTest.php
  8. 4
      phpunit/src/ArgInfoTest.php
  9. 4
      phpunit/src/AstNodeTypeTest.php
  10. 14
      phpunit/src/Backend/BackendOptionsTest.php
  11. 16
      phpunit/src/Backend/BackendTest.php
  12. 2
      phpunit/src/ClassMethodOverrideTest.php
  13. 4
      phpunit/src/ClassTest.php
  14. 2
      phpunit/src/ClosureTest.php
  15. 4
      phpunit/src/CompactTest.php
  16. 6
      phpunit/src/CompilerBaseAdapterTest.php
  17. 14
      phpunit/src/CompilerBaseApiTest.php
  18. 6
      phpunit/src/CompilerPhaseTest.php
  19. 6
      phpunit/src/Context/FunctionContextExtendedTest.php
  20. 6
      phpunit/src/Context/FunctionContextTest.php
  21. 4
      phpunit/src/Context/ScopeContextTest.php
  22. 2
      phpunit/src/CountGlobalsTest.php
  23. 4
      phpunit/src/DuplicateTest.php
  24. 6
      phpunit/src/Entity/ClassDefExtendedTest.php
  25. 14
      phpunit/src/Entity/ClassDefTest.php
  26. 8
      phpunit/src/Entity/ClassLikeDefTest.php
  27. 4
      phpunit/src/Entity/ConstantDefTest.php
  28. 6
      phpunit/src/Entity/FunctionDefExtendedTest.php
  29. 6
      phpunit/src/Entity/FunctionDefTest.php
  30. 6
      phpunit/src/Entity/InterfaceDefTest.php
  31. 8
      phpunit/src/Entity/MethodDefExtendedTest.php
  32. 6
      phpunit/src/Entity/MethodDefTest.php
  33. 4
      phpunit/src/Entity/PropertyDefTest.php
  34. 18
      phpunit/src/ExceptionTest.php
  35. 12
      phpunit/src/FactoryTest.php
  36. 4
      phpunit/src/FileScannerTest.php
  37. 12
      phpunit/src/Generator/UtilsTest.php
  38. 4
      phpunit/src/InheritanceErrorTest.php
  39. 4
      phpunit/src/LoopOptimizerTest.php
  40. 4
      phpunit/src/NativePropertyTest.php
  41. 8
      phpunit/src/Platform/PlatformTest.php
  42. 8
      phpunit/src/PreprocessorTest.php
  43. 4
      phpunit/src/ReflectionTest.php
  44. 22
      phpunit/src/SsaAnalysisTest.php
  45. 6
      phpunit/src/SymbolTest.php
  46. 8
      phpunit/src/TraitsTest.php
  47. 8
      phpunit/src/TypeCheckGeneratorTest.php
  48. 1
      project.yml
  49. 2
      src/Assert.php
  50. 61
      src/Core/Translator.php
  51. 4
      src/Php/Analysis/SsaBuilder.php
  52. 4
      src/Php/ArgInfo.php
  53. 2
      src/Php/AstNodeType.php
  54. 8
      src/Php/Backend/Clang.php
  55. 4
      src/Php/Backend/CompilerBackend.php
  56. 12
      src/Php/Backend/CompilerFactory.php
  57. 4
      src/Php/Backend/Gcc.php
  58. 6
      src/Php/Backend/GccLikeBackend.php
  59. 4
      src/Php/Backend/Msvc.php
  60. 121
      src/Php/CompilerBase.php
  61. 2
      src/Php/CompilerTest.php
  62. 2
      src/Php/Constants.php
  63. 4
      src/Php/Context/FunctionContext.php
  64. 2
      src/Php/Context/ScopeContext.php
  65. 2
      src/Php/Entity/ArrayInitPlan.php
  66. 4
      src/Php/Entity/ClassDef.php
  67. 2
      src/Php/Entity/ClassLikeDef.php
  68. 2
      src/Php/Entity/ConstantDef.php
  69. 4
      src/Php/Entity/FunctionDef.php
  70. 2
      src/Php/Entity/InterfaceDef.php
  71. 2
      src/Php/Entity/MethodDef.php
  72. 2
      src/Php/Entity/PropertyDef.php
  73. 2
      src/Php/Exception/DynamicCall.php
  74. 2
      src/Php/Exception/PlaceHolder.php
  75. 2
      src/Php/Exception/Redo.php
  76. 2
      src/Php/Exception/Skip.php
  77. 2
      src/Php/Exception/SyntaxError.php
  78. 2
      src/Php/Exception/TestError.php
  79. 2
      src/Php/Exception/Unsupported.php
  80. 2
      src/Php/Extractor.php
  81. 2
      src/Php/FileScanner.php
  82. 4
      src/Php/Generator/AnonClassGenerator.php
  83. 6
      src/Php/Generator/ClosureGenerator.php
  84. 2
      src/Php/Generator/PlaceHolderGenerator.php
  85. 4
      src/Php/Generator/PropertyPromotion.php
  86. 2
      src/Php/Generator/ResourceFileGenerator.php
  87. 4
      src/Php/Generator/TypeCheckGenerator.php
  88. 6
      src/Php/Generator/Utils.php
  89. 4
      src/Php/MagicMethodDetector.php
  90. 4
      src/Php/Optimizer/FuncCallOptimizer.php
  91. 6
      src/Php/Optimizer/LoopVarOptimizer.php
  92. 8
      src/Php/Optimizer/SsaPropOptimizer.php
  93. 8
      src/Php/Optimizer/SsaTypeOptimizer.php
  94. 4
      src/Php/Parser/AssignOpTrait.php
  95. 4
      src/Php/Parser/BinaryOpTrait.php
  96. 4
      src/Php/Parser/StdContainerTrait.php
  97. 2
      src/Php/Parser/TypeConversionTrait.php
  98. 4
      src/Php/Parser/TypeDetectionTrait.php
  99. 2
      src/Php/Platform/Linux.php
  100. 2
      src/Php/Platform/Macos.php
  101. Some files were not shown because too many files have changed in this diff Show More

@ -2,7 +2,7 @@
## Project overview
TypePHP is an ahead-of-time compiler that translates PHP source into C++, then compiles and links it into a native binary or a PHP extension. The primary entrypoint is `tpc`, which boots `src/compiler.php`; that drives `PhpAot\Php\Translator` through a fixed pipeline:
TypePHP is an ahead-of-time compiler that translates PHP source into C++, then compiles and links it into a native binary or a PHP extension. The primary entrypoint is `tpc`, which boots `src/compiler.php`; that drives `TypePhp\Translator` through a fixed pipeline:
1. `prepare()` scans files, parses ASTs, collects symbols, and topologically sorts PHP files by cross-file symbol usage.
2. `convert()` turns PHP ASTs into generated `.cc` files while passing through native source files (`.cpp`, `.c`, `.s`, `.m`, `.mm`).
@ -86,5 +86,5 @@ Generated C++ is auto-formatted by the compiler itself when `clang-format` is av
## Test-specific conventions
- PHPUnit tests for compiler internals should use `CompilerTest::create(ROOT_PATH)`, which enables test mode instead of normal fatal exits.
- `phpunit/bootstrap.php` exposes a `BaseTest::exec()` helper that expects compilation failures to surface as `PhpAot\Php\Exception\TestError`.
- `phpunit/bootstrap.php` exposes a `BaseTest::exec()` helper that expects compilation failures to surface as `TypePhp\Exception\TestError`.
- PHPT end-to-end tests live in `tests/aot/`; existing guidance and examples generally put executable test logic inside a `main()` function.

@ -60,13 +60,12 @@ The compiler follows a 4-stage pipeline, orchestrated by `src/Php/Translator.php
### Class Hierarchy
```
src/Core/Translator (abstract base — indent/output/mode helpers)
└─ src/Php/CompilerBase (core PHP→C++ translation logic)
├─ uses traits: AstNodeType, FuncCallOptimizer, ClosureGenerator,
│ PlaceHolderGenerator, PropertyPromotion, MagicMethodDetector
└─ src/Php/Preprocessor (scanning, symbol tables, dependency sort, YAML config)
└─ src/Php/Translator (full pipeline: prepare→convert→compile→build)
└─ src/Php/CompilerTest (test-only subclass, used by PHPUnit tests)
src/Php/CompilerBase (core PHP→C++ translation logic, indent/output/mode helpers)
├─ uses traits: AstNodeType, FuncCallOptimizer, ClosureGenerator,
│ PlaceHolderGenerator, PropertyPromotion, MagicMethodDetector
└─ src/Php/Preprocessor (scanning, symbol tables, dependency sort, YAML config)
└─ src/Php/Translator (full pipeline: prepare→convert→compile→build)
└─ src/Php/CompilerTest (test-only subclass, used by PHPUnit tests)
```
### Key Components

@ -1,4 +1,4 @@
<?php
require __DIR__ . '/bootstrap.php';
$r = \PhpAot\Php\Reflection::getFunctionParameter('array_push', 0);
$r = \TypePhp\Reflection::getFunctionParameter('array_push', 0);
var_dump($r->isPassedByReference());

@ -80,7 +80,7 @@ function main(array $argv): void
}
// 创建提取器
$extractor = new PhpAot\Php\Extractor();
$extractor = new TypePhp\Extractor();
// 批量模式
if ($options['batch']) {

@ -15,7 +15,10 @@
},
"autoload": {
"psr-4": {
"PhpAot\\": "src"
"TypePhp\\": [
"src/Php",
"src"
]
}
},
"scripts": {

@ -1,8 +1,8 @@
<?php
use PHPUnit\Framework\TestCase;
use PhpAot\Php\CompilerTest;
use PhpAot\Php\Exception\TestError;
use TypePhp\CompilerTest;
use TypePhp\Exception\TestError;
require __DIR__ . '/../bin/bootstrap.php';
require __DIR__ . '/../src/gen_stub.php';

@ -1,12 +1,12 @@
<?php
namespace PhpAot\Tests\Analysis;
namespace TypePhp\Tests\Analysis;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Analysis\SsaBlock;
use PhpAot\Php\Analysis\SsaBuilder;
use PhpAot\Php\Analysis\SsaFlags;
use PhpAot\Php\Analysis\SsaVar;
use TypePhp\Analysis\SsaBlock;
use TypePhp\Analysis\SsaBuilder;
use TypePhp\Analysis\SsaFlags;
use TypePhp\Analysis\SsaVar;
use PhpParser\Node\Expr;
use PhpParser\Node\FunctionLike;
use PhpParser\Node\Stmt;

@ -1,9 +1,9 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\ArgInfo;
use TypePhp\ArgInfo;
class ArgInfoTest extends TestCase
{

@ -1,9 +1,9 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\CompilerTest;
use TypePhp\CompilerTest;
use PhpParser\Node;
use PhpParser\Node\Expr;
use PhpParser\Node\VariadicPlaceholder;

@ -1,14 +1,14 @@
<?php
namespace PhpAot\Tests\Backend;
namespace TypePhp\Tests\Backend;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Platform\Windows;
use PhpAot\Php\Platform\Linux;
use PhpAot\Php\Platform\Macos;
use PhpAot\Php\Backend\Msvc;
use PhpAot\Php\Backend\Gcc;
use PhpAot\Php\Backend\Clang;
use TypePhp\Platform\Windows;
use TypePhp\Platform\Linux;
use TypePhp\Platform\Macos;
use TypePhp\Backend\Msvc;
use TypePhp\Backend\Gcc;
use TypePhp\Backend\Clang;
class BackendOptionsTest extends TestCase
{

@ -1,15 +1,15 @@
<?php
namespace PhpAot\Tests\Backend;
namespace TypePhp\Tests\Backend;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Platform\Windows;
use PhpAot\Php\Platform\Linux;
use PhpAot\Php\Platform\Macos;
use PhpAot\Php\Backend\Msvc;
use PhpAot\Php\Backend\Gcc;
use PhpAot\Php\Backend\Clang;
use PhpAot\Php\Backend\CompilerFactory;
use TypePhp\Platform\Windows;
use TypePhp\Platform\Linux;
use TypePhp\Platform\Macos;
use TypePhp\Backend\Msvc;
use TypePhp\Backend\Gcc;
use TypePhp\Backend\Clang;
use TypePhp\Backend\CompilerFactory;
class BackendTest extends TestCase
{

@ -1,6 +1,6 @@
<?php
use PhpAot\Php\CompilerTest;
use TypePhp\CompilerTest;
class ClassMethodOverrideTest extends \BaseTest
{

@ -30,7 +30,7 @@ class ClassTest extends \BaseTest
public function testSelfCanBePartOfUnionType()
{
global $translator;
$compiler = \PhpAot\Php\CompilerTest::create(ROOT_PATH);
$compiler = \TypePhp\CompilerTest::create(ROOT_PATH);
$translator = $compiler;
$testFile = __DIR__ . '/../code/union_type_self_allowed.php';
$compiler->addFiles([$testFile]);
@ -42,7 +42,7 @@ class ClassTest extends \BaseTest
public function testParentCanBePartOfUnionType()
{
global $translator;
$compiler = \PhpAot\Php\CompilerTest::create(ROOT_PATH);
$compiler = \TypePhp\CompilerTest::create(ROOT_PATH);
$translator = $compiler;
$testFile = __DIR__ . '/../code/union_type_parent_allowed.php';
$compiler->addFiles([$testFile]);

@ -1,6 +1,6 @@
<?php
use PhpAot\Php\CompilerTest;
use TypePhp\CompilerTest;
class ClosureTest extends \PHPUnit\Framework\TestCase
{

@ -1,7 +1,7 @@
<?php
use PhpAot\Php\CompilerTest;
use PhpAot\Php\Exception\TestError;
use TypePhp\CompilerTest;
use TypePhp\Exception\TestError;
class CompactTest extends \BaseTest
{

@ -1,9 +1,9 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\CompilerTest;
use TypePhp\CompilerTest;
class CompilerBaseAdapterTest extends TestCase
{
@ -164,7 +164,7 @@ class CompilerBaseAdapterTest extends TestCase
$platform = $platformProp->getValue($compiler);
if ($platform !== null) {
$isWindowsNew = $platform instanceof \PhpAot\Php\Platform\Windows;
$isWindowsNew = $platform instanceof \TypePhp\Platform\Windows;
// 新旧方法应该一致
$this->assertEquals($isWindowsOld, $isWindowsNew,

@ -1,11 +1,11 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\CompilerTest;
use PhpAot\Php\CompilerBase;
use PhpAot\Php\Platform\Windows;
use TypePhp\CompilerTest;
use TypePhp\CompilerBase;
use TypePhp\Platform\Windows;
class CompilerBaseApiTest extends TestCase
{
@ -626,7 +626,7 @@ sources:
if: PHP_OS_FAMILY >= "Linux"
YAML);
$this->expectException(\PhpAot\Php\Exception\TestError::class);
$this->expectException(\TypePhp\Exception\TestError::class);
$this->expectExceptionMessage('Unsupported source condition');
$this->invokeMethod('parseProjectYaml', $projectFile);
@ -640,7 +640,7 @@ sources:
if: PHP_VERSION
YAML);
$this->expectException(\PhpAot\Php\Exception\TestError::class);
$this->expectException(\TypePhp\Exception\TestError::class);
$this->expectExceptionMessage('Unsupported source condition');
$this->invokeMethod('parseProjectYaml', $projectFile);
@ -654,7 +654,7 @@ sources:
if: PHP_VERSION_ID >= getenv("MIN_PHP")
YAML);
$this->expectException(\PhpAot\Php\Exception\TestError::class);
$this->expectException(\TypePhp\Exception\TestError::class);
$this->expectExceptionMessage('Unsupported source condition');
$this->invokeMethod('parseProjectYaml', $projectFile);

@ -1,7 +1,7 @@
<?php
use PhpAot\Php\CompilerTest;
use PhpAot\Php\Exception\TestError;
use TypePhp\CompilerTest;
use TypePhp\Exception\TestError;
class CompilerPhaseProbe extends CompilerTest
{
@ -24,7 +24,7 @@ class CompilerPhaseProbe extends CompilerTest
public function probePropertyAccessResolver(): bool
{
$method = new ReflectionMethod(\PhpAot\Php\CompilerBase::class, 'createPropertyAccessResolver');
$method = new ReflectionMethod(\TypePhp\CompilerBase::class, 'createPropertyAccessResolver');
$resolver = $method->invoke($this);
return $resolver->canAccessProtectedProperty('ProbeClass', 'ProbeClass');
}

@ -1,10 +1,10 @@
<?php
namespace PhpAot\Tests\Context;
namespace TypePhp\Tests\Context;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Context\FunctionContext;
use PhpAot\Php\Context\ScopeContext;
use TypePhp\Context\FunctionContext;
use TypePhp\Context\ScopeContext;
class FunctionContextExtendedTest extends TestCase
{

@ -1,10 +1,10 @@
<?php
namespace PhpAot\Tests\Context;
namespace TypePhp\Tests\Context;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Context\FunctionContext;
use PhpAot\Php\Context\ScopeContext;
use TypePhp\Context\FunctionContext;
use TypePhp\Context\ScopeContext;
class FunctionContextTest extends TestCase
{

@ -1,9 +1,9 @@
<?php
namespace PhpAot\Tests\Context;
namespace TypePhp\Tests\Context;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Context\ScopeContext;
use TypePhp\Context\ScopeContext;
class ScopeContextTest extends TestCase
{

@ -1,6 +1,6 @@
<?php
use PhpAot\Php\CompilerTest;
use TypePhp\CompilerTest;
/**
* 从 count-globals.php 拆解的测试用例:

@ -1,8 +1,8 @@
<?php
use PhpAot\Php\CompilerTest;
use PhpAot\Php\Exception\TestError;
use TypePhp\CompilerTest;
use TypePhp\Exception\TestError;
use PHPUnit\Framework\TestCase;
class DuplicateTest extends TestCase

@ -1,10 +1,10 @@
<?php
namespace PhpAot\Tests\Entity;
namespace TypePhp\Tests\Entity;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Entity\ClassDef;
use PhpAot\Php\Entity\MethodDef;
use TypePhp\Entity\ClassDef;
use TypePhp\Entity\MethodDef;
use PhpParser\Modifiers;
use PhpParser\Node\Stmt\Trait_;

@ -1,13 +1,13 @@
<?php
namespace PhpAot\Tests\Entity;
namespace TypePhp\Tests\Entity;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Entity\ClassDef;
use PhpAot\Php\Entity\MethodDef;
use PhpAot\Php\Entity\PropertyDef;
use PhpAot\Php\Entity\ConstantDef;
use PhpAot\Php\Entity\FunctionDef;
use TypePhp\Entity\ClassDef;
use TypePhp\Entity\MethodDef;
use TypePhp\Entity\PropertyDef;
use TypePhp\Entity\ConstantDef;
use TypePhp\Entity\FunctionDef;
use PhpParser\Modifiers;
class ClassDefTest extends TestCase
@ -40,7 +40,7 @@ class ClassDefTest extends TestCase
{
$class = new ClassDef('Foo', Modifiers::PUBLIC);
$this->assertNotNull($class->propertyContext);
$this->assertInstanceOf(\PhpAot\Php\Context\FunctionContext::class, $class->propertyContext);
$this->assertInstanceOf(\TypePhp\Context\FunctionContext::class, $class->propertyContext);
}
public function testGetNamespacedNameInheritedFromClassLikeDef(): void

@ -1,11 +1,11 @@
<?php
namespace PhpAot\Tests\Entity;
namespace TypePhp\Tests\Entity;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Entity\ClassLikeDef;
use PhpAot\Php\Entity\ClassDef;
use PhpAot\Php\Entity\InterfaceDef;
use TypePhp\Entity\ClassLikeDef;
use TypePhp\Entity\ClassDef;
use TypePhp\Entity\InterfaceDef;
use PhpParser\Modifiers;
class ClassLikeDefTest extends TestCase

@ -1,9 +1,9 @@
<?php
namespace PhpAot\Tests\Entity;
namespace TypePhp\Tests\Entity;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Entity\ConstantDef;
use TypePhp\Entity\ConstantDef;
use PhpParser\Modifiers;
class ConstantDefTest extends TestCase

@ -1,10 +1,10 @@
<?php
namespace PhpAot\Tests\Entity;
namespace TypePhp\Tests\Entity;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Entity\FunctionDef;
use PhpAot\Php\ArgInfo;
use TypePhp\Entity\FunctionDef;
use TypePhp\ArgInfo;
class FunctionDefExtendedTest extends TestCase
{

@ -1,10 +1,10 @@
<?php
namespace PhpAot\Tests\Entity;
namespace TypePhp\Tests\Entity;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Entity\FunctionDef;
use PhpAot\Php\ArgInfo;
use TypePhp\Entity\FunctionDef;
use TypePhp\ArgInfo;
class FunctionDefTest extends TestCase
{

@ -1,10 +1,10 @@
<?php
namespace PhpAot\Tests\Entity;
namespace TypePhp\Tests\Entity;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Entity\InterfaceDef;
use PhpAot\Php\Entity\MethodDef;
use TypePhp\Entity\InterfaceDef;
use TypePhp\Entity\MethodDef;
class InterfaceDefTest extends TestCase
{

@ -1,11 +1,11 @@
<?php
namespace PhpAot\Tests\Entity;
namespace TypePhp\Tests\Entity;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Entity\MethodDef;
use PhpAot\Php\Entity\FunctionDef;
use PhpAot\Php\ArgInfo;
use TypePhp\Entity\MethodDef;
use TypePhp\Entity\FunctionDef;
use TypePhp\ArgInfo;
use PhpParser\Modifiers;
class MethodDefExtendedTest extends TestCase

@ -1,10 +1,10 @@
<?php
namespace PhpAot\Tests\Entity;
namespace TypePhp\Tests\Entity;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Entity\MethodDef;
use PhpAot\Php\Entity\FunctionDef;
use TypePhp\Entity\MethodDef;
use TypePhp\Entity\FunctionDef;
use PhpParser\Modifiers;
class MethodDefTest extends TestCase

@ -1,9 +1,9 @@
<?php
namespace PhpAot\Tests\Entity;
namespace TypePhp\Tests\Entity;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Entity\PropertyDef;
use TypePhp\Entity\PropertyDef;
use PhpParser\Modifiers;
class PropertyDefTest extends TestCase

@ -1,16 +1,16 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Exception\DynamicCall;
use PhpAot\Php\Exception\PlaceHolder;
use PhpAot\Php\Exception\Redo;
use PhpAot\Php\Exception\Skip;
use PhpAot\Php\Exception\SyntaxError;
use PhpAot\Php\Exception\TestError;
use PhpAot\Php\Exception\Unsupported;
use PhpAot\Php\Constants;
use TypePhp\Exception\DynamicCall;
use TypePhp\Exception\PlaceHolder;
use TypePhp\Exception\Redo;
use TypePhp\Exception\Skip;
use TypePhp\Exception\SyntaxError;
use TypePhp\Exception\TestError;
use TypePhp\Exception\Unsupported;
use TypePhp\Constants;
class ExceptionTest extends TestCase
{

@ -1,13 +1,13 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Platform\PlatformFactory;
use PhpAot\Php\Backend\CompilerFactory;
use PhpAot\Php\Platform\Windows;
use PhpAot\Php\Platform\Linux;
use PhpAot\Php\Platform\Macos;
use TypePhp\Platform\PlatformFactory;
use TypePhp\Backend\CompilerFactory;
use TypePhp\Platform\Windows;
use TypePhp\Platform\Linux;
use TypePhp\Platform\Macos;
class FactoryTest extends TestCase
{

@ -1,9 +1,9 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\FileScanner;
use TypePhp\FileScanner;
class FileScannerTest extends TestCase
{

@ -1,10 +1,10 @@
<?php
namespace PhpAot\Tests\Generator;
namespace TypePhp\Tests\Generator;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\CompilerTest;
use PhpAot\Php\CompilerBase;
use TypePhp\CompilerTest;
use TypePhp\CompilerBase;
class UtilsTest extends TestCase
{
@ -40,9 +40,9 @@ class UtilsTest extends TestCase
public function testGenCValueInt(): void
{
$this->assertSame(42, $this->invokeMethod('genCValue', 42));
$this->assertSame(-1, $this->invokeMethod('genCValue', -1));
$this->assertSame(0, $this->invokeMethod('genCValue', 0));
$this->assertSame($this->invokeMethod('genIntegerLiteral', 42), $this->invokeMethod('genCValue', 42));
$this->assertSame($this->invokeMethod('genIntegerLiteral', -1), $this->invokeMethod('genCValue', -1));
$this->assertSame($this->invokeMethod('genIntegerLiteral', 0), $this->invokeMethod('genCValue', 0));
}
public function testGenCValueFloat(): void

@ -1,7 +1,7 @@
<?php
use PhpAot\Php\CompilerTest;
use PhpAot\Php\Exception\TestError;
use TypePhp\CompilerTest;
use TypePhp\Exception\TestError;
use PHPUnit\Framework\TestCase;
class InheritanceErrorTest extends TestCase

@ -1,7 +1,7 @@
<?php
use PhpAot\Php\CompilerTest;
use PhpAot\Php\Exception\TestError;
use TypePhp\CompilerTest;
use TypePhp\Exception\TestError;
class LoopOptimizerTest extends \BaseTest
{

@ -1,7 +1,7 @@
<?php
use PhpAot\Php\CompilerTest;
use PhpAot\Php\Exception\TestError;
use TypePhp\CompilerTest;
use TypePhp\Exception\TestError;
class NativePropertyTest extends \BaseTest
{

@ -1,11 +1,11 @@
<?php
namespace PhpAot\Tests\Platform;
namespace TypePhp\Tests\Platform;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Platform\Windows;
use PhpAot\Php\Platform\Linux;
use PhpAot\Php\Platform\Macos;
use TypePhp\Platform\Windows;
use TypePhp\Platform\Linux;
use TypePhp\Platform\Macos;
class PlatformTest extends TestCase
{

@ -1,11 +1,11 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\CompilerTest;
use PhpAot\Php\ArgInfo;
use PhpAot\Php\Exception\TestError;
use TypePhp\CompilerTest;
use TypePhp\ArgInfo;
use TypePhp\Exception\TestError;
use PhpParser\Node;
use PhpParser\Node\Stmt\Function_;
use PhpParser\Modifiers;

@ -1,9 +1,9 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Reflection;
use TypePhp\Reflection;
class ReflectionTest extends TestCase
{

@ -1,18 +1,18 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Analysis\SsaBuilder;
use PhpAot\Php\Analysis\SsaFlags;
use PhpAot\Php\Analysis\SsaVar;
use PhpAot\Php\Analysis\SsaBlock;
use PhpAot\Php\Analysis\VarState;
use PhpAot\Php\Analysis\PiConstraint;
use PhpAot\Php\CompilerBase;
use PhpAot\Php\CompilerTest;
use PhpAot\Php\Entity\ClassDef;
use PhpAot\Php\Entity\MethodDef;
use TypePhp\Analysis\SsaBuilder;
use TypePhp\Analysis\SsaFlags;
use TypePhp\Analysis\SsaVar;
use TypePhp\Analysis\SsaBlock;
use TypePhp\Analysis\VarState;
use TypePhp\Analysis\PiConstraint;
use TypePhp\CompilerBase;
use TypePhp\CompilerTest;
use TypePhp\Entity\ClassDef;
use TypePhp\Entity\MethodDef;
use PhpParser\Node;
use PhpParser\Node\Expr;
use PhpParser\Node\FunctionLike;

@ -1,10 +1,10 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\Symbol;
use PhpAot\Php\CompilerBase;
use TypePhp\Symbol;
use TypePhp\CompilerBase;
class SymbolTest extends TestCase
{

@ -1,11 +1,11 @@
<?php
namespace PhpAot\Tests;
namespace TypePhp\Tests;
use PHPUnit\Framework\TestCase;
use PhpAot\Php\CompilerTest;
use PhpAot\Php\CompilerBase;
use PhpAot\Php\ArgInfo;
use TypePhp\CompilerTest;
use TypePhp\CompilerBase;
use TypePhp\ArgInfo;
class TraitsTest extends TestCase
{

@ -1,9 +1,9 @@
<?php
use PhpAot\Php\ArgInfo;
use PhpAot\Php\CompilerTest;
use PhpAot\Php\Entity\ClassDef;
use PhpAot\Php\Entity\FunctionDef;
use TypePhp\ArgInfo;
use TypePhp\CompilerTest;
use TypePhp\Entity\ClassDef;
use TypePhp\Entity\FunctionDef;
class TypeCheckGeneratorTest extends \PHPUnit\Framework\TestCase
{

@ -31,7 +31,6 @@ resource:
sources:
- ./src/Php
- ./src/Core
- ./src/functions.php
- ./src/gen_stub.php
- ./src/compiler.php

@ -10,7 +10,7 @@
* file that was distributed with this source code.
*/
namespace PhpAot;
namespace TypePhp;
use ArrayAccess;
use BadMethodCallException;

@ -1,61 +0,0 @@
<?php
namespace PhpAot\Core;
abstract class Translator
{
protected int $indentLevel = 0;
protected string $indentStr = "\t";
public string $mode = 'cli';
protected string $lang;
protected string $osType = 'linux';
public function __construct()
{
$this->osType = PHP_OS_FAMILY;
}
public function isMacos(): bool
{
return $this->osType === 'Darwin';
}
public function isLinux(): bool
{
return $this->osType === 'Linux';
}
public function isWindows(): bool
{
return $this->osType === 'Windows';
}
public function setMode($mode): void
{
$this->mode = $mode;
}
public function setIndent(string $indent): void
{
$this->indentStr = $indent;
}
public function setIndentLevel(int $level): void
{
$this->indentLevel = $level;
}
public function getLang(): string
{
return $this->lang;
}
abstract public function getLine($node): int;
abstract public function getType($node): string;
protected function getIndent(): string
{
return str_repeat($this->indentStr, $this->indentLevel);
}
}

@ -23,9 +23,9 @@
* unknown value after the call. Tracked via IS_REFERENCE flag.
*/
namespace PhpAot\Php\Analysis;
namespace TypePhp\Analysis;
use PhpAot\Php\AstNodeType;
use TypePhp\AstNodeType;
use PhpParser\Node;
use PhpParser\Node\Expr;
use PhpParser\Node\Stmt;

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php;
namespace TypePhp;
use PhpAot\Php\Entity\ArrayInitPlan;
use TypePhp\Entity\ArrayInitPlan;
use PhpParser\Node\Expr;
use PhpParser\NodeAbstract;

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php;
namespace TypePhp;
use PhpParser\Node;
use PhpParser\Node\Expr;

@ -1,10 +1,10 @@
<?php
namespace PhpAot\Php\Backend;
namespace TypePhp\Backend;
use PhpAot\Php\Platform\PlatformBase;
use PhpAot\Php\Platform\Windows;
use PhpAot\Php\Platform\Macos;
use TypePhp\Platform\PlatformBase;
use TypePhp\Platform\Windows;
use TypePhp\Platform\Macos;
/**
* Clang 编译器后端实现

@ -1,8 +1,8 @@
<?php
namespace PhpAot\Php\Backend;
namespace TypePhp\Backend;
use PhpAot\Php\Platform\PlatformBase;
use TypePhp\Platform\PlatformBase;
/**
* 编译器后端抽象基类

@ -1,11 +1,11 @@
<?php
namespace PhpAot\Php\Backend;
namespace TypePhp\Backend;
use PhpAot\Php\Platform\PlatformBase;
use PhpAot\Php\Platform\Windows;
use PhpAot\Php\Platform\Linux;
use PhpAot\Php\Platform\Macos;
use TypePhp\Platform\PlatformBase;
use TypePhp\Platform\Windows;
use TypePhp\Platform\Linux;
use TypePhp\Platform\Macos;
/**
* 编译器工厂类
@ -98,7 +98,7 @@ class CompilerFactory
public static function autoDetect(string $compilerName = '', ?PlatformBase $platform = null): array
{
// 创建平台
$platform ??= \PhpAot\Php\Platform\PlatformFactory::create();
$platform ??= \TypePhp\Platform\PlatformFactory::create();
// 创建编译器
$compilerName = self::detectCompilerName($platform, $compilerName);

@ -1,8 +1,8 @@
<?php
namespace PhpAot\Php\Backend;
namespace TypePhp\Backend;
use PhpAot\Php\Platform\PlatformBase;
use TypePhp\Platform\PlatformBase;
/**
* GCC 编译器后端实现

@ -1,8 +1,8 @@
<?php
namespace PhpAot\Php\Backend;
namespace TypePhp\Backend;
use PhpAot\Php\Platform\PlatformBase;
use TypePhp\Platform\PlatformBase;
/**
* GCC/Clang 共享后端基类
@ -124,7 +124,7 @@ abstract class GccLikeBackend extends CompilerBackend
if ((!empty($config['build_mode']) && $config['build_mode'] === 'ext') || !empty($config['shared'])) {
$flags .= ' ' . $this->platform->getSharedLinkFlag();
if ($this->platform instanceof \PhpAot\Php\Platform\Macos && !empty($config['install_name'])) {
if ($this->platform instanceof \TypePhp\Platform\Macos && !empty($config['install_name'])) {
$flags .= ' ' . $this->platform->getCurrentInstallNameOption($config['install_name']);
}
}

@ -1,8 +1,8 @@
<?php
namespace PhpAot\Php\Backend;
namespace TypePhp\Backend;
use PhpAot\Php\Platform\Windows;
use TypePhp\Platform\Windows;
/**
* MSVC 编译器后端实现

@ -6,52 +6,52 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php;
namespace TypePhp;
use League\CLImate\CLImate;
use PhpAot\Php\Backend\CompilerBackend;
use PhpAot\Php\Backend\CompilerFactory;
use PhpAot\Php\Context\FunctionContext;
use PhpAot\Php\Entity\ClassDef;
use PhpAot\Php\Entity\ConstantDef;
use PhpAot\Php\Entity\FunctionDef;
use PhpAot\Php\Entity\InterfaceDef;
use PhpAot\Php\Entity\MethodDef;
use PhpAot\Php\Entity\PropertyDef;
use PhpAot\Php\Exception\DynamicCall;
use PhpAot\Php\Exception\PlaceHolder;
use PhpAot\Php\Exception\Redo;
use PhpAot\Php\Exception\Skip;
use PhpAot\Php\Exception\TestError;
use PhpAot\Php\Generator\AnonClassGenerator;
use PhpAot\Php\Generator\ClosureGenerator;
use PhpAot\Php\Generator\PlaceHolderGenerator;
use PhpAot\Php\Generator\PropertyPromotion;
use PhpAot\Php\Generator\Utils;
use PhpAot\Php\Generator\TypeCheckGenerator;
use PhpAot\Php\Optimizer\SsaPropOptimizer;
use PhpAot\Php\Optimizer\SsaTypeOptimizer;
use PhpAot\Php\Optimizer\LoopVarOptimizer;
use PhpAot\Php\Parser\StdContainerTrait;
use PhpAot\Php\Parser\AssignOpTrait;
use PhpAot\Php\Parser\BinaryOpTrait;
use PhpAot\Php\Parser\TypeConversionTrait;
use PhpAot\Php\Parser\TypeDetectionTrait;
use PhpAot\Php\Optimizer\FuncCallOptimizer;
use PhpAot\Php\Platform\Linux;
use PhpAot\Php\Platform\Macos;
use PhpAot\Php\Platform\PlatformBase;
use PhpAot\Php\Platform\PlatformFactory;
use PhpAot\Php\Platform\Windows;
use PhpAot\Php\Resolver\InstancePropertyFetchTarget;
use PhpAot\Php\Resolver\PropertyAccessContext;
use PhpAot\Php\Resolver\NativePropertyAccess;
use PhpAot\Php\Resolver\PropertyAccessResult;
use PhpAot\Php\Resolver\PropertyAccessResolver;
use PhpAot\Php\Resolver\PropertyAssignTypeInfo;
use PhpAot\Php\Resolver\PropertyWriteTarget;
use PhpAot\Php\Resolver\StaticPropertyFetchResolution;
use PhpAot\Php\Resolver\StaticPropertyFetchTarget;
use TypePhp\Backend\CompilerBackend;
use TypePhp\Backend\CompilerFactory;
use TypePhp\Context\FunctionContext;
use TypePhp\Entity\ClassDef;
use TypePhp\Entity\ConstantDef;
use TypePhp\Entity\FunctionDef;
use TypePhp\Entity\InterfaceDef;
use TypePhp\Entity\MethodDef;
use TypePhp\Entity\PropertyDef;
use TypePhp\Exception\DynamicCall;
use TypePhp\Exception\PlaceHolder;
use TypePhp\Exception\Redo;
use TypePhp\Exception\Skip;
use TypePhp\Exception\TestError;
use TypePhp\Generator\AnonClassGenerator;
use TypePhp\Generator\ClosureGenerator;
use TypePhp\Generator\PlaceHolderGenerator;
use TypePhp\Generator\PropertyPromotion;
use TypePhp\Generator\Utils;
use TypePhp\Generator\TypeCheckGenerator;
use TypePhp\Optimizer\SsaPropOptimizer;
use TypePhp\Optimizer\SsaTypeOptimizer;
use TypePhp\Optimizer\LoopVarOptimizer;
use TypePhp\Parser\StdContainerTrait;
use TypePhp\Parser\AssignOpTrait;
use TypePhp\Parser\BinaryOpTrait;
use TypePhp\Parser\TypeConversionTrait;
use TypePhp\Parser\TypeDetectionTrait;
use TypePhp\Optimizer\FuncCallOptimizer;
use TypePhp\Platform\Linux;
use TypePhp\Platform\Macos;
use TypePhp\Platform\PlatformBase;
use TypePhp\Platform\PlatformFactory;
use TypePhp\Platform\Windows;
use TypePhp\Resolver\InstancePropertyFetchTarget;
use TypePhp\Resolver\PropertyAccessContext;
use TypePhp\Resolver\NativePropertyAccess;
use TypePhp\Resolver\PropertyAccessResult;
use TypePhp\Resolver\PropertyAccessResolver;
use TypePhp\Resolver\PropertyAssignTypeInfo;
use TypePhp\Resolver\PropertyWriteTarget;
use TypePhp\Resolver\StaticPropertyFetchResolution;
use TypePhp\Resolver\StaticPropertyFetchTarget;
use PhpParser\Modifiers;
use PhpParser\Node;
use PhpParser\Node\ArrayItem;
@ -71,7 +71,7 @@ use PhpParser\ParserFactory;
use PhpParser\PhpVersion;
use PhpParser\PrettyPrinter;
class CompilerBase extends \PhpAot\Core\Translator implements PropertyAccessContext
class CompilerBase implements PropertyAccessContext
{
use AstNodeType;
use FuncCallOptimizer;
@ -184,6 +184,10 @@ class CompilerBase extends \PhpAot\Core\Translator implements PropertyAccessCont
protected const string PHASE_CONVERT = 'convert';
protected string $lang = 'PHP';
protected int $indentLevel = 0;
protected string $indentStr = "\t";
public string $mode = 'cli';
protected string $osType = 'linux';
protected string $compilerPhase = self::PHASE_IDLE;
protected string $cppCompiler = '';
protected array $literalStrings = [];
@ -406,7 +410,7 @@ class CompilerBase extends \PhpAot\Core\Translator implements PropertyAccessCont
public function __construct(string $rootPath)
{
parent::__construct();
$this->osType = PHP_OS_FAMILY;
if (version_compare(PHP_VERSION, '8.2.0', '<')) {
$this->error('PHP 8.2.0 or later is required');
}
@ -421,6 +425,31 @@ class CompilerBase extends \PhpAot\Core\Translator implements PropertyAccessCont
$this->climate = $climate;
}
public function setMode($mode): void
{
$this->mode = $mode;
}
public function setIndent(string $indent): void
{
$this->indentStr = $indent;
}
public function setIndentLevel(int $level): void
{
$this->indentLevel = $level;
}
public function getLang(): string
{
return $this->lang;
}
protected function getIndent(): string
{
return str_repeat($this->indentStr, $this->indentLevel);
}
protected function getPhpxDir(): string
{
// 优先使用环境变量 PHPX_HOME

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php;
namespace TypePhp;
/**
* @internal

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php;
namespace TypePhp;
class Constants
{

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Context;
namespace TypePhp\Context;
use PhpAot\Php\Analysis\SsaBuilder;
use TypePhp\Analysis\SsaBuilder;
class FunctionContext
{

@ -1,6 +1,6 @@
<?php
namespace PhpAot\Php\Context;
namespace TypePhp\Context;
class ScopeContext
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Entity;
namespace TypePhp\Entity;
class ArrayInitPlan
{

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Entity;
namespace TypePhp\Entity;
use PhpAot\Php\Context\FunctionContext;
use TypePhp\Context\FunctionContext;
use PhpParser\Modifiers;
use PhpParser\Node\Stmt\Trait_;

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Entity;
namespace TypePhp\Entity;
class ClassLikeDef
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Entity;
namespace TypePhp\Entity;
use PhpParser\NodeAbstract;

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Entity;
namespace TypePhp\Entity;
use PhpAot\Php\ArgInfo;
use TypePhp\ArgInfo;
use PhpParser\NodeAbstract;
class FunctionDef

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Entity;
namespace TypePhp\Entity;
class InterfaceDef extends ClassLikeDef
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Entity;
namespace TypePhp\Entity;
class MethodDef
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Entity;
namespace TypePhp\Entity;
use PhpParser\Modifiers;

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Exception;
namespace TypePhp\Exception;
class DynamicCall extends \RuntimeException
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Exception;
namespace TypePhp\Exception;
class PlaceHolder extends \RuntimeException
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Exception;
namespace TypePhp\Exception;
class Redo extends \RuntimeException
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Exception;
namespace TypePhp\Exception;
class Skip extends \RuntimeException
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Exception;
namespace TypePhp\Exception;
class SyntaxError extends \RuntimeException
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Exception;
namespace TypePhp\Exception;
class TestError extends \RuntimeException
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Exception;
namespace TypePhp\Exception;
class Unsupported extends \RuntimeException
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php;
namespace TypePhp;
class Extractor
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php;
namespace TypePhp;
class FileScanner
{

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Generator;
namespace TypePhp\Generator;
use PhpParser\Node;
use PhpParser\NodeAbstract;
@ -21,7 +21,7 @@ use PhpParser\Node\Stmt\ClassMethod;
use PhpParser\Node\Stmt\Property;
use PhpParser\NodeTraverser;
use PhpParser\NodeVisitorAbstract;
use PhpAot\Php\Reflection;
use TypePhp\Reflection;
trait AnonClassGenerator
{

@ -6,10 +6,10 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Generator;
namespace TypePhp\Generator;
use PhpAot\Php\ArgInfo;
use PhpAot\Php\Context\FunctionContext;
use TypePhp\ArgInfo;
use TypePhp\Context\FunctionContext;
use PhpParser\Node;
use PhpParser\Node\Expr;
use PhpParser\Node\IntersectionType;

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Generator;
namespace TypePhp\Generator;
trait PlaceHolderGenerator
{

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Generator;
namespace TypePhp\Generator;
use PhpAot\Php\ArgInfo;
use TypePhp\ArgInfo;
trait PropertyPromotion
{

@ -1,6 +1,6 @@
<?php
namespace PhpAot\Php\Generator;
namespace TypePhp\Generator;
/**
* Windows 资源文件 (.rc) 生成器

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Generator;
namespace TypePhp\Generator;
use PhpAot\Php\ArgInfo;
use TypePhp\ArgInfo;
use PhpParser\Node;
use PhpParser\Node\IntersectionType;
use PhpParser\Node\NullableType;

@ -6,10 +6,10 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Generator;
namespace TypePhp\Generator;
use PhpAot\Php\CompilerBase;
use PhpAot\Php\Constants;
use TypePhp\CompilerBase;
use TypePhp\Constants;
trait Utils
{

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php;
namespace TypePhp;
use PhpAot\Php\Entity\MethodDef;
use TypePhp\Entity\MethodDef;
use PhpParser\NodeAbstract;
trait MagicMethodDetector

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Optimizer;
namespace TypePhp\Optimizer;
use PhpAot\Php\Reflection;
use TypePhp\Reflection;
use PhpParser\Node;
/**

@ -8,10 +8,10 @@
* statically bounded range are accepted.
*/
namespace PhpAot\Php\Optimizer;
namespace TypePhp\Optimizer;
use PhpAot\Php\Analysis\SsaBuilder;
use PhpAot\Php\Analysis\SsaFlags;
use TypePhp\Analysis\SsaBuilder;
use TypePhp\Analysis\SsaFlags;
use PhpParser\Node;
use PhpParser\Node\Expr;
use PhpParser\Node\Stmt;

@ -22,11 +22,11 @@
* unset path, so a hoisted reference is not invalidated by direct unset alone.
*/
namespace PhpAot\Php\Optimizer;
namespace TypePhp\Optimizer;
use PhpAot\Php\Analysis\SsaBuilder;
use PhpAot\Php\Analysis\SsaFlags;
use PhpAot\Php\Reflection;
use TypePhp\Analysis\SsaBuilder;
use TypePhp\Analysis\SsaFlags;
use TypePhp\Reflection;
use PhpParser\Node;
use PhpParser\Node\Expr;

@ -7,11 +7,11 @@
* provably produce the same type and no dangerous operations exist.
*/
namespace PhpAot\Php\Optimizer;
namespace TypePhp\Optimizer;
use PhpAot\Php\Analysis\SsaBuilder;
use PhpAot\Php\Analysis\SsaFlags;
use PhpAot\Php\Analysis\SsaVar;
use TypePhp\Analysis\SsaBuilder;
use TypePhp\Analysis\SsaFlags;
use TypePhp\Analysis\SsaVar;
use PhpParser\Node;
use PhpParser\NodeAbstract;

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Parser;
namespace TypePhp\Parser;
use PhpAot\Php\Resolver\PropertyWriteTarget;
use TypePhp\Resolver\PropertyWriteTarget;
use PhpParser\Node;
use PhpParser\Node\ArrayItem;
use PhpParser\Node\Expr;

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Parser;
namespace TypePhp\Parser;
use PhpAot\Php\Symbol;
use TypePhp\Symbol;
use PhpParser\Node;
use PhpParser\Node\Expr;
use PhpParser\Node\Expr\BinaryOp;

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Parser;
namespace TypePhp\Parser;
use PhpAot\Php\Symbol;
use TypePhp\Symbol;
use PhpParser\Node\Expr;
use PhpParser\Node\Expr\StaticCall;
use PhpParser\Node\Name;

@ -6,7 +6,7 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Parser;
namespace TypePhp\Parser;
use PhpParser\Node;
use PhpParser\NodeAbstract;

@ -6,9 +6,9 @@
* @contact service@swoole.com
*/
namespace PhpAot\Php\Parser;
namespace TypePhp\Parser;
use PhpAot\Php\Reflection;
use TypePhp\Reflection;
use PhpParser\Node;
use PhpParser\Node\Expr;
use PhpParser\NodeAbstract;

@ -1,6 +1,6 @@
<?php
namespace PhpAot\Php\Platform;
namespace TypePhp\Platform;
/**
* Linux 平台实现

@ -1,6 +1,6 @@
<?php
namespace PhpAot\Php\Platform;
namespace TypePhp\Platform;
/**
* macOS 平台实现

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save