title: Angular won't call controller constructor at all, although state transition is successful
body: <p>I've got a module, whose controller is not called at all:</p>
  
  <pre><code>import angular from "angular";
  
  var ToolResource = require("workflow/tool/tool.service");
  
  class ToolListController {
  
      // @ngInject
      construtor($location, $stateParams, $state, tools) {
          console.log("ToolListController called");
  
          this.$location = $location;
          this.$state = $state;
          this.$stateParams = $stateParams;
  
          this.tools = tools;
      }
  }
  
  // @ngInject
  function routesList($stateProvider) {
      $stateProvider.state("tool-list", {
          url: "/tool",
          parent: "layout",
          templateUrl: "/app/workflow/tool/toolList.html",
          controller: "ToolListController",
          controllerAs: "vm",
          data: {
              pageTitle: "Tool",
              pageDesc: "List of tools, available for workflow construction."
          },
          resolve: {
              ToolResource: "ToolResource",
              tools: function(ToolResource) {
                  return ToolResource.query().$promise;
              }
          }
      });
  }
  
  module.exports = angular.module("tool", [])
    .service ('ToolResource', ToolResource)
    .controller('ToolListController', ToolListController)
    .config(routesList);
  </code></pre>
  
  <p>Angular successfully switches to the respective state, but just doesn't initialize the controller (for instance, it doesn't print the message <code>ToolListController called</code>). I didn't forget to inject tool module into the main module.</p>
  
  <p>What might be wrong?</p>