- protected function createArgumentInterpreter(
- \Magento\Framework\Stdlib\BooleanUtils $booleanUtils
- ) {
- $constInterpreter = new \Magento\Framework\Data\Argument\Interpreter\Constant();
- $result = new \Magento\Framework\Data\Argument\Interpreter\Composite(
- [
- 'boolean' => new \Magento\Framework\Data\Argument\Interpreter\Boolean($booleanUtils),
- 'string' => new \Magento\Framework\Data\Argument\Interpreter\StringUtils($booleanUtils),
- 'number' => new \Magento\Framework\Data\Argument\Interpreter\Number(),
- 'null' => new \Magento\Framework\Data\Argument\Interpreter\NullType(),
- 'object' => new \Magento\Framework\Data\Argument\Interpreter\DataObject($booleanUtils),
- 'const' => $constInterpreter,
- 'init_parameter' => new \Magento\Framework\App\Arguments\ArgumentInterpreter($constInterpreter),
- ],
- \Magento\Framework\ObjectManager\Config\Reader\Dom::TYPE_ATTRIBUTE
- );
- // Add interpreters that reference the composite
- $result->addInterpreter('array', new \Magento\Framework\Data\Argument\Interpreter\ArrayType($result));
- return $result;
- }