phug-php/compiler

View on GitHub

Showing 19 of 19 total issues

File Compiler.php has 531 lines of code (exceeds 250 allowed). Consider refactoring.
Open

<?php

namespace Phug;

// Node compilers
Severity: Major
Found in Compiler.php - About 1 day to fix

    Function compileNode has a Cognitive Complexity of 41 (exceeds 5 allowed). Consider refactoring.
    Open

        public function compileNode(NodeInterface $node, ElementInterface $parent = null)
        {
            $compiler = $this->getCompiler();
            $compiler->assert(
                $node instanceof ImportNode,
    Severity: Minor
    Found in Compiler/NodeCompiler/ImportNodeCompiler.php - About 6 hrs to fix

    Cognitive Complexity

    Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

    A method's cognitive complexity is based on a few simple rules:

    • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
    • Code is considered more complex for each "break in the linear flow of the code"
    • Code is considered more complex when "flow breaking structures are nested"

    Further reading

    Compiler has 41 functions (exceeds 20 allowed). Consider refactoring.
    Open

    class Compiler implements ModuleContainerInterface, CompilerInterface, WithUpperLocatorInterface
    {
        use ModuleContainerTrait;
        use YieldHandlerTrait;
    
    
    Severity: Minor
    Found in Compiler.php - About 5 hrs to fix

      Method compileNode has 103 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

          public function compileNode(NodeInterface $node, ElementInterface $parent = null)
          {
              $compiler = $this->getCompiler();
              $compiler->assert(
                  $node instanceof ImportNode,
      Severity: Major
      Found in Compiler/NodeCompiler/ImportNodeCompiler.php - About 4 hrs to fix

        Method __construct has 87 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

            public function __construct($options = null)
            {
                $this->setOptionsDefaults($options ?: [], [
                    'paths'                      => [],
                    'debug'                      => false,
        Severity: Major
        Found in Compiler.php - About 3 hrs to fix

          Method compileNode has 32 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

              public function compileNode(NodeInterface $node, ElementInterface $parent = null)
              {
                  $compiler = $this->getCompiler();
                  $compiler->assert(
                      $node instanceof ElementNode,
          Severity: Minor
          Found in Compiler/NodeCompiler/ElementNodeCompiler.php - About 1 hr to fix

            Method compileNode has 32 lines of code (exceeds 25 allowed). Consider refactoring.
            Open

                public function compileNode(NodeInterface $node, ElementInterface $parent = null)
                {
                    $compiler = $this->getCompiler();
                    $compiler->assert(
                        $node instanceof FilterNode,
            Severity: Minor
            Found in Compiler/NodeCompiler/FilterNodeCompiler.php - About 1 hr to fix

              Method compileNode has 30 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                  public function compileNode(NodeInterface $node, ElementInterface $parent = null)
                  {
                      $this->getCompiler()->assert(
                          $node instanceof ForNode,
                          'Unexpected '.get_class($node).' given to for compiler.',
              Severity: Minor
              Found in Compiler/NodeCompiler/ForNodeCompiler.php - About 1 hr to fix

                Method compileNode has 29 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                    public function compileNode(ParserNodeInterface $node, ElementInterface $parent = null)
                    {
                        $compiler = $this->getCompiler();
                        $compiler->assert(
                            $node instanceof MixinCallNode,
                Severity: Minor
                Found in Compiler/NodeCompiler/MixinCallNodeCompiler.php - About 1 hr to fix

                  Function compileNode has a Cognitive Complexity of 10 (exceeds 5 allowed). Consider refactoring.
                  Open

                      public function compileNode(NodeInterface $node, ElementInterface $parent = null)
                      {
                          $nodeEvent = new NodeEvent($node);
                          $this->trigger($nodeEvent);
                          $node = $nodeEvent->getNode();
                  Severity: Minor
                  Found in Compiler.php - About 1 hr to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Function compileNode has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
                  Open

                      public function compileNode(NodeInterface $node, ElementInterface $parent = null)
                      {
                          $compiler = $this->getCompiler();
                          $compiler->assert(
                              $node instanceof ElementNode,
                  Severity: Minor
                  Found in Compiler/NodeCompiler/ElementNodeCompiler.php - About 55 mins to fix

                  Cognitive Complexity

                  Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                  A method's cognitive complexity is based on a few simple rules:

                  • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                  • Code is considered more complex for each "break in the linear flow of the code"
                  • Code is considered more complex when "flow breaking structures are nested"

                  Further reading

                  Method assert has 5 arguments (exceeds 4 allowed). Consider refactoring.
                  Open

                      public function assert($condition, $message, $node = null, $code = 0, $previous = null)
                  Severity: Minor
                  Found in Compiler.php - About 35 mins to fix

                    Method __construct has 5 arguments (exceeds 4 allowed). Consider refactoring.
                    Open

                            CompilerInterface $compiler,
                            $name = '',
                            ParserNode $originNode = null,
                            NodeInterface $parent = null,
                            array $children = null
                    Severity: Minor
                    Found in Compiler/Element/BlockElement.php - About 35 mins to fix

                      Method assert has 5 arguments (exceeds 4 allowed). Consider refactoring.
                      Open

                          public function assert($condition, $message, $node = null, $code = 0, $previous = null);
                      Severity: Minor
                      Found in CompilerInterface.php - About 35 mins to fix

                        Function __construct has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                        Open

                            public function __construct($options = null)
                            {
                                $this->setOptionsDefaults($options ?: [], [
                                    'paths'                      => [],
                                    'debug'                      => false,
                        Severity: Minor
                        Found in Compiler.php - About 35 mins to fix

                        Cognitive Complexity

                        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                        A method's cognitive complexity is based on a few simple rules:

                        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                        • Code is considered more complex for each "break in the linear flow of the code"
                        • Code is considered more complex when "flow breaking structures are nested"

                        Further reading

                        Function locate has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
                        Open

                            public function locate($path, array $locations, array $extensions)
                            {
                                // @ catch softly PHP open_basedir restriction
                                if (@is_file($path)) {
                                    return is_readable($path) ? realpath($path) : null;
                        Severity: Minor
                        Found in Compiler/Locator/FileLocator.php - About 35 mins to fix

                        Cognitive Complexity

                        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                        A method's cognitive complexity is based on a few simple rules:

                        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                        • Code is considered more complex for each "break in the linear flow of the code"
                        • Code is considered more complex when "flow breaking structures are nested"

                        Further reading

                        Function compileNode has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                        Open

                            public function compileNode(ParserNodeInterface $node, ElementInterface $parent = null)
                            {
                                $compiler = $this->getCompiler();
                                $compiler->assert(
                                    $node instanceof MixinCallNode,
                        Severity: Minor
                        Found in Compiler/NodeCompiler/MixinCallNodeCompiler.php - About 25 mins to fix

                        Cognitive Complexity

                        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                        A method's cognitive complexity is based on a few simple rules:

                        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                        • Code is considered more complex for each "break in the linear flow of the code"
                        • Code is considered more complex when "flow breaking structures are nested"

                        Further reading

                        Function compileBlocks has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                        Open

                            public function compileBlocks()
                            {
                                do {
                                    $blockProceeded = 0;
                                    foreach ($this->getBlocks() as $name => $blocks) {
                        Severity: Minor
                        Found in Compiler.php - About 25 mins to fix

                        Cognitive Complexity

                        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                        A method's cognitive complexity is based on a few simple rules:

                        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                        • Code is considered more complex for each "break in the linear flow of the code"
                        • Code is considered more complex when "flow breaking structures are nested"

                        Further reading

                        Function compileNode has a Cognitive Complexity of 6 (exceeds 5 allowed). Consider refactoring.
                        Open

                            public function compileNode(NodeInterface $node, ElementInterface $parent = null)
                            {
                                $this->getCompiler()->assert(
                                    $node instanceof ForNode,
                                    'Unexpected '.get_class($node).' given to for compiler.',
                        Severity: Minor
                        Found in Compiler/NodeCompiler/ForNodeCompiler.php - About 25 mins to fix

                        Cognitive Complexity

                        Cognitive Complexity is a measure of how difficult a unit of code is to intuitively understand. Unlike Cyclomatic Complexity, which determines how difficult your code will be to test, Cognitive Complexity tells you how difficult your code will be to read and comprehend.

                        A method's cognitive complexity is based on a few simple rules:

                        • Code is not considered more complex when it uses shorthand that the language provides for collapsing multiple statements into one
                        • Code is considered more complex for each "break in the linear flow of the code"
                        • Code is considered more complex when "flow breaking structures are nested"

                        Further reading

                        Severity
                        Category
                        Status
                        Source
                        Language