Skip to content

Commit

Permalink
Improved class generation.
Browse files Browse the repository at this point in the history
  • Loading branch information
zobo committed Apr 3, 2024
1 parent a369da7 commit 6950bc6
Show file tree
Hide file tree
Showing 5 changed files with 44 additions and 13 deletions.
15 changes: 13 additions & 2 deletions src/InlayHintOptions.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,21 +7,31 @@
use RuntimeException;

/**
* Mixins (implemented TS interfaces): WorkDoneProgressOptions, array
* Mixins (implemented TS interfaces): WorkDoneProgressOptions
*/
class InlayHintOptions
{
/**
* The server provides support to resolve additional
* information for an inlay hint item.
*
* @var bool|null
*/
public $resolveProvider;

/**
*
* @var bool|null
*/
public $workDoneProgress;

/**
* @param bool|null $resolveProvider
* @param bool|null $workDoneProgress
*/
public function __construct(?bool $workDoneProgress = null)
public function __construct(?bool $resolveProvider = null, ?bool $workDoneProgress = null)
{
$this->resolveProvider = $resolveProvider;
$this->workDoneProgress = $workDoneProgress;
}

Expand All @@ -32,6 +42,7 @@ public function __construct(?bool $workDoneProgress = null)
public static function fromArray(array $array, bool $allowUnknownKeys = false)
{
$map = [
'resolveProvider' => ['names' => [], 'iterable' => false],
'workDoneProgress' => ['names' => [], 'iterable' => false],
];

Expand Down
24 changes: 22 additions & 2 deletions src/InlayHintParams.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,24 @@
use RuntimeException;

/**
* Mixins (implemented TS interfaces): WorkDoneProgressParams, array
* Mixins (implemented TS interfaces): WorkDoneProgressParams
*/
class InlayHintParams
{
/**
* The text document.
*
* @var TextDocumentIdentifier
*/
public $textDocument;

/**
* The document range for which inlay hints should be computed.
*
* @var Range
*/
public $range;

/**
* An optional token that a server can use to report work done progress.
*
Expand All @@ -19,10 +33,14 @@ class InlayHintParams
public $workDoneToken;

/**
* @param TextDocumentIdentifier $textDocument
* @param Range $range
* @param int|string|null $workDoneToken
*/
public function __construct($workDoneToken = null)
public function __construct(TextDocumentIdentifier $textDocument, Range $range, $workDoneToken = null)
{
$this->textDocument = $textDocument;
$this->range = $range;
$this->workDoneToken = $workDoneToken;
}

Expand All @@ -33,6 +51,8 @@ public function __construct($workDoneToken = null)
public static function fromArray(array $array, bool $allowUnknownKeys = false)
{
$map = [
'textDocument' => ['names' => [TextDocumentIdentifier::class], 'iterable' => false],
'range' => ['names' => [Range::class], 'iterable' => false],
'workDoneToken' => ['names' => [], 'iterable' => false],
];

Expand Down
6 changes: 3 additions & 3 deletions src/ServerCapabilities.php
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,7 @@ class ServerCapabilities
/**
* The server provides inline values.
*
* @var bool|mixed|mixed|null
* @var bool|WorkDoneProgressOptions|InlineValueRegistrationOptions|null
*/
public $inlineValueProvider;

Expand Down Expand Up @@ -300,7 +300,7 @@ class ServerCapabilities
* @param mixed|mixed|null $semanticTokensProvider
* @param bool|mixed|mixed|null $monikerProvider
* @param bool|mixed|mixed|null $typeHierarchyProvider
* @param bool|mixed|mixed|null $inlineValueProvider
* @param bool|WorkDoneProgressOptions|InlineValueRegistrationOptions|null $inlineValueProvider
* @param bool|InlayHintOptions|InlayHintRegistrationOptions|null $inlayHintProvider
* @param mixed|mixed|null $diagnosticProvider
* @param array{workspaceFolders:WorkspaceFoldersServerCapabilities,fileOperations:FileOperationOptions}|null $workspace
Expand Down Expand Up @@ -382,7 +382,7 @@ public static function fromArray(array $array, bool $allowUnknownKeys = false)
'semanticTokensProvider' => ['names' => [], 'iterable' => false],
'monikerProvider' => ['names' => [], 'iterable' => false],
'typeHierarchyProvider' => ['names' => [], 'iterable' => false],
'inlineValueProvider' => ['names' => [], 'iterable' => false],
'inlineValueProvider' => ['names' => [InlineValueRegistrationOptions::class], 'iterable' => false],
'inlayHintProvider' => ['names' => [InlayHintOptions::class, InlayHintRegistrationOptions::class], 'iterable' => false],
'diagnosticProvider' => ['names' => [], 'iterable' => false],
'workspace' => ['names' => [], 'iterable' => false],
Expand Down
6 changes: 3 additions & 3 deletions src/TextDocumentClientCapabilities.php
Original file line number Diff line number Diff line change
Expand Up @@ -204,7 +204,7 @@ class TextDocumentClientCapabilities
/**
* Capabilities specific to the `textDocument/inlineValue` request.
*
* @var mixed|null
* @var array{dynamicRegistration:bool}|null
*/
public $inlineValue;

Expand Down Expand Up @@ -250,11 +250,11 @@ class TextDocumentClientCapabilities
* @param mixed|null $linkedEditingRange
* @param mixed|null $moniker
* @param mixed|null $typeHierarchy
* @param mixed|null $inlineValue
* @param array{dynamicRegistration:bool}|null $inlineValue
* @param array{dynamicRegistration:bool,resolveSupport:array{properties:array<string>}}|null $inlayHint
* @param mixed|null $diagnostic
*/
public function __construct(?TextDocumentSyncClientCapabilities $synchronization = null, ?CompletionClientCapabilities $completion = null, ?HoverClientCapabilities $hover = null, ?SignatureHelpClientCapabilities $signatureHelp = null, ?DeclarationClientCapabilities $declaration = null, ?DefinitionClientCapabilities $definition = null, ?TypeDefinitionClientCapabilities $typeDefinition = null, ?ImplementationClientCapabilities $implementation = null, ?ReferenceClientCapabilities $references = null, ?DocumentHighlightClientCapabilities $documentHighlight = null, ?DocumentSymbolClientCapabilities $documentSymbol = null, ?CodeActionClientCapabilities $codeAction = null, ?CodeLensClientCapabilities $codeLens = null, ?DocumentLinkClientCapabilities $documentLink = null, ?DocumentColorClientCapabilities $colorProvider = null, ?DocumentFormattingClientCapabilities $formatting = null, ?DocumentRangeFormattingClientCapabilities $rangeFormatting = null, ?DocumentOnTypeFormattingClientCapabilities $onTypeFormatting = null, ?RenameClientCapabilities $rename = null, ?FoldingRangeClientCapabilities $foldingRange = null, ?SelectionRangeClientCapabilities $selectionRange = null, ?PublishDiagnosticsClientCapabilities $publishDiagnostics = null, $callHierarchy = null, $semanticTokens = null, $linkedEditingRange = null, $moniker = null, $typeHierarchy = null, $inlineValue = null, ?array $inlayHint = null, $diagnostic = null)
public function __construct(?TextDocumentSyncClientCapabilities $synchronization = null, ?CompletionClientCapabilities $completion = null, ?HoverClientCapabilities $hover = null, ?SignatureHelpClientCapabilities $signatureHelp = null, ?DeclarationClientCapabilities $declaration = null, ?DefinitionClientCapabilities $definition = null, ?TypeDefinitionClientCapabilities $typeDefinition = null, ?ImplementationClientCapabilities $implementation = null, ?ReferenceClientCapabilities $references = null, ?DocumentHighlightClientCapabilities $documentHighlight = null, ?DocumentSymbolClientCapabilities $documentSymbol = null, ?CodeActionClientCapabilities $codeAction = null, ?CodeLensClientCapabilities $codeLens = null, ?DocumentLinkClientCapabilities $documentLink = null, ?DocumentColorClientCapabilities $colorProvider = null, ?DocumentFormattingClientCapabilities $formatting = null, ?DocumentRangeFormattingClientCapabilities $rangeFormatting = null, ?DocumentOnTypeFormattingClientCapabilities $onTypeFormatting = null, ?RenameClientCapabilities $rename = null, ?FoldingRangeClientCapabilities $foldingRange = null, ?SelectionRangeClientCapabilities $selectionRange = null, ?PublishDiagnosticsClientCapabilities $publishDiagnostics = null, $callHierarchy = null, $semanticTokens = null, $linkedEditingRange = null, $moniker = null, $typeHierarchy = null, ?array $inlineValue = null, ?array $inlayHint = null, $diagnostic = null)
{
$this->synchronization = $synchronization;
$this->completion = $completion;
Expand Down
6 changes: 3 additions & 3 deletions src/WorkspaceClientCapabilities.php
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ class WorkspaceClientCapabilities
* Capabilities specific to the inline values requests scoped to the
* workspace.
*
* @var mixed|null
* @var array{refreshSupport:bool}|null
*/
public $inlineValue;

Expand Down Expand Up @@ -130,11 +130,11 @@ class WorkspaceClientCapabilities
* @param mixed|null $semanticTokens
* @param CodeLensWorkspaceClientCapabilities|null $codeLens
* @param FileOperationClientCapabilities|null $fileOperations
* @param mixed|null $inlineValue
* @param array{refreshSupport:bool}|null $inlineValue
* @param array{refreshSupport:bool}|null $inlayHint
* @param mixed|null $diagnostics
*/
public function __construct(?bool $applyEdit = null, ?WorkspaceEditClientCapabilities $workspaceEdit = null, ?DidChangeConfigurationClientCapabilities $didChangeConfiguration = null, ?DidChangeWatchedFilesClientCapabilities $didChangeWatchedFiles = null, ?WorkspaceSymbolClientCapabilities $symbol = null, ?ExecuteCommandClientCapabilities $executeCommand = null, ?bool $workspaceFolders = null, ?bool $configuration = null, $semanticTokens = null, ?CodeLensWorkspaceClientCapabilities $codeLens = null, ?FileOperationClientCapabilities $fileOperations = null, $inlineValue = null, ?array $inlayHint = null, $diagnostics = null)
public function __construct(?bool $applyEdit = null, ?WorkspaceEditClientCapabilities $workspaceEdit = null, ?DidChangeConfigurationClientCapabilities $didChangeConfiguration = null, ?DidChangeWatchedFilesClientCapabilities $didChangeWatchedFiles = null, ?WorkspaceSymbolClientCapabilities $symbol = null, ?ExecuteCommandClientCapabilities $executeCommand = null, ?bool $workspaceFolders = null, ?bool $configuration = null, $semanticTokens = null, ?CodeLensWorkspaceClientCapabilities $codeLens = null, ?FileOperationClientCapabilities $fileOperations = null, ?array $inlineValue = null, ?array $inlayHint = null, $diagnostics = null)
{
$this->applyEdit = $applyEdit;
$this->workspaceEdit = $workspaceEdit;
Expand Down

0 comments on commit 6950bc6

Please sign in to comment.