parent
8c20fd18c8
commit
13a5849584
26 changed files with 2191 additions and 1779 deletions
@ -0,0 +1,66 @@ |
|||||||
|
<?php |
||||||
|
|
||||||
|
$header = <<<'EOF' |
||||||
|
This file is part of Swoole-Compiler(AOT). |
||||||
|
|
||||||
|
@link https://www.swoole.com/ |
||||||
|
@contact service@swoole.com |
||||||
|
EOF; |
||||||
|
|
||||||
|
return (new PhpCsFixer\Config()) |
||||||
|
->setRiskyAllowed(true) |
||||||
|
->setRules([ |
||||||
|
'@DoctrineAnnotation' => true, |
||||||
|
'@PhpCsFixer' => true, |
||||||
|
'@PSR2' => true, |
||||||
|
'@Symfony' => true, |
||||||
|
'align_multiline_comment' => ['comment_type' => 'all_multiline'], |
||||||
|
'array_syntax' => ['syntax' => 'short'], |
||||||
|
'binary_operator_spaces' => ['operators' => ['=' => 'align', '=>' => 'align', ]], |
||||||
|
'blank_line_after_namespace' => true, |
||||||
|
'blank_line_before_statement' => ['statements' => ['declare']], |
||||||
|
'class_attributes_separation' => true, |
||||||
|
'concat_space' => ['spacing' => 'one'], |
||||||
|
'constant_case' => ['case' => 'lower'], |
||||||
|
'combine_consecutive_unsets' => true, |
||||||
|
'declare_strict_types' => true, |
||||||
|
'fully_qualified_strict_types' => ['phpdoc_tags' => []], |
||||||
|
'general_phpdoc_annotation_remove' => ['annotations' => ['author']], |
||||||
|
'header_comment' => ['comment_type' => 'PHPDoc', 'header' => $header, 'location' => 'after_open', 'separate' => 'bottom'], |
||||||
|
'increment_style' => ['style' => 'post'], |
||||||
|
'lambda_not_used_import' => false, |
||||||
|
'linebreak_after_opening_tag' => true, |
||||||
|
'list_syntax' => ['syntax' => 'short'], |
||||||
|
'lowercase_static_reference' => true, |
||||||
|
'multiline_comment_opening_closing' => true, |
||||||
|
'multiline_whitespace_before_semicolons' => ['strategy' => 'new_line_for_chained_calls'], |
||||||
|
'no_superfluous_phpdoc_tags' => ['allow_mixed' => true, 'allow_unused_params' => true, 'remove_inheritdoc' => false], |
||||||
|
'no_unused_imports' => true, |
||||||
|
'no_useless_else' => true, |
||||||
|
'no_useless_return' => true, |
||||||
|
'not_operator_with_space' => false, |
||||||
|
'not_operator_with_successor_space' => false, |
||||||
|
'php_unit_strict' => false, |
||||||
|
'phpdoc_align' => ['align' => 'left'], |
||||||
|
'phpdoc_annotation_without_dot' => false, |
||||||
|
'phpdoc_no_empty_return' => false, |
||||||
|
'phpdoc_types_order' => ['sort_algorithm' => 'none', 'null_adjustment' => 'always_last'], |
||||||
|
'phpdoc_separation' => false, |
||||||
|
'phpdoc_summary' => false, |
||||||
|
'ordered_class_elements' => true, |
||||||
|
'ordered_imports' => ['imports_order' => ['class', 'function', 'const'], 'sort_algorithm' => 'alpha'], |
||||||
|
'ordered_types' => ['null_adjustment' => 'always_last', 'sort_algorithm' => 'none'], |
||||||
|
'single_line_comment_style' => ['comment_types' => []], |
||||||
|
'single_line_comment_spacing' => false, |
||||||
|
'single_line_empty_body' => false, |
||||||
|
'single_quote' => true, |
||||||
|
'standardize_increment' => false, |
||||||
|
'standardize_not_equals' => true, |
||||||
|
'yoda_style' => ['always_move_variable' => false, 'equal' => false, 'identical' => false], |
||||||
|
]) |
||||||
|
->setFinder( |
||||||
|
PhpCsFixer\Finder::create() |
||||||
|
->exclude(['html', 'vendor']) |
||||||
|
->in(__DIR__) |
||||||
|
) |
||||||
|
->setUsingCache(false); |
||||||
@ -1,10 +1,20 @@ |
|||||||
<?php |
<?php |
||||||
|
/** |
||||||
|
* This file is part of Swoole-Compiler(AOT). |
||||||
|
* |
||||||
|
* @link https://www.swoole.com/ |
||||||
|
* @contact service@swoole.com |
||||||
|
*/ |
||||||
|
|
||||||
|
declare(strict_types=1); |
||||||
|
|
||||||
namespace PhpAot\Php; |
namespace PhpAot\Php; |
||||||
|
|
||||||
class ArgInfo |
class ArgInfo |
||||||
{ |
{ |
||||||
public string $name; |
public string $name; |
||||||
|
|
||||||
public string $type; |
public string $type; |
||||||
|
|
||||||
public string $default = ''; |
public string $default = ''; |
||||||
} |
} |
||||||
|
|||||||
@ -1,28 +1,38 @@ |
|||||||
<?php |
<?php |
||||||
|
/** |
||||||
|
* This file is part of Swoole-Compiler(AOT). |
||||||
|
* |
||||||
|
* @link https://www.swoole.com/ |
||||||
|
* @contact service@swoole.com |
||||||
|
*/ |
||||||
|
|
||||||
|
declare(strict_types=1); |
||||||
|
|
||||||
namespace PhpAot\Php; |
namespace PhpAot\Php; |
||||||
|
|
||||||
class ClassLikeDef |
class ClassLikeDef |
||||||
{ |
{ |
||||||
public string $name; |
public string $name; |
||||||
|
|
||||||
public string $namespace; |
public string $namespace; |
||||||
|
|
||||||
public string $extends = ''; |
public string $extends = ''; |
||||||
|
|
||||||
public function __construct(string $name, string $namespace = '') |
public function __construct(string $name, string $namespace = '') |
||||||
{ |
{ |
||||||
$this->name = $name; |
$this->name = $name; |
||||||
$this->namespace = $namespace; |
$this->namespace = $namespace; |
||||||
} |
} |
||||||
|
|
||||||
public function getNamespacedName(bool $symbolic = true): string |
public function getNamespacedName(bool $symbolic = true): string |
||||||
{ |
{ |
||||||
if ('' === $this->namespace) { |
if ($this->namespace === '') { |
||||||
return $this->name; |
return $this->name; |
||||||
} |
} |
||||||
if ($symbolic) { |
if ($symbolic) { |
||||||
return str_replace('\\', '_', $this->namespace.'_'.$this->name); |
return str_replace('\\', '_', $this->namespace . '_' . $this->name); |
||||||
} |
} |
||||||
|
|
||||||
return $this->namespace.'\\\\'.$this->name; |
return $this->namespace . '\\\\' . $this->name; |
||||||
} |
} |
||||||
} |
} |
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -1,22 +1,35 @@ |
|||||||
<?php |
<?php |
||||||
|
/** |
||||||
|
* This file is part of Swoole-Compiler(AOT). |
||||||
|
* |
||||||
|
* @link https://www.swoole.com/ |
||||||
|
* @contact service@swoole.com |
||||||
|
*/ |
||||||
|
|
||||||
|
declare(strict_types=1); |
||||||
|
|
||||||
namespace PhpAot\Php; |
namespace PhpAot\Php; |
||||||
|
|
||||||
class FunctionDef |
class FunctionDef |
||||||
{ |
{ |
||||||
public string $name; |
public string $name; |
||||||
|
|
||||||
public string $returnType; |
public string $returnType; |
||||||
|
|
||||||
/** |
/** |
||||||
* @var array<ArgInfo> |
* @var array<ArgInfo> |
||||||
*/ |
*/ |
||||||
public array $argInfoList = []; |
public array $argInfoList = []; |
||||||
|
|
||||||
public int $argCountRequired = 0; |
public int $argCountRequired = 0; |
||||||
|
|
||||||
public string $params = ''; |
public string $params = ''; |
||||||
|
|
||||||
public bool $method = false; |
public bool $method = false; |
||||||
|
|
||||||
public function __construct(string $name, string $returnType) |
public function __construct(string $name, string $returnType) |
||||||
{ |
{ |
||||||
$this->name = $name; |
$this->name = $name; |
||||||
$this->returnType = $returnType; |
$this->returnType = $returnType; |
||||||
} |
} |
||||||
} |
} |
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in new issue