Facebook\HackCodegen\HackBuilderValues
Facebook\HackCodegen\HackBuilderValues
Factory class for creating ` IHackBuilderValueRenderer ` instances
Interface Synopsis
namespace Facebook\HackCodegen;
abstract final class HackBuilderValues {...}
Public Methods
::classname(): \IHackBuilderValueRenderer<string>
Assume the value is a classname, and render a::class
constant::codegen(): \IHackBuilderValueRenderer<ICodeBuilderRenderer>
Render a Codegen* value to code, and use it as the value::dict<\Tk as arraykey, \Tv>(\ IHackBuilderKeyRenderer<\Tk> $kr, \ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<dict<\Tk, \Tv>>
Render adict
literal::export(): \IHackBuilderValueRenderer<\mixed>
Render the value as Hack code that produces the same value::immMap<\Tk as arraykey, \Tv>(\ IHackBuilderKeyRenderer<\Tk> $kr, \ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<ImmMap<\Tk, \Tv>>
Render anImmMap
literal::immSet<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<ImmSet<\Tv>>
Render anImmSet
literal::immVector<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<ImmVector<\Tv>>
Render anImmVector
literal::keyValueArray<\Tk as arraykey, \Tv>(\ IHackBuilderKeyRenderer<\Tk> $kr, \ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<\array<\Tk, \Tv>>
Render adict
-like PHP array literal::keyset<\Tv as arraykey>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<keyset<\Tv>>
Render akeyset
literal::lambda<\T>(\callable $render): \IHackBuilderValueRenderer<\T>
The value will be rendered with the specified lambda::literal(): \IHackBuilderValueRenderer<string>
Render the value with no changes or escaping::map<\Tk as arraykey, \Tv>(\ IHackBuilderKeyRenderer<\Tk> $kr, \ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<Map<\Tk, \Tv>>
Render aMap
literal::regex<\T>(): \IHackBuilderValueRenderer<\\HH\Lib\Regex\Pattern<\T>>
Render a regex literal, e::set<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<Set<\Tv>>
Render aSet
literal::shapeWithPerKeyRendering(shape( ) $value_renderers): \IHackBuilderValueRenderer<shape( )>
Render ashape()
literal with a different renderer for each shape key::shapeWithUniformRendering<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<shape( )>
Render ashape()
literal where all values are rendered the same way::valueArray<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<\array<\Tv>>
Render avec
-like PHP array literal::vec<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<vec<\Tv>>
Render avec
literal::vector<\Tv>(\ IHackBuilderValueRenderer<\Tv> $vr): \IHackBuilderValueRenderer<Vector<\Tv>>
Render aVector
literal