Skip to content

Instantly share code, notes, and snippets.

@litzinger
Last active February 26, 2024 14:38
Show Gist options
  • Save litzinger/1b52d0363bbf1c53ed3d6515ebd1cbc9 to your computer and use it in GitHub Desktop.
Save litzinger/1b52d0363bbf1c53ed3d6515ebd1cbc9 to your computer and use it in GitHub Desktop.
PhpStorm meta file for ExpressionEngine
<?php
/**
* ExpressionEngine PhpStorm Meta
*
* This file is not a CODE, it makes no sense and won't run or validate
* Its AST serves PhpStorm IDE as DATA source to make advanced type inference decisions.
*
* @see https://confluence.jetbrains.com/display/PhpStorm/PhpStorm+Advanced+Metadata
*/
namespace PHPSTORM_META {
$STATIC_METHOD_TYPES = [
\ee('') => [
'Autoloader' instanceof \ExpressionEngine\Core\Autoloader,
'Category' instanceof \ExpressionEngine\Service\Category\Factory,
'Consent' instanceof \ExpressionEngine\Service\Consent\Consent,
'CP/CustomMenu' instanceof \ExpressionEngine\Service\CustomMenu\Menu,
'CP/EntryListing' instanceof \ExpressionEngine\Service\EntryListing\EntryListing,
'CP/Filter' instanceof \ExpressionEngine\Service\Filter\FilterFactory,
'CP/GridInput' instanceof \ExpressionEngine\Library\CP\GridInput,
'CP/MiniGridInput' instanceof \ExpressionEngine\Library\CP\MiniGridInput,
'CP/Table' instanceof \ExpressionEngine\Library\CP\Table,
'CP/URL' instanceof \ExpressionEngine\Service\URL\URLFactory,
'CP/Pagination' instanceof \ExpressionEngine\CP\Pagination,
'CSV' instanceof \ExpressionEngine\Library\Data\CSV,
'Curl' instanceof \ExpressionEngine\Library\Curl\RequestFactory,
'db' instanceof \ExpressionEngine\Service\Database\Database,
'Database\Backup' instanceof \ExpressionEngine\Service\Database\Backup\Backup,
'Database\Backup\Query' instanceof \ExpressionEngine\Service\Database\Backup\Query,
'Database\Restore' instanceof \ExpressionEngine\Service\Database\Backup\Restore,
'Encrypt' instanceof \ExpressionEngine\Service\Encrypt\Encrypt,
'Event' instanceof \ExpressionEngine\Service\Database\Backup\Restore,
'Filesystem' instanceof \ExpressionEngine\Library\Filesystem\Filesystem,
'Format' instanceof \ExpressionEngine\Service\Formatter\FormatterFactory,
'LivePreview' instanceof \ExpressionEngine\Service\LivePreview\LivePreview,
'Memory' instanceof \ExpressionEngine\Service\Memory\Memory,
'Model' instanceof \ExpressionEngine\Service\Model\Facade,
'Permission' instanceof \ExpressionEngine\Service\Permission\Permission,
'Provider' instanceof \ExpressionEngine\Core\Provider,
'ProviderRegistry' instanceof \ExpressionEngine\Core\ProviderRegistry,
'Profiler' instanceof \ExpressionEngine\Service\Profiler\Profiler,
'Request' instanceof \ExpressionEngine\Core\Request,
'Response' instanceof \ExpressionEngine\Core\Response,
'Spam' instanceof \ExpressionEngine\Protocol\Spam\Spam,
'Theme' instanceof \ExpressionEngine\Service\Theme\Theme,
'ThemeInstaller' instanceof \ExpressionEngine\Service\Theme\ThemeInstaller,
'Thumbnail' instanceof \ExpressionEngine\Service\Thumbnail\ThumbnailFactory,
'Updater' instanceof \ExpressionEngine\Service\Updater\Runner,
'Updater/Downloader' instanceof \ExpressionEngine\Service\Updater\Downloader\Downloader,
'Updater/Logger' instanceof \ExpressionEngine\Service\Updater\Logger,
'Updater/Preflight' instanceof \ExpressionEngine\Service\Updater\Downloader\Preflight,
'Updater/Unpacker' instanceof \ExpressionEngine\Service\Updater\Downloader\Unpacker,
'View' instanceof \ExpressionEngine\Service\View\ViewFactory,
'Variables/Parser' instanceof \ExpressionEngine\Service\Template\Variables\LegacyParser,
// Singletons
'Addon' instanceof \ExpressionEngine\Service\Addon\Factory,
'Captcha' instanceof \ExpressionEngine\Library\Captcha,
'ChannelSet' instanceof \ExpressionEngine\Service\ChannelSet\Factory,
'Cookie' instanceof \ExpressionEngine\Service\Cookie\Cookie,
'CookieRegistry' instanceof \ExpressionEngine\Service\Consent\CookieRegistry,
'Config' instanceof \ExpressionEngine\Service\Config\Factory,
'CP/Alert' instanceof \ExpressionEngine\Service\Alert\AlertCollection,
'CP/FilePicker' instanceof \Addons\FilePicker\Service\FilePicker\Factory,
'CP/Modal' instanceof \ExpressionEngine\Service\Modal\ModalCollection,
'CP/Sidebar' instanceof \ExpressionEngine\Service\Sidebar\Sidebar,
'Database' instanceof \ExpressionEngine\Service\Database\Database,
'Encrypt/Cookie' instanceof \ExpressionEngine\Service\Encrypt\Cookie,
'File' instanceof \ExpressionEngine\Service\File\Factory,
'IpAddress' instanceof \ExpressionEngine\Service\IpAddress\Factory,
'License' instanceof \ExpressionEngine\Service\License\LicenseFactory,
'Member' instanceof \ExpressionEngine\Service\Member\Member,
'Model/Datastore' instanceof \ExpressionEngine\Service\Model\DataStore,
'Request' instanceof \ExpressionEngine\Core\Request,
'Response' instanceof \ExpressionEngine\Core\Response,
'Security/XSS' instanceof \ExpressionEngine\Library\Security\XSS,
'Validation' instanceof \ExpressionEngine\Service\Validation\Factory,
'View/Helpers' instanceof \ExpressionEngine\Service\View\ViewHelpers,
],
\ee('')->make('') => [
// Models
'Action' instanceof \ExpressionEngine\Model\Addon\Action,
'Extension' instanceof \ExpressionEngine\Model\Addon\Extension,
'Module' instanceof \ExpressionEngine\Model\Addon\Module,
'Plugin' instanceof \ExpressionEngine\Model\Addon\Plugin,
'Fieldtype' instanceof \ExpressionEngine\Model\Addon\Fieldtype,
'Category' instanceof \ExpressionEngine\Model\Category\Category,
'CategoryGroup' instanceof \ExpressionEngine\Model\Category\CategoryGroup,
'CategoryField' instanceof \ExpressionEngine\Model\Category\CategoryField,
'UploadDestination' instanceof \ExpressionEngine\Model\File\UploadDestination,
'FileDimension' instanceof \ExpressionEngine\Model\File\FileDimension,
'File' instanceof \ExpressionEngine\Model\File\File,
'Watermark' instanceof \ExpressionEngine\Model\File\Watermark,
'CpLog' instanceof \ExpressionEngine\Model\Log\CpLog,
'DeveloperLog' instanceof \ExpressionEngine\Model\Log\DeveloperLog,
'EmailConsoleCache' instanceof \ExpressionEngine\Model\Log\EmailConsoleCache,
'Captcha' instanceof \ExpressionEngine\Model\Security\Captcha,
'Throttle' instanceof \ExpressionEngine\Model\Security\Throttle,
'ResetPassword' instanceof \ExpressionEngine\Model\Security\ResetPassword,
'Session' instanceof \ExpressionEngine\Model\Session\Session,
'RememberMe' instanceof \ExpressionEngine\Model\Session\RememberMe,
'Site' instanceof \ExpressionEngine\Model\Site\Site,
'Stats' instanceof \ExpressionEngine\Model\Site\Stats,
'Status' instanceof \ExpressionEngine\Model\Status\Status,
'Template' instanceof \ExpressionEngine\Model\Template\Template,
'TemplateGroup' instanceof \ExpressionEngine\Model\Template\TemplateGroup,
'TemplateRoute' instanceof \ExpressionEngine\Model\Template\TemplateRoute,
'GlobalVariable' instanceof \ExpressionEngine\Model\Template\GlobalVariable,
'Snippet' instanceof \ExpressionEngine\Model\Template\Snippet,
'SpecialtyTemplate' instanceof \ExpressionEngine\Model\Template\SpecialtyTemplate,
'Channel' instanceof \ExpressionEngine\Model\Channel\Channel,
'ChannelFieldGroup'instanceof \ExpressionEngine\Model\Channel\ChannelFieldGroup,
'ChannelField' instanceof \ExpressionEngine\Model\Channel\ChannelField,
'ChannelEntry' instanceof \ExpressionEngine\Model\Channel\ChannelEntry,
'ChannelEntryAutosave' instanceof \ExpressionEngine\Model\Channel\ChannelEntryAutosave,
'ChannelEntryVersion' instanceof \ExpressionEngine\Model\Channel\ChannelEntryVersion,
'ChannelFormSettings' instanceof \ExpressionEngine\Model\Channel\ChannelFormSettings,
'ChannelLayout' instanceof \ExpressionEngine\Model\Channel\ChannelLayout,
'FieldData' instanceof \ExpressionEngine\Model\Content\FieldData,
'Comment' instanceof \ExpressionEngine\Model\Comment\Comment,
'CommentSubscription' instanceof \ExpressionEngine\Model\Comment\CommentSubscription,
'Message' instanceof \ExpressionEngine\Model\Message\Message,
'MessageAttachment' instanceof \ExpressionEngine\Model\Message\Attachment,
'MessageFolder' instanceof \ExpressionEngine\Model\Message\Folder,
'ListedMember' instanceof \ExpressionEngine\Model\Message\ListedMember,
'MessageCopy' instanceof \ExpressionEngine\Model\Message\Copy,
'HTMLButton' instanceof \ExpressionEngine\Model\Member\HTMLButton,
'Member' instanceof \ExpressionEngine\Model\Member\Member,
'MemberField' instanceof \ExpressionEngine\Model\Member\MemberField,
'MemberGroup' instanceof \ExpressionEngine\Model\Member\MemberGroup,
'MemberNewsView' instanceof \ExpressionEngine\Model\Member\NewsView,
'OnlineMember' instanceof \ExpressionEngine\Model\Member\Online,
'MenuSet' instanceof \ExpressionEngine\Model\Menu\MenuSet,
'MenuItem' instanceof \ExpressionEngine\Model\Menu\MenuItem,
'SearchLog' instanceof \ExpressionEngine\Model\Search\SearchLog,
'EmailCache' instanceof \ExpressionEngine\Model\Email\EmailCache,
'EmailTracker' instanceof \ExpressionEngine\Model\Email\EmailTracker,
'RevisionTracker' instanceof \ExpressionEngine\Model\Revision\RevisionTracker,
'Consent' instanceof \ExpressionEngine\Model\Consent\Consent,
'ConsentAuditLog' instanceof \ExpressionEngine\Model\Consent\ConsentAuditLog,
'ConsentRequest' instanceof \ExpressionEngine\Model\Consent\ConsentRequest,
'ConsentRequestVersion' instanceof \ExpressionEngine\Model\Consent\ConsentRequestVersion,
],
];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment