contents = []; foreach ($var->cases() as $case) { $base_obj = Value::blank($class.'::'.$case->name, '\\'.$class.'::'.$case->name); $base_obj->depth = $o->depth + 1; if ($var instanceof BackedEnum) { $c = $case->value; $cases->contents[] = $this->parser->parse($c, $base_obj); } else { $cases->contents[] = $base_obj; } } self::$cache[$class] = $cases; } $object = new EnumValue($var); $object->transplant($o); $object->addRepresentation(self::$cache[$class], 0); $o = $object; } }