noConstructorVarsRule.js 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. "use strict";
  2. var __extends = (this && this.__extends) || function (d, b) {
  3. for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p];
  4. function __() { this.constructor = d; }
  5. d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
  6. };
  7. var Lint = require("../lint");
  8. var Rule = (function (_super) {
  9. __extends(Rule, _super);
  10. function Rule() {
  11. _super.apply(this, arguments);
  12. }
  13. Rule.prototype.apply = function (sourceFile) {
  14. return this.applyWithWalker(new NoConstructorVarsWalker(sourceFile, this.getOptions()));
  15. };
  16. Rule.FAILURE_STRING_PART = " cannot be declared in the constructor";
  17. return Rule;
  18. }(Lint.Rules.AbstractRule));
  19. exports.Rule = Rule;
  20. var NoConstructorVarsWalker = (function (_super) {
  21. __extends(NoConstructorVarsWalker, _super);
  22. function NoConstructorVarsWalker() {
  23. _super.apply(this, arguments);
  24. }
  25. NoConstructorVarsWalker.prototype.visitConstructorDeclaration = function (node) {
  26. var parameters = node.parameters;
  27. for (var _i = 0, parameters_1 = parameters; _i < parameters_1.length; _i++) {
  28. var parameter = parameters_1[_i];
  29. if (parameter.modifiers != null && parameter.modifiers.length > 0) {
  30. var name_1 = parameter.name;
  31. var errorMessage = "'" + name_1.text + "'" + Rule.FAILURE_STRING_PART;
  32. var lastModifier = parameter.modifiers[parameter.modifiers.length - 1];
  33. var position = lastModifier.getEnd() - parameter.getStart();
  34. this.addFailure(this.createFailure(parameter.getStart(), position, errorMessage));
  35. }
  36. }
  37. _super.prototype.visitConstructorDeclaration.call(this, node);
  38. };
  39. return NoConstructorVarsWalker;
  40. }(Lint.RuleWalker));
  41. exports.NoConstructorVarsWalker = NoConstructorVarsWalker;