3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class element { /** * * @var string The HTML ID of the field. */ protected $id; /** * @var string The HTML tag to use when printing the element. */ protected $tag; /** * @var boolean Whether to include the indents and new line character when displaying. */ public $format = false; /** * @var array Any associated CSS files. */ public $css = array (); /** * @var array Attributes specific to this element. */ public $attributes = array (); /** * Default element constructor. */ function __construct ($id = false) { $this->id = $id; } /** * Increase the indents to be printed before the source code. * @return void No return value, the function actual prints the HTML to the screen. */ function incIndent () { global $indent; $indent++; } /** * Decrease the indents to be printed before the source code. * @return void No return value, the function actual prints the HTML to the screen. */ function decIndent () { global $indent; $indent--; } /** * Get the current number of indents. * @return int The current number of indents. */ function returnIndent () { global $indent; $r = ''; for ($i = 0; $i < $indent; $i++) $r .= " "; return $r; } /** * Get the string containing all the style information. * @return string The style string for the current element. */ protected function returnStyleString () { $result = ''; foreach ($this->css as $att => $val) $result .= $att.':'.$val.';'; if ($result <> '') return ' style="'.$result.'" '; else return ' '; } /** * Get the string containing all the attributes and their values. * @return string The string containing all the various attributes for the current element (excluding STYLE). */ protected function returnAttributeString () { $result = ''; foreach ($this->attributes as $att => $val) { $result .= $att.'="'.$val.'" '; } return $result; } /** * Get the opening tags for the element. * @return string The opening tag for the current element. */ protected function returnStartTag () { if (!isset ($this->tag)) throw new exception ('ERROR: element::tag is not set'); if (isset($this->id)) $id = 'id="'.$this->id.'"'; return sprintf ('<%s %s %s %s>', $this->tag, $id, $this->returnStyleString(), $this->returnAttributeString()); } /** * Get the closing tags for the element. * @return string The closing tags for the current element. */ protected function returnEndTag () { if (!isset ($this->tag)) throw new exception ('ERROR: element::tag is not set'); return sprintf ('</'.$this->tag.'>'); } /** * Display the opening tags for the element. * @return void No return value, the function actual prints the HTML to the screen. */ protected function displayStartTag () { if($this->format) { echo ($this->returnIndent () . $this->returnStartTag () . "\n"); $this->incIndent (); } else echo ($this->returnStartTag ()); } /** * Display the closing tags for the element. * @return void No return value, the function actual prints the HTML to the screen. */ protected function displayEndTag () { if($this->format) { echo ($this->returnIndent () . $this->returnEndTag () . "\n"); $this->decIndent (); } else echo ($this->returnEndTag ()); } /** * Display the element (including style and attributes). * @return void No return value, the function actual prints the HTML to the screen. */ function display () { if ($this->tag == '') throw new exception ('ERROR: element::tag is not set'); echo ($this->returnIndent ()); if($this->format) printf ("<%s%s%s />\n", $this->tag, $this->returnStyleString(), $this->returnAttributeString()); else printf ("<%s%s%s />", $this->tag, $this->returnStyleString(), $this->returnAttributeString()); } } class Text extends element { /** * @var string The text that the element will display. */ var $text; /** * Default constructor for the element. * @param string $text The text to display in the text element. */ function __construct ($text) { $this->text = $text; } /** * Display the text element. * @return void No return value, the function actual prints the HTML to the screen. */ function display () { echo ($this->text); } } abstract class block extends element { /** * @var array The elements that will be contained in the block. */ protected $elements = array (); /** * Add an element to the block. * @param mixed &$element The element to add to the block. * @return void No return value. */ function addElement (&$element, $position = -1) { if (is_a ($element, 'element')) { if(($position != -1) && ($position < count($this->elements))) { for($i = count($this->elements); $i > $position; $i--) $this->elements[$i] = $this->elements[$i-1]; $this->elements[$position] = $element; } else $this->elements[] = $element; } } /** * Display the block. * @return void No return value. */ function display () { $this->displayStartTag (); foreach ($this->elements as $e) $e->display (); $this->displayEndTag (); } } class div extends block { /** * @var string The HTML tag for a div. */ var $tag = 'div'; } $no_towns = new div (); $no_towns->attributes ['id'] = 'no_towns'; $no_towns->addElement ( new text ( "<i>No towns are viewable with your current permissions.</i>" ) ); $no_towns->colspan = 8; $no_towns->attributes ['style'] .= 'width:263px'; $no_towns->displayChanges = false; $no_towns->css ['display'] = 'none';
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  (null)
number of ops:  23
compiled vars:  !0 = $no_towns
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  241     0  E >   NEW                                              $1      'div'
          1        DO_FCALL                                      0          
          2        ASSIGN                                                   !0, $1
  242     3        FETCH_OBJ_W                                      $4      !0, 'attributes'
          4        ASSIGN_DIM                                               $4, 'id'
          5        OP_DATA                                                  'no_towns'
  243     6        INIT_METHOD_CALL                                         !0, 'addElement'
          7        NEW                                              $6      'text'
          8        SEND_VAL_EX                                              '%3Ci%3ENo+towns+are+viewable+with+your+current+permissions.%3C%2Fi%3E'
          9        DO_FCALL                                      0          
         10        SEND_VAR_NO_REF_EX                                       $6
         11        DO_FCALL                                      0          
  244    12        ASSIGN_OBJ                                               !0, 'colspan'
         13        OP_DATA                                                  8
  245    14        FETCH_OBJ_RW                                     $10     !0, 'attributes'
         15        ASSIGN_DIM_OP                .=               8          $10, 'style'
         16        OP_DATA                                                  'width%3A263px'
  246    17        ASSIGN_OBJ                                               !0, 'displayChanges'
         18        OP_DATA                                                  <false>
  247    19        FETCH_OBJ_W                                      $13     !0, 'css'
         20        ASSIGN_DIM                                               $13, 'display'
         21        OP_DATA                                                  'none'
         22      > RETURN                                                   1

Class element:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  __construct
number of ops:  4
compiled vars:  !0 = $id
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   30     0  E >   RECV_INIT                                        !0      <false>
   32     1        ASSIGN_OBJ                                               'id'
          2        OP_DATA                                                  !0
   33     3      > RETURN                                                   null

End of function __construct

Function incindent:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  incIndent
number of ops:  3
compiled vars:  !0 = $indent
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   41     0  E >   BIND_GLOBAL                                              !0, 'indent'
   42     1        PRE_INC                                                  !0
   43     2      > RETURN                                                   null

End of function incindent

Function decindent:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  decIndent
number of ops:  3
compiled vars:  !0 = $indent
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   51     0  E >   BIND_GLOBAL                                              !0, 'indent'
   52     1        PRE_DEC                                                  !0
   53     2      > RETURN                                                   null

End of function decindent

Function returnindent:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 6
Branch analysis from position: 6
2 jumps found. (Code = 44) Position 1 = 8, Position 2 = 4
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 4
2 jumps found. (Code = 44) Position 1 = 8, Position 2 = 4
Branch analysis from position: 8
Branch analysis from position: 4
filename:       /in/QHHpG
function name:  returnIndent
number of ops:  10
compiled vars:  !0 = $indent, !1 = $r, !2 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   61     0  E >   BIND_GLOBAL                                              !0, 'indent'
   62     1        ASSIGN                                                   !1, ''
   63     2        ASSIGN                                                   !2, 0
          3      > JMP                                                      ->6
   64     4    >   ASSIGN_OP                                     8          !1, '++'
   63     5        PRE_INC                                                  !2
          6    >   IS_SMALLER                                               !2, !0
          7      > JMPNZ                                                    ~7, ->4
   65     8    > > RETURN                                                   !1
   66     9*     > RETURN                                                   null

End of function returnindent

Function returnstylestring:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 10
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 10
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 17
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
filename:       /in/QHHpG
function name:  returnStyleString
number of ops:  19
compiled vars:  !0 = $result, !1 = $val, !2 = $att
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   74     0  E >   ASSIGN                                                   !0, ''
   75     1        FETCH_OBJ_R                                      ~4      'css'
          2      > FE_RESET_R                                       $5      ~4, ->10
          3    > > FE_FETCH_R                                       ~6      $5, !1, ->10
          4    >   ASSIGN                                                   !2, ~6
   76     5        CONCAT                                           ~8      !2, '%3A'
          6        CONCAT                                           ~9      ~8, !1
          7        CONCAT                                           ~10     ~9, '%3B'
          8        ASSIGN_OP                                     8          !0, ~10
   75     9      > JMP                                                      ->3
         10    >   FE_FREE                                                  $5
   77    11        IS_NOT_EQUAL                                             !0, ''
         12      > JMPZ                                                     ~12, ->17
   78    13    >   CONCAT                                           ~13     '+style%3D%22', !0
         14        CONCAT                                           ~14     ~13, '%22+'
         15      > RETURN                                                   ~14
         16*       JMP                                                      ->18
   80    17    > > RETURN                                                   '+'
   81    18*     > RETURN                                                   null

End of function returnstylestring

Function returnattributestring:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 10
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 10
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
filename:       /in/QHHpG
function name:  returnAttributeString
number of ops:  13
compiled vars:  !0 = $result, !1 = $val, !2 = $att
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   89     0  E >   ASSIGN                                                   !0, ''
   90     1        FETCH_OBJ_R                                      ~4      'attributes'
          2      > FE_RESET_R                                       $5      ~4, ->10
          3    > > FE_FETCH_R                                       ~6      $5, !1, ->10
          4    >   ASSIGN                                                   !2, ~6
   92     5        CONCAT                                           ~8      !2, '%3D%22'
          6        CONCAT                                           ~9      ~8, !1
          7        CONCAT                                           ~10     ~9, '%22+'
          8        ASSIGN_OP                                     8          !0, ~10
   90     9      > JMP                                                      ->3
         10    >   FE_FREE                                                  $5
   94    11      > RETURN                                                   !0
   95    12*     > RETURN                                                   null

End of function returnattributestring

Function returnstarttag:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 7
Branch analysis from position: 3
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 13
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
filename:       /in/QHHpG
function name:  returnStartTag
number of ops:  27
compiled vars:  !0 = $id
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  103     0  E >   ISSET_ISEMPTY_PROP_OBJ                           ~1      'tag'
          1        BOOL_NOT                                         ~2      ~1
          2      > JMPZ                                                     ~2, ->7
  104     3    >   NEW                                              $3      'exception'
          4        SEND_VAL_EX                                              'ERROR%3A+element%3A%3Atag+is+not+set'
          5        DO_FCALL                                      0          
          6      > THROW                                         0          $3
  105     7    >   ISSET_ISEMPTY_PROP_OBJ                                   'id'
          8      > JMPZ                                                     ~5, ->13
  106     9    >   FETCH_OBJ_R                                      ~6      'id'
         10        CONCAT                                           ~7      'id%3D%22', ~6
         11        CONCAT                                           ~8      ~7, '%22'
         12        ASSIGN                                                   !0, ~8
  107    13    >   INIT_FCALL                                               'sprintf'
         14        SEND_VAL                                                 '%3C%25s+%25s+%25s+%25s%3E'
         15        FETCH_OBJ_R                                      ~10     'tag'
         16        SEND_VAL                                                 ~10
         17        SEND_VAR                                                 !0
         18        INIT_METHOD_CALL                                         'returnStyleString'
         19        DO_FCALL                                      0  $11     
         20        SEND_VAR                                                 $11
         21        INIT_METHOD_CALL                                         'returnAttributeString'
         22        DO_FCALL                                      0  $12     
         23        SEND_VAR                                                 $12
         24        DO_ICALL                                         $13     
         25      > RETURN                                                   $13
  108    26*     > RETURN                                                   null

End of function returnstarttag

Function returnendtag:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 7
Branch analysis from position: 3
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 7
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  returnEndTag
number of ops:  15
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  116     0  E >   ISSET_ISEMPTY_PROP_OBJ                           ~0      'tag'
          1        BOOL_NOT                                         ~1      ~0
          2      > JMPZ                                                     ~1, ->7
  117     3    >   NEW                                              $2      'exception'
          4        SEND_VAL_EX                                              'ERROR%3A+element%3A%3Atag+is+not+set'
          5        DO_FCALL                                      0          
          6      > THROW                                         0          $2
  118     7    >   INIT_FCALL                                               'sprintf'
          8        FETCH_OBJ_R                                      ~4      'tag'
          9        CONCAT                                           ~5      '%3C%2F', ~4
         10        CONCAT                                           ~6      ~5, '%3E'
         11        SEND_VAL                                                 ~6
         12        DO_ICALL                                         $7      
         13      > RETURN                                                   $7
  119    14*     > RETURN                                                   null

End of function returnendtag

Function displaystarttag:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 2, Position 2 = 12
Branch analysis from position: 2
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  displayStartTag
number of ops:  16
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  127     0  E >   FETCH_OBJ_R                                      ~0      'format'
          1      > JMPZ                                                     ~0, ->12
  129     2    >   INIT_METHOD_CALL                                         'returnIndent'
          3        DO_FCALL                                      0  $1      
          4        INIT_METHOD_CALL                                         'returnStartTag'
          5        DO_FCALL                                      0  $2      
          6        CONCAT                                           ~3      $1, $2
          7        CONCAT                                           ~4      ~3, '%0A'
          8        ECHO                                                     ~4
  130     9        INIT_METHOD_CALL                                         'incIndent'
         10        DO_FCALL                                      0          
         11      > JMP                                                      ->15
  133    12    >   INIT_METHOD_CALL                                         'returnStartTag'
         13        DO_FCALL                                      0  $6      
         14        ECHO                                                     $6
  134    15    > > RETURN                                                   null

End of function displaystarttag

Function displayendtag:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 2, Position 2 = 12
Branch analysis from position: 2
1 jumps found. (Code = 42) Position 1 = 15
Branch analysis from position: 15
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 12
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  displayEndTag
number of ops:  16
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  142     0  E >   FETCH_OBJ_R                                      ~0      'format'
          1      > JMPZ                                                     ~0, ->12
  144     2    >   INIT_METHOD_CALL                                         'returnIndent'
          3        DO_FCALL                                      0  $1      
          4        INIT_METHOD_CALL                                         'returnEndTag'
          5        DO_FCALL                                      0  $2      
          6        CONCAT                                           ~3      $1, $2
          7        CONCAT                                           ~4      ~3, '%0A'
          8        ECHO                                                     ~4
  145     9        INIT_METHOD_CALL                                         'decIndent'
         10        DO_FCALL                                      0          
         11      > JMP                                                      ->15
  148    12    >   INIT_METHOD_CALL                                         'returnEndTag'
         13        DO_FCALL                                      0  $6      
         14        ECHO                                                     $6
  149    15    > > RETURN                                                   null

End of function displayendtag

Function display:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 7
Branch analysis from position: 3
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 12, Position 2 = 24
Branch analysis from position: 12
1 jumps found. (Code = 42) Position 1 = 35
Branch analysis from position: 35
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 24
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  display
number of ops:  36
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  158     0  E >   FETCH_OBJ_R                                      ~0      'tag'
          1        IS_EQUAL                                                 ~0, ''
          2      > JMPZ                                                     ~1, ->7
  159     3    >   NEW                                              $2      'exception'
          4        SEND_VAL_EX                                              'ERROR%3A+element%3A%3Atag+is+not+set'
          5        DO_FCALL                                      0          
          6      > THROW                                         0          $2
  160     7    >   INIT_METHOD_CALL                                         'returnIndent'
          8        DO_FCALL                                      0  $4      
          9        ECHO                                                     $4
  161    10        FETCH_OBJ_R                                      ~5      'format'
         11      > JMPZ                                                     ~5, ->24
  162    12    >   INIT_FCALL                                               'printf'
         13        SEND_VAL                                                 '%3C%25s%25s%25s+%2F%3E%0A'
         14        FETCH_OBJ_R                                      ~6      'tag'
         15        SEND_VAL                                                 ~6
         16        INIT_METHOD_CALL                                         'returnStyleString'
         17        DO_FCALL                                      0  $7      
         18        SEND_VAR                                                 $7
         19        INIT_METHOD_CALL                                         'returnAttributeString'
         20        DO_FCALL                                      0  $8      
         21        SEND_VAR                                                 $8
         22        DO_ICALL                                                 
         23      > JMP                                                      ->35
  164    24    >   INIT_FCALL                                               'printf'
         25        SEND_VAL                                                 '%3C%25s%25s%25s+%2F%3E'
         26        FETCH_OBJ_R                                      ~10     'tag'
         27        SEND_VAL                                                 ~10
         28        INIT_METHOD_CALL                                         'returnStyleString'
         29        DO_FCALL                                      0  $11     
         30        SEND_VAR                                                 $11
         31        INIT_METHOD_CALL                                         'returnAttributeString'
         32        DO_FCALL                                      0  $12     
         33        SEND_VAR                                                 $12
         34        DO_ICALL                                                 
  165    35    > > RETURN                                                   null

End of function display

End of class element.

Class Text:
Function __construct:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  __construct
number of ops:  4
compiled vars:  !0 = $text
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  178     0  E >   RECV                                             !0      
  180     1        ASSIGN_OBJ                                               'text'
          2        OP_DATA                                                  !0
  181     3      > RETURN                                                   null

End of function __construct

Function display:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  display
number of ops:  3
compiled vars:  none
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  189     0  E >   FETCH_OBJ_R                                      ~0      'text'
          1        ECHO                                                     ~0
  190     2      > RETURN                                                   null

End of function display

Function incindent:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  incIndent
number of ops:  3
compiled vars:  !0 = $indent
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   41     0  E >   BIND_GLOBAL                                              !0, 'indent'
   42     1        PRE_INC                                                  !0
   43     2      > RETURN                                                   null

End of function incindent

Function decindent:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 62) Position 1 = -2
filename:       /in/QHHpG
function name:  decIndent
number of ops:  3
compiled vars:  !0 = $indent
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   51     0  E >   BIND_GLOBAL                                              !0, 'indent'
   52     1        PRE_DEC                                                  !0
   53     2      > RETURN                                                   null

End of function decindent

Function returnindent:
Finding entry points
Branch analysis from position: 0
1 jumps found. (Code = 42) Position 1 = 6
Branch analysis from position: 6
2 jumps found. (Code = 44) Position 1 = 8, Position 2 = 4
Branch analysis from position: 8
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 4
2 jumps found. (Code = 44) Position 1 = 8, Position 2 = 4
Branch analysis from position: 8
Branch analysis from position: 4
filename:       /in/QHHpG
function name:  returnIndent
number of ops:  10
compiled vars:  !0 = $indent, !1 = $r, !2 = $i
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   61     0  E >   BIND_GLOBAL                                              !0, 'indent'
   62     1        ASSIGN                                                   !1, ''
   63     2        ASSIGN                                                   !2, 0
          3      > JMP                                                      ->6
   64     4    >   ASSIGN_OP                                     8          !1, '++'
   63     5        PRE_INC                                                  !2
          6    >   IS_SMALLER                                               !2, !0
          7      > JMPNZ                                                    ~7, ->4
   65     8    > > RETURN                                                   !1
   66     9*     > RETURN                                                   null

End of function returnindent

Function returnstylestring:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 10
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 10
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 10
2 jumps found. (Code = 43) Position 1 = 13, Position 2 = 17
Branch analysis from position: 13
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 17
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
filename:       /in/QHHpG
function name:  returnStyleString
number of ops:  19
compiled vars:  !0 = $result, !1 = $val, !2 = $att
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   74     0  E >   ASSIGN                                                   !0, ''
   75     1        FETCH_OBJ_R                                      ~4      'css'
          2      > FE_RESET_R                                       $5      ~4, ->10
          3    > > FE_FETCH_R                                       ~6      $5, !1, ->10
          4    >   ASSIGN                                                   !2, ~6
   76     5        CONCAT                                           ~8      !2, '%3A'
          6        CONCAT                                           ~9      ~8, !1
          7        CONCAT                                           ~10     ~9, '%3B'
          8        ASSIGN_OP                                     8          !0, ~10
   75     9      > JMP                                                      ->3
         10    >   FE_FREE                                                  $5
   77    11        IS_NOT_EQUAL                                             !0, ''
         12      > JMPZ                                                     ~12, ->17
   78    13    >   CONCAT                                           ~13     '+style%3D%22', !0
         14        CONCAT                                           ~14     ~13, '%22+'
         15      > RETURN                                                   ~14
         16*       JMP                                                      ->18
   80    17    > > RETURN                                                   '+'
   81    18*     > RETURN                                                   null

End of function returnstylestring

Function returnattributestring:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 77) Position 1 = 3, Position 2 = 10
Branch analysis from position: 3
2 jumps found. (Code = 78) Position 1 = 4, Position 2 = 10
Branch analysis from position: 4
1 jumps found. (Code = 42) Position 1 = 3
Branch analysis from position: 3
Branch analysis from position: 10
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 10
filename:       /in/QHHpG
function name:  returnAttributeString
number of ops:  13
compiled vars:  !0 = $result, !1 = $val, !2 = $att
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
   89     0  E >   ASSIGN                                                   !0, ''
   90     1        FETCH_OBJ_R                                      ~4      'attributes'
          2      > FE_RESET_R                                       $5      ~4, ->10
          3    > > FE_FETCH_R                                       ~6      $5, !1, ->10
          4    >   ASSIGN                                                   !2, ~6
   92     5        CONCAT                                           ~8      !2, '%3D%22'
          6        CONCAT                                           ~9      ~8, !1
          7        CONCAT                                           ~10     ~9, '%22+'
          8        ASSIGN_OP                                     8          !0, ~10
   90     9      > JMP                                                      ->3
         10    >   FE_FREE                                                  $5
   94    11      > RETURN                                                   !0
   95    12*     > RETURN                                                   null

End of function returnattributestring

Function returnstarttag:
Finding entry points
Branch analysis from position: 0
2 jumps found. (Code = 43) Position 1 = 3, Position 2 = 7
Branch analysis from position: 3
1 jumps found. (Code = 108) Position 1 = -2
Branch analysis from position: 7
2 jumps found. (Code = 43) Position 1 = 9, Position 2 = 13
Branch analysis from position: 9
1 jumps found. (Code = 62) Position 1 = -2
Branch analysis from position: 13
filename:       /in/QHHpG
function name:  returnStartTag
number of ops:  27
compiled vars:  !0 = $id
line      #* E I O op                           fetch          ext  return  operands
-------------------------------------------------------------------------------------
  103     0  E >   ISSET_ISEMPTY_PROP_OBJ                           ~1      'tag'
          1        BOOL_NOT                     

Generated using Vulcan Logic Dumper, using php 8.0.0


preferences:
163.59 ms | 973 KiB | 18 Q