type::class) { // List ListType::class, NonEmptyListType::class => $this->listNodeBuilder, // Array ArrayType::class, NonEmptyArrayType::class, IterableType::class => $this->arrayNodeBuilder, // ShapedArray ShapedArrayType::class => $this->shapedArrayNodeBuilder, // Union UnionType::class => $this->unionNodeBuilder, // Null NullType::class => $this->nullNodeBuilder, // Mixed MixedType::class => $this->mixedNodeBuilder, // Undefined object UndefinedObjectType::class => $this->undefinedObjectNodeBuilder, // Object NativeClassType::class, EnumType::class, InterfaceType::class => $this->objectNodeBuilder, // Scalar default => $this->scalarNodeBuilder, }; return $builder->build($shell); } }