3 namespace Drupal\webprofiler\Form;
5 use Drupal\Core\Form\FormBuilder;
6 use Drupal\Core\Form\FormStateInterface;
9 * Class FormBuilderWrapper
11 class FormBuilderWrapper extends FormBuilder {
21 public function getBuildForm() {
22 return $this->buildForms;
28 public function prepareForm($form_id, &$form, FormStateInterface &$form_state) {
29 parent::prepareForm($form_id, $form, $form_state);
31 if (!$this->buildForms) {
32 $this->buildForms = [];
36 foreach ($form as $key => $value) {
37 if (strpos($key, '#') !== 0) {
38 $elements[$key]['#title'] = isset($value['#title']) ? $value['#title'] : NULL;
39 $elements[$key]['#access'] = isset($value['#access']) ? $value['#access'] : NULL;
40 $elements[$key]['#type'] = isset($value['#type']) ? $value['#type'] : NULL;
44 $buildInfo = $form_state->getBuildInfo();
46 $class = get_class($buildInfo['callback_object']);
47 $method = new \ReflectionMethod($class, 'buildForm');
49 $this->buildForms[$buildInfo['form_id']] = [
52 'method' => 'buildForm',
53 'file' => $method->getFilename(),
54 'line' => $method->getStartLine(),