StaticAnalyser
in package
OpenApi\StaticAnalyser extracts swagger-php annotations from php code using static analysis.
Table of Contents
- fromCode() : Analysis
- Extract and process all doc-comments from the contents.
- fromFile() : Analysis
- Extract and process all doc-comments from a file.
- fromTokens() : Analysis
- Shared implementation for parseFile() & parseContents().
- analyseComment() : void
- Parse comment and add annotations to analysis.
- nextToken() : array<string|int, mixed>|string
- The next non-whitespace, non-comment token.
- parseAttribute() : void
- parseNamespace() : string
- Parse namespaced string.
- parseNamespaceList() : array<string|int, mixed>
- Parse comma separated list of namespaced strings.
- parseTypeAndNextToken() : array<string|int, mixed>
- Parse type of variable (if it exists).
- parseUseStatement() : array<string|int, mixed>
- Parse a use statement.
- php8NamespaceToken() : mixed
Methods
fromCode()
Extract and process all doc-comments from the contents.
public
fromCode(string $code, Context $context) : Analysis
Parameters
- $code : string
-
PHP code. (including <?php tags)
- $context : Context
-
the original location of the contents
Return values
Analysis —fromFile()
Extract and process all doc-comments from a file.
public
fromFile(string $filename, Context $context) : Analysis
Parameters
- $filename : string
-
path to a php file
- $context : Context
Return values
Analysis —fromTokens()
Shared implementation for parseFile() & parseContents().
protected
fromTokens(array<string|int, mixed> $tokens, Context $parseContext) : Analysis
Parameters
- $tokens : array<string|int, mixed>
-
The result of a token_get_all()
- $parseContext : Context
Return values
Analysis —analyseComment()
Parse comment and add annotations to analysis.
private
analyseComment(Analysis $analysis, Analyser $analyser, string $comment, Context $context) : void
Parameters
Return values
void —nextToken()
The next non-whitespace, non-comment token.
private
nextToken(array<string|int, mixed> &$tokens, Context $context) : array<string|int, mixed>|string
Parameters
- $tokens : array<string|int, mixed>
- $context : Context
Return values
array<string|int, mixed>|string —The next token (or false)
parseAttribute()
private
parseAttribute(array<string|int, mixed> &$tokens, mixed &$token, Context $parseContext) : void
Parameters
- $tokens : array<string|int, mixed>
- $token : mixed
- $parseContext : Context
Return values
void —parseNamespace()
Parse namespaced string.
private
parseNamespace(array<string|int, mixed> &$tokens, mixed &$token, Context $parseContext) : string
Parameters
- $tokens : array<string|int, mixed>
- $token : mixed
- $parseContext : Context
Return values
string —parseNamespaceList()
Parse comma separated list of namespaced strings.
private
parseNamespaceList(array<string|int, mixed> &$tokens, mixed &$token, Context $parseContext) : array<string|int, mixed>
Parameters
- $tokens : array<string|int, mixed>
- $token : mixed
- $parseContext : Context
Return values
array<string|int, mixed> —parseTypeAndNextToken()
Parse type of variable (if it exists).
private
parseTypeAndNextToken(array<string|int, mixed> &$tokens, Context $parseContext) : array<string|int, mixed>
Parameters
- $tokens : array<string|int, mixed>
- $parseContext : Context
Return values
array<string|int, mixed> —parseUseStatement()
Parse a use statement.
private
parseUseStatement(array<string|int, mixed> &$tokens, mixed &$token, Context $parseContext) : array<string|int, mixed>
Parameters
- $tokens : array<string|int, mixed>
- $token : mixed
- $parseContext : Context
Return values
array<string|int, mixed> —php8NamespaceToken()
private
php8NamespaceToken() : mixed