---
layout: docs
title: codegenShape
id: interface.Facebook.HackCodegen.ICodegenFactory.codegenShape
docid: interface.Facebook.HackCodegen.ICodegenFactory.codegenShape
permalink: /docs/reference/interface.Facebook.HackCodegen.ICodegenFactory.codegenShape/
---
# Facebook\\HackCodegen\\ICodegenFactory::codegenShape()




``` Hack
public function codegenShape(
  Facebook\HackCodegen\CodegenShapeMember ...$members,
): Facebook\HackCodegen\CodegenShape;
```




## Parameters




- [` Facebook\HackCodegen\CodegenShapeMember `](<class.Facebook.HackCodegen.CodegenShapeMember.md>)`` ...$members ``




## Returns




+ [` Facebook\HackCodegen\CodegenShape `](<class.Facebook.HackCodegen.CodegenShape.md>)