private static function dumpMetaClass(MetaClass $class) { $propertyList = $class->getWithInternalProperties(); $out = <<<EOT \tprotected function makePropertyList() \t{ EOT; if ($class->hasBuildableParent()) { $out .= <<<EOT \t\treturn \t\t\tarray_merge( \t\t\t\tparent::makePropertyList(), \t\t\t\tarray( EOT; if ($class->getIdentifier()) { $propertyList[$class->getIdentifier()->getName()] = $class->getIdentifier(); } } else { $out .= <<<EOT \t\treturn array( EOT; } $list = []; foreach ($propertyList as $property) { $list[] = "'{$property->getName()}' => " . $property->toLightProperty($class)->toString(); } $out .= implode(",\n", $list); if ($class->hasBuildableParent()) { $out .= "\n)"; } $out .= <<<EOT \t\t); \t} EOT; return $out; }