src/lexer/SymbolDecypher.php

Summary

Maintainability
A
3 hrs
Test Coverage

Avoid too many return statements within this method.
Open

                return static::fetch($context, $context->peek);
Severity: Major
Found in src/lexer/SymbolDecypher.php - About 30 mins to fix

    Avoid too many return statements within this method.
    Open

                    return static::tryMatch($context, ['%{']);
    Severity: Major
    Found in src/lexer/SymbolDecypher.php - About 30 mins to fix

      Avoid too many return statements within this method.
      Open

                      return static::tryMatch($context, ['..']);
      Severity: Major
      Found in src/lexer/SymbolDecypher.php - About 30 mins to fix

        Avoid too many return statements within this method.
        Open

                        return static::tryMatch($context, ['#{', '#(']);
        Severity: Major
        Found in src/lexer/SymbolDecypher.php - About 30 mins to fix

          Avoid too many return statements within this method.
          Open

                          return static::tryMatch($context, ['=~']);
          Severity: Major
          Found in src/lexer/SymbolDecypher.php - About 30 mins to fix

            Avoid too many return statements within this method.
            Open

                            return static::tryMatch($context, ['&{', '&(']);
            Severity: Major
            Found in src/lexer/SymbolDecypher.php - About 30 mins to fix

              The method __callStatic() has a Cyclomatic Complexity of 10. The configured cyclomatic complexity threshold is 10.
              Open

                  public static function __callStatic($method, $args)
                  {
                      list ($context) = $args;
              
                      switch ($method) {
              Severity: Minor
              Found in src/lexer/SymbolDecypher.php by phpmd

              CyclomaticComplexity

              Since: 0.1

              Complexity is determined by the number of decision points in a method plus one for the method entry. The decision points are 'if', 'while', 'for', and 'case labels'. Generally, 1-4 is low complexity, 5-7 indicates moderate complexity, 8-10 is high complexity, and 11+ is very high complexity.

              Example

              // Cyclomatic Complexity = 11
              class Foo {
              1   public function example() {
              2       if ($a == $b) {
              3           if ($a1 == $b1) {
                              fiddle();
              4           } elseif ($a2 == $b2) {
                              fiddle();
                          } else {
                              fiddle();
                          }
              5       } elseif ($c == $d) {
              6           while ($c == $d) {
                              fiddle();
                          }
              7        } elseif ($e == $f) {
              8           for ($n = 0; $n < $h; $n++) {
                              fiddle();
                          }
                      } else {
                          switch ($z) {
              9               case 1:
                                  fiddle();
                                  break;
              10              case 2:
                                  fiddle();
                                  break;
              11              case 3:
                                  fiddle();
                                  break;
                              default:
                                  fiddle();
                                  break;
                          }
                      }
                  }
              }

              Source https://phpmd.org/rules/codesize.html#cyclomaticcomplexity

              The parameter $operator_list is not named in camelCase.
              Open

                  private static function tryMatch($context, $operator_list)
                  {
                      foreach ($operator_list as $operator) {
                          if ($context->matches($operator)) {
                              return static::fetch($context, $operator);
              Severity: Minor
              Found in src/lexer/SymbolDecypher.php by phpmd

              CamelCaseParameterName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name parameters.

              Example

              class ClassName {
                  public function doSomething($user_name) {
                  }
              }

              Source

              The variable $operator_list is not named in camelCase.
              Open

                  private static function tryMatch($context, $operator_list)
                  {
                      foreach ($operator_list as $operator) {
                          if ($context->matches($operator)) {
                              return static::fetch($context, $operator);
              Severity: Minor
              Found in src/lexer/SymbolDecypher.php by phpmd

              CamelCaseVariableName

              Since: 0.2

              It is considered best practice to use the camelCase notation to name variables.

              Example

              class ClassName {
                  public function doSomething() {
                      $data_module = new DataModule();
                  }
              }

              Source

              There are no issues that match your filters.

              Category
              Status