![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/framework/Code/Generator/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Framework\Code\Generator; /** * Interface generator. */ class InterfaceGenerator extends \Magento\Framework\Code\Generator\ClassGenerator { /** * {@inheritdoc} */ public function generate() { if (!$this->isSourceDirty()) { $output = $this->getSourceContent(); if (!empty($output)) { return $output; } } $output = ''; if (!$this->getName()) { return $output; } $output .= $this->generateDirectives(); if (null !== ($docBlock = $this->getDocBlock())) { $docBlock->setIndentation(''); $output .= $docBlock->generate(); } $output .= 'interface ' . $this->getName(); if (!empty($this->extendedClass)) { $output .= ' extends \\' . ltrim($this->extendedClass, '\\'); } $output .= self::LINE_FEED . '{' . self::LINE_FEED . self::LINE_FEED . $this->generateMethods() . self::LINE_FEED . '}' . self::LINE_FEED; return $output; } /** * Instantiate interface method generator object. * * @return \Magento\Framework\Code\Generator\InterfaceMethodGenerator */ protected function createMethodGenerator() { return new \Magento\Framework\Code\Generator\InterfaceMethodGenerator(); } /** * Generate methods. * * @return string */ protected function generateMethods() { $output = ''; $methods = $this->getMethods(); if (!empty($methods)) { foreach ($methods as $method) { $output .= $method->generate() . self::LINE_FEED; } } return $output; } /** * Generate directives. * * @return string */ protected function generateDirectives() { $output = ''; $namespace = $this->getNamespaceName(); if (null !== $namespace) { $output .= 'namespace ' . $namespace . ';' . self::LINE_FEED . self::LINE_FEED; } $uses = $this->getUses(); if (!empty($uses)) { foreach ($uses as $use) { $output .= 'use ' . $use . ';' . self::LINE_FEED; } $output .= self::LINE_FEED; } return $output; } }