From b0d711278e3ab01c545f26d76cf7b0ebafe9c2e3 Mon Sep 17 00:00:00 2001 From: Vladimir Potekhin <46284632+vladimirpotekhin@users.noreply.github.com> Date: Thu, 14 Nov 2019 16:48:42 +0300 Subject: [PATCH] feat(tslint): change angular member ordering (#21) * change angular-member-ordering rule due to new codestyle * ordering static method * add setters and getters ordering and space instead tab in config --- .editorconfig | 2 +- src/tinkoffAngularMemberOrderingRule.ts | 117 +- src/tinkoffConditionBreaksRule.ts | 14 +- src/utils.ts | 70 +- .../angular-member-ordering/test.ts.lint | 2887 +++++++++++++++-- .../angular-member-ordering/testGenerator.js | 408 ++- .../test_2waybinding.ts.lint | 14 +- .../test_Accessors.ts.lint | 11 +- tslint/bases/base.tslint.json | 129 +- 9 files changed, 3056 insertions(+), 596 deletions(-) diff --git a/.editorconfig b/.editorconfig index 7838b6e..2905306 100644 --- a/.editorconfig +++ b/.editorconfig @@ -3,7 +3,7 @@ root = true [*] charset = utf-8 -indent_style = tab +indent_style = space indent_size = 4 end_of_line = lf insert_final_newline = true diff --git a/src/tinkoffAngularMemberOrderingRule.ts b/src/tinkoffAngularMemberOrderingRule.ts index 94dbb9c..9162bbf 100644 --- a/src/tinkoffAngularMemberOrderingRule.ts +++ b/src/tinkoffAngularMemberOrderingRule.ts @@ -13,25 +13,49 @@ export class Rule extends Rules.AbstractRule { optionsDescription: '', options: { order: [ - 'public-static', + 'private-instance-field', + 'private-static-field', + 'protected-static-field', + 'protected-instance-field', + 'public-instance-field', + 'public-static-field', '@Input', '@Output', - 'public-instance', - 'protected-static', - 'protected-instance', - 'private-static', - 'private-instance', + 'public-getter', + 'public-setter', + 'protected-getter', + 'protected-setter', + 'private-getter', + 'private-setter', + 'public-instance-method', + 'public-static-method', + 'protected-instance-method', + 'protected-static-method', + 'private-instance-method', + 'private-static-method', ], }, optionExamples: [ - 'public-static', - 'protected-static', - 'private-static', + 'private-instance-field', + 'private-static-field', + 'protected-static-field', + 'protected-instance-field', + 'public-instance-field', + 'public-static-field', '@Input', '@Output', - 'public-instance', - 'protected-instance', - 'private-instance', + 'public-getter', + 'public-setter', + 'protected-getter', + 'protected-setter', + 'private-getter', + 'private-setter', + 'public-instance-method', + 'public-static-method', + 'protected-instance-method', + 'protected-static-method', + 'private-instance-method', + 'private-static-method', ], type: 'style', typescriptOnly: false, @@ -62,7 +86,8 @@ export class Rule extends Rules.AbstractRule { type NodeDeclaration = | ts.PropertyDeclaration | ts.SetAccessorDeclaration - | ts.GetAccessorDeclaration; + | ts.GetAccessorDeclaration + | ts.MethodDeclaration; class TinkoffAngularMemberOrderingWalker extends AngularMemberOrderingWalker { private bindingWasAppeared = false; @@ -87,8 +112,11 @@ class TinkoffAngularMemberOrderingWalker extends AngularMemberOrderingWalker { protected hasMatch(node: ts.Node): boolean { return ( node.kind === ts.SyntaxKind.PropertyDeclaration || + node.kind === ts.SyntaxKind.MethodDeclaration || this.isInputAccessor(node) || - this.isOutputAccessor(node) + this.isOutputAccessor(node) || + this.isGetAccessor(node) || + this.isSetAccessor(node) ); } @@ -126,6 +154,21 @@ class TinkoffAngularMemberOrderingWalker extends AngularMemberOrderingWalker { ); } + protected nodeWidth(node: NodeDeclaration): number { + const input = '@Input'; + const output = '@Output'; + + if (this.isInput(node)) { + return input.length; + } + + if (this.isOutput(node)) { + return output.length; + } + + return node.getChildAt(0).getWidth(); + } + private isInputAfterAccessor( node: NodeDeclaration, prevNode: NodeDeclaration, @@ -148,21 +191,6 @@ class TinkoffAngularMemberOrderingWalker extends AngularMemberOrderingWalker { return isNodeOutput && !isNodeAccessor && isPrevNodeNodeOutputAccessor; } - protected nodeWidth(node: NodeDeclaration): number { - const input = '@Input'; - const output = '@Output'; - - if (this.isInput(node)) { - return input.length; - } - - if (this.isOutput(node)) { - return output.length; - } - - return node.getChildAt(0).getWidth(); - } - private getNodeType(node: NodeDeclaration): string { return this.getNodeInfo(node, 'text'); } @@ -190,12 +218,30 @@ class TinkoffAngularMemberOrderingWalker extends AngularMemberOrderingWalker { nodeName = 'public'; } + if (this.isGetAccessor(node)) { + nodeName += '-getter'; + + return Rule.memberData[nodeName][field]; + } + + if (this.isSetAccessor(node)) { + nodeName += '-setter'; + + return Rule.memberData[nodeName][field]; + } + if (this.isIncludedModifier(node, ts.SyntaxKind.StaticKeyword)) { nodeName += '-static'; } else { nodeName += '-instance'; } + if (node.kind === ts.SyntaxKind.MethodDeclaration) { + nodeName += '-method'; + } else { + nodeName += '-field'; + } + return Rule.memberData[nodeName][field]; } @@ -240,9 +286,14 @@ class TinkoffAngularMemberOrderingWalker extends AngularMemberOrderingWalker { } private isAccessor(node: ts.Node | NodeDeclaration): boolean { - return ( - node.kind === ts.SyntaxKind.SetAccessor || - node.kind === ts.SyntaxKind.GetAccessor - ); + return this.isGetAccessor(node) || this.isSetAccessor(node); + } + + private isGetAccessor(node: ts.Node): boolean { + return node.kind === ts.SyntaxKind.GetAccessor; + } + + private isSetAccessor(node: ts.Node): boolean { + return node.kind === ts.SyntaxKind.SetAccessor; } } diff --git a/src/tinkoffConditionBreaksRule.ts b/src/tinkoffConditionBreaksRule.ts index 8242ff0..de01d2f 100644 --- a/src/tinkoffConditionBreaksRule.ts +++ b/src/tinkoffConditionBreaksRule.ts @@ -81,13 +81,6 @@ class ConditionalBreaksWalker extends Lint.RuleWalker { return node.getChildren().some(ConditionalBreaksWalker.checkChildren); } - private static checkChildren(node: ts.Node): boolean { - return ( - node.kind === ts.SyntaxKind.ConditionalExpression || - node.getChildren().some(ConditionalBreaksWalker.checkChildren) - ); - } - private getLineNumber(position: number): number { return ts.getLineAndCharacterOfPosition(this.getSourceFile(), position).line; } @@ -107,6 +100,13 @@ class ConditionalBreaksWalker extends Lint.RuleWalker { ); } + private static checkChildren(node: ts.Node): boolean { + return ( + node.kind === ts.SyntaxKind.ConditionalExpression || + node.getChildren().some(ConditionalBreaksWalker.checkChildren) + ); + } + private static getFixes(node: ts.ConditionalExpression): Replacement[] { const lineAndChar = ts.getLineAndCharacterOfPosition( node.getSourceFile(), diff --git a/src/utils.ts b/src/utils.ts index 6042080..6681f41 100644 --- a/src/utils.ts +++ b/src/utils.ts @@ -164,38 +164,86 @@ export abstract class NewLineRuleWalker extends AbstractWalker { // Angular member ordering rule export const defaultMemberData = { - 'public-static': { + 'public-static-field': { rank: 0, text: 'PUBLIC STATIC property', }, - 'protected-static': { + 'protected-static-field': { rank: 1, text: 'PROTECTED STATIC property', }, - 'private-static': { + 'private-static-field': { rank: 2, text: 'PRIVATE STATIC property', }, - '@Input': { + 'public-static-method': { rank: 3, + text: 'PUBLIC STATIC METHOD', + }, + 'protected-static-method': { + rank: 4, + text: 'PROTECTED STATIC METHOD', + }, + 'private-static-method': { + rank: 5, + text: 'PRIVATE STATIC METHOD', + }, + '@Input': { + rank: 6, text: '@Input', }, '@Output': { - rank: 4, + rank: 7, text: '@Output', }, - 'public-instance': { - rank: 5, + 'public-getter': { + rank: 8, + text: 'PUBLIC GETTER', + }, + 'public-setter': { + rank: 9, + text: 'PUBLIC SETTER', + }, + 'protected-getter': { + rank: 10, + text: 'PROTECTED GETTER', + }, + 'protected-setter': { + rank: 11, + text: 'PROTECTED SETTER', + }, + 'private-getter': { + rank: 12, + text: 'PRIVATE GETTER', + }, + 'private-setter': { + rank: 13, + text: 'PRIVATE SETTER', + }, + 'public-instance-field': { + rank: 14, text: 'PUBLIC INSTANCE property', }, - 'protected-instance': { - rank: 6, + 'protected-instance-field': { + rank: 15, text: 'PROTECTED INSTANCE property', }, - 'private-instance': { - rank: 7, + 'private-instance-field': { + rank: 16, text: 'PRIVATE INSTANCE property', }, + 'public-instance-method': { + rank: 17, + text: 'PUBLIC INSTANCE METHOD', + }, + 'protected-instance-method': { + rank: 18, + text: 'PROTECTED INSTANCE METHOD', + }, + 'private-instance-method': { + rank: 19, + text: 'PRIVATE INSTANCE METHOD', + }, }; type NodeDeclaration = diff --git a/test/rules/angular-member-ordering/test.ts.lint b/test/rules/angular-member-ordering/test.ts.lint index b6e8bcf..8931ff3 100644 --- a/test/rules/angular-member-ordering/test.ts.lint +++ b/test/rules/angular-member-ordering/test.ts.lint @@ -1,479 +1,2734 @@ // Right cases -class rightCases { - public static a = 'someString'; - @Input() a = 5; - @Output() a = 5; +class right-cases { + private a: string; + private static a: number = 5; + protected static a = 'someString'; + protected a; + public a: string; + static a = 'someString'; + @Input() a: number = 5; + @Output() a: string; + public get some() {return 1} + public set some() {return 2} + protected get some() {return 1} + protected set some() {return 2} + private get some() {return 1} + private set some() {return 2} + c(a: number): number {return a}; + public static a() {return 5}; + protected a() {return 5}; + protected static a() {return 5}; + private a() {return 5}; + private static b(): number {return 5}; +} + +class right-cases { + private a = 'someString'; + private static a = 'someString'; + protected static a = 'someString'; + protected a: number = 5; public a: number = 5; - protected static a: string; + static a = 'someString'; + @Input() a = 5; + @Output() a; + get some() {return 1} + set some() {return 2} + protected get some() {return 1} + protected set some() {return 2} + private get some() {return 1} + private set some() {return 2} + public b(): number {return 5}; + static a() {return 5}; + protected b(): number {return 5}; + protected static b(): number {return 5}; + private c(a: number): number {return a}; + private static a() {return 5}; +} + +class right-cases { + private a: string; + private static a = 'someString'; + protected static a = 'someString'; protected a: number = 5; + public a; + public static a = 'someString'; + @Input() a: number = 5; + @Output() a = 'someString'; + public get some() {return 1} + public set some() {return 2} + protected get some() {return 1} + protected set some() {return 2} + private get some() {return 1} + private set some() {return 2} + public b(): number {return 5}; + static b(): number {return 5}; + protected b(): number {return 5}; + protected static a() {return 5}; + private c(a: number): number {return a}; + private static b(): number {return 5}; +} + +// Wrong cases + +// Wrong cases for private-instance-field-fields +class failures { + private static a: string; + private a = 'someString'; + ~~~~~~~ [0] + + protected static a: string; + private a: number = 5; + ~~~~~~~ [1] + + protected a; + private a; + ~~~~~~~ [2] + + a; + private a: number = 5; + ~~~~~~~ [3] + + public static a: number = 5; + private a: string; + ~~~~~~~ [4] + + @Input() a: number = 5; + private a; + ~~~~~~~ [5] + + @Output() a = 'someString'; + private a; + ~~~~~~~ [6] + + public get some() {return 1} + private a = 5; + ~~~~~~~ [7] + + set some() {return 2} + private a; + ~~~~~~~ [8] + + protected get some() {return 1} + private a = 5; + ~~~~~~~ [9] + + protected set some() {return 2} + private a = 5; + ~~~~~~~ [10] + + private get some() {return 1} + private a: number = 5; + ~~~~~~~ [11] + + private set some() {return 2} + private a; + ~~~~~~~ [12] + + c(a: number): number {return a}; + private a; + ~~~~~~~ [13] + + static c(a: number): number {return a}; + private a = 5; + ~~~~~~~ [14] + + protected c(a: number): number {return a}; + private a: number = 5; + ~~~~~~~ [15] + + protected static a() {return 5}; + private a = 5; + ~~~~~~~ [16] + + private b(): number {return 5}; + private a = 'someString'; + ~~~~~~~ [17] + + private static a() {return 5}; + private a: number = 5; + ~~~~~~~ [18] + +} + +class failures { private static a = 5; + private a; + ~~~~~~~ [0] + + protected static a: string; + private a = 5; + ~~~~~~~ [1] + + protected a; + private a: string; + ~~~~~~~ [2] + + a = 'someString'; + private a: string; + ~~~~~~~ [3] + + public static a = 'someString'; + private a: string; + ~~~~~~~ [4] + + @Input() a = 'someString'; + private a: number = 5; + ~~~~~~~ [5] + + @Output() a: number = 5; + private a = 'someString'; + ~~~~~~~ [6] + + get some() {return 1} + private a = 'someString'; + ~~~~~~~ [7] + + public set some() {return 2} + private a: number = 5; + ~~~~~~~ [8] + + protected get some() {return 1} + private a: string; + ~~~~~~~ [9] + + protected set some() {return 2} + private a: number = 5; + ~~~~~~~ [10] + + private get some() {return 1} + private a: number = 5; + ~~~~~~~ [11] + + private set some() {return 2} + private a = 5; + ~~~~~~~ [12] + + public b(): number {return 5}; + private a; + ~~~~~~~ [13] + + public static b(): number {return 5}; + private a: number = 5; + ~~~~~~~ [14] + + protected c(a: number): number {return a}; + private a; + ~~~~~~~ [15] + + protected static b(): number {return 5}; + private a: number = 5; + ~~~~~~~ [16] + + private b(): number {return 5}; + private a: string; + ~~~~~~~ [17] + + private static a() {return 5}; + private a; + ~~~~~~~ [18] + +} + +class failures { + private static a; + private a = 'someString'; + ~~~~~~~ [0] + + protected static a: string; + private a: string; + ~~~~~~~ [1] + + protected a = 5; + private a = 'someString'; + ~~~~~~~ [2] + + public a; + private a: number = 5; + ~~~~~~~ [3] + + static a = 'someString'; + private a: string; + ~~~~~~~ [4] + + @Input() a: number = 5; + private a; + ~~~~~~~ [5] + + @Output() a = 'someString'; + private a; + ~~~~~~~ [6] + + get some() {return 1} + private a = 5; + ~~~~~~~ [7] + + public set some() {return 2} + private a = 'someString'; + ~~~~~~~ [8] + + protected get some() {return 1} + private a: number = 5; + ~~~~~~~ [9] + + protected set some() {return 2} private a: number = 5; + ~~~~~~~ [10] + + private get some() {return 1} + private a: string; + ~~~~~~~ [11] + + private set some() {return 2} + private a; + ~~~~~~~ [12] + + a() {return 5}; + private a = 5; + ~~~~~~~ [13] + + static a() {return 5}; + private a = 'someString'; + ~~~~~~~ [14] + + protected c(a: number): number {return a}; + private a = 'someString'; + ~~~~~~~ [15] + + protected static b(): number {return 5}; + private a; + ~~~~~~~ [16] + + private b(): number {return 5}; + private a = 'someString'; + ~~~~~~~ [17] + + private static a() {return 5}; + private a: string; + ~~~~~~~ [18] + +} + +// Wrong cases for private-static-field-fields +class failures { + protected static a: number = 5; + private static a = 5; + ~~~~~~~~~~~~~~ [19] + + protected a; + private static a; + ~~~~~~~~~~~~~~ [20] + + public a: string; + private static a: number = 5; + ~~~~~~~~~~~~~~ [21] + + static a = 5; + private static a: number = 5; + ~~~~~~~~~~~~~~ [22] + + @Input() a: string; + private static a: string; + ~~~~~~~~~~~~~~ [23] + + @Output() a: number = 5; + private static a; + ~~~~~~~~~~~~~~ [24] + + get some() {return 1} + private static a: number = 5; + ~~~~~~~~~~~~~~ [25] + + set some() {return 2} + private static a = 'someString'; + ~~~~~~~~~~~~~~ [26] + + protected get some() {return 1} + private static a = 'someString'; + ~~~~~~~~~~~~~~ [27] + + protected set some() {return 2} + private static a: number = 5; + ~~~~~~~~~~~~~~ [28] + + private get some() {return 1} + private static a = 'someString'; + ~~~~~~~~~~~~~~ [29] + + private set some() {return 2} + private static a: string; + ~~~~~~~~~~~~~~ [30] + + c(a: number): number {return a}; + private static a: string; + ~~~~~~~~~~~~~~ [31] + + static b(): number {return 5}; + private static a = 'someString'; + ~~~~~~~~~~~~~~ [32] + + protected c(a: number): number {return a}; + private static a = 'someString'; + ~~~~~~~~~~~~~~ [33] + + protected static a() {return 5}; + private static a: number = 5; + ~~~~~~~~~~~~~~ [34] + + private c(a: number): number {return a}; + private static a: string; + ~~~~~~~~~~~~~~ [35] + + private static a() {return 5}; + private static a = 5; + ~~~~~~~~~~~~~~ [36] + +} + +class failures { + protected static a: number = 5; + private static a = 5; + ~~~~~~~~~~~~~~ [19] + + protected a: number = 5; + private static a: number = 5; + ~~~~~~~~~~~~~~ [20] + + public a: number = 5; + private static a: number = 5; + ~~~~~~~~~~~~~~ [21] + + static a: string; + private static a: number = 5; + ~~~~~~~~~~~~~~ [22] + + @Input() a; + private static a = 'someString'; + ~~~~~~~~~~~~~~ [23] + + @Output() a: number = 5; + private static a; + ~~~~~~~~~~~~~~ [24] + + get some() {return 1} + private static a; + ~~~~~~~~~~~~~~ [25] + + public set some() {return 2} + private static a: number = 5; + ~~~~~~~~~~~~~~ [26] + + protected get some() {return 1} + private static a; + ~~~~~~~~~~~~~~ [27] + + protected set some() {return 2} + private static a: string; + ~~~~~~~~~~~~~~ [28] + + private get some() {return 1} + private static a = 'someString'; + ~~~~~~~~~~~~~~ [29] + + private set some() {return 2} + private static a = 5; + ~~~~~~~~~~~~~~ [30] + + c(a: number): number {return a}; + private static a: string; + ~~~~~~~~~~~~~~ [31] + + static a() {return 5}; + private static a = 5; + ~~~~~~~~~~~~~~ [32] + + protected a() {return 5}; + private static a: number = 5; + ~~~~~~~~~~~~~~ [33] + + protected static c(a: number): number {return a}; + private static a = 5; + ~~~~~~~~~~~~~~ [34] + + private a() {return 5}; + private static a = 5; + ~~~~~~~~~~~~~~ [35] + + private static a() {return 5}; + private static a; + ~~~~~~~~~~~~~~ [36] + +} + +class failures { + protected static a: number = 5; + private static a; + ~~~~~~~~~~~~~~ [19] + + protected a = 5; + private static a = 5; + ~~~~~~~~~~~~~~ [20] + + public a: number = 5; + private static a = 'someString'; + ~~~~~~~~~~~~~~ [21] + + public static a: number = 5; + private static a = 'someString'; + ~~~~~~~~~~~~~~ [22] + + @Input() a: string; + private static a: number = 5; + ~~~~~~~~~~~~~~ [23] + + @Output() a: string; + private static a = 5; + ~~~~~~~~~~~~~~ [24] + + public get some() {return 1} + private static a: number = 5; + ~~~~~~~~~~~~~~ [25] + + set some() {return 2} + private static a; + ~~~~~~~~~~~~~~ [26] + + protected get some() {return 1} + private static a = 'someString'; + ~~~~~~~~~~~~~~ [27] + + protected set some() {return 2} + private static a: number = 5; + ~~~~~~~~~~~~~~ [28] + + private get some() {return 1} + private static a: number = 5; + ~~~~~~~~~~~~~~ [29] + + private set some() {return 2} + private static a = 'someString'; + ~~~~~~~~~~~~~~ [30] + + a() {return 5}; + private static a; + ~~~~~~~~~~~~~~ [31] + + static c(a: number): number {return a}; + private static a = 'someString'; + ~~~~~~~~~~~~~~ [32] + + protected b(): number {return 5}; + private static a: string; + ~~~~~~~~~~~~~~ [33] + + protected static a() {return 5}; + private static a: number = 5; + ~~~~~~~~~~~~~~ [34] + + private c(a: number): number {return a}; + private static a: number = 5; + ~~~~~~~~~~~~~~ [35] + + private static a() {return 5}; + private static a = 5; + ~~~~~~~~~~~~~~ [36] + +} + +// Wrong cases for protected-static-field-fields +class failures { + protected a: string; + protected static a; + ~~~~~~~~~~~~~~~~ [37] + + public a = 5; + protected static a = 5; + ~~~~~~~~~~~~~~~~ [38] + + public static a; + protected static a: number = 5; + ~~~~~~~~~~~~~~~~ [39] + + @Input() a = 5; + protected static a = 5; + ~~~~~~~~~~~~~~~~ [40] + + @Output() a = 'someString'; + protected static a: number = 5; + ~~~~~~~~~~~~~~~~ [41] + + public get some() {return 1} + protected static a = 'someString'; + ~~~~~~~~~~~~~~~~ [42] + + public set some() {return 2} + protected static a: string; + ~~~~~~~~~~~~~~~~ [43] + + protected get some() {return 1} + protected static a: string; + ~~~~~~~~~~~~~~~~ [44] + + protected set some() {return 2} + protected static a = 'someString'; + ~~~~~~~~~~~~~~~~ [45] + + private get some() {return 1} + protected static a = 5; + ~~~~~~~~~~~~~~~~ [46] + + private set some() {return 2} + protected static a: string; + ~~~~~~~~~~~~~~~~ [47] + + public b(): number {return 5}; + protected static a: number = 5; + ~~~~~~~~~~~~~~~~ [48] + + static b(): number {return 5}; + protected static a: string; + ~~~~~~~~~~~~~~~~ [49] + + protected c(a: number): number {return a}; + protected static a: number = 5; + ~~~~~~~~~~~~~~~~ [50] + + protected static c(a: number): number {return a}; + protected static a: string; + ~~~~~~~~~~~~~~~~ [51] + + private b(): number {return 5}; + protected static a = 'someString'; + ~~~~~~~~~~~~~~~~ [52] + + private static a() {return 5}; + protected static a; + ~~~~~~~~~~~~~~~~ [53] + +} + +class failures { + protected a = 'someString'; + protected static a: string; + ~~~~~~~~~~~~~~~~ [37] + + a = 5; + protected static a: string; + ~~~~~~~~~~~~~~~~ [38] + + static a: string; + protected static a: number = 5; + ~~~~~~~~~~~~~~~~ [39] + + @Input() a: number = 5; + protected static a; + ~~~~~~~~~~~~~~~~ [40] + + @Output() a = 'someString'; + protected static a: number = 5; + ~~~~~~~~~~~~~~~~ [41] + + get some() {return 1} + protected static a = 5; + ~~~~~~~~~~~~~~~~ [42] + + public set some() {return 2} + protected static a; + ~~~~~~~~~~~~~~~~ [43] + + protected get some() {return 1} + protected static a = 'someString'; + ~~~~~~~~~~~~~~~~ [44] + + protected set some() {return 2} + protected static a = 5; + ~~~~~~~~~~~~~~~~ [45] + + private get some() {return 1} + protected static a; + ~~~~~~~~~~~~~~~~ [46] + + private set some() {return 2} + protected static a = 'someString'; + ~~~~~~~~~~~~~~~~ [47] + + c(a: number): number {return a}; + protected static a = 'someString'; + ~~~~~~~~~~~~~~~~ [48] + + public static a() {return 5}; + protected static a: number = 5; + ~~~~~~~~~~~~~~~~ [49] + + protected c(a: number): number {return a}; + protected static a; + ~~~~~~~~~~~~~~~~ [50] + + protected static b(): number {return 5}; + protected static a: number = 5; + ~~~~~~~~~~~~~~~~ [51] + + private a() {return 5}; + protected static a = 'someString'; + ~~~~~~~~~~~~~~~~ [52] + + private static c(a: number): number {return a}; + protected static a: number = 5; + ~~~~~~~~~~~~~~~~ [53] + +} + +class failures { + protected a: string; + protected static a: string; + ~~~~~~~~~~~~~~~~ [37] + + public a: number = 5; + protected static a: string; + ~~~~~~~~~~~~~~~~ [38] + + public static a = 5; + protected static a: string; + ~~~~~~~~~~~~~~~~ [39] + + @Input() a: string; + protected static a: string; + ~~~~~~~~~~~~~~~~ [40] + + @Output() a; + protected static a: string; + ~~~~~~~~~~~~~~~~ [41] + + get some() {return 1} + protected static a = 5; + ~~~~~~~~~~~~~~~~ [42] + + public set some() {return 2} + protected static a = 5; + ~~~~~~~~~~~~~~~~ [43] + + protected get some() {return 1} + protected static a; + ~~~~~~~~~~~~~~~~ [44] + + protected set some() {return 2} + protected static a = 5; + ~~~~~~~~~~~~~~~~ [45] + + private get some() {return 1} + protected static a = 5; + ~~~~~~~~~~~~~~~~ [46] + + private set some() {return 2} + protected static a = 5; + ~~~~~~~~~~~~~~~~ [47] + + public c(a: number): number {return a}; + protected static a = 5; + ~~~~~~~~~~~~~~~~ [48] + + static c(a: number): number {return a}; + protected static a: string; + ~~~~~~~~~~~~~~~~ [49] + + protected b(): number {return 5}; + protected static a: number = 5; + ~~~~~~~~~~~~~~~~ [50] + + protected static a() {return 5}; + protected static a = 'someString'; + ~~~~~~~~~~~~~~~~ [51] + + private b(): number {return 5}; + protected static a; + ~~~~~~~~~~~~~~~~ [52] + + private static c(a: number): number {return a}; + protected static a = 'someString'; + ~~~~~~~~~~~~~~~~ [53] + +} + +// Wrong cases for protected-instance-field-fields +class failures { + public a: number = 5; + protected a: number = 5; + ~~~~~~~~~ [54] + + public static a: number = 5; + protected a = 5; + ~~~~~~~~~ [55] + + @Input() a = 'someString'; + protected a = 'someString'; + ~~~~~~~~~ [56] + + @Output() a = 'someString'; + protected a = 5; + ~~~~~~~~~ [57] + + get some() {return 1} + protected a = 5; + ~~~~~~~~~ [58] + + set some() {return 2} + protected a = 'someString'; + ~~~~~~~~~ [59] + + protected get some() {return 1} + protected a: string; + ~~~~~~~~~ [60] + + protected set some() {return 2} + protected a = 'someString'; + ~~~~~~~~~ [61] + + private get some() {return 1} + protected a = 5; + ~~~~~~~~~ [62] + + private set some() {return 2} + protected a = 'someString'; + ~~~~~~~~~ [63] + + public c(a: number): number {return a}; + protected a: string; + ~~~~~~~~~ [64] + + public static a() {return 5}; + protected a: string; + ~~~~~~~~~ [65] + + protected b(): number {return 5}; + protected a = 'someString'; + ~~~~~~~~~ [66] + + protected static c(a: number): number {return a}; + protected a = 'someString'; + ~~~~~~~~~ [67] + + private b(): number {return 5}; + protected a: number = 5; + ~~~~~~~~~ [68] + + private static a() {return 5}; + protected a = 5; + ~~~~~~~~~ [69] + +} + +class failures { + public a; + protected a: string; + ~~~~~~~~~ [54] + + static a; + protected a = 5; + ~~~~~~~~~ [55] + + @Input() a: string; + protected a = 'someString'; + ~~~~~~~~~ [56] + + @Output() a = 5; + protected a: number = 5; + ~~~~~~~~~ [57] + + public get some() {return 1} + protected a = 5; + ~~~~~~~~~ [58] + + set some() {return 2} + protected a; + ~~~~~~~~~ [59] + + protected get some() {return 1} + protected a: string; + ~~~~~~~~~ [60] + + protected set some() {return 2} + protected a; + ~~~~~~~~~ [61] + + private get some() {return 1} + protected a = 'someString'; + ~~~~~~~~~ [62] + + private set some() {return 2} + protected a: string; + ~~~~~~~~~ [63] + + b(): number {return 5}; + protected a: number = 5; + ~~~~~~~~~ [64] + + static b(): number {return 5}; + protected a; + ~~~~~~~~~ [65] + + protected a() {return 5}; + protected a = 'someString'; + ~~~~~~~~~ [66] + + protected static b(): number {return 5}; + protected a = 5; + ~~~~~~~~~ [67] + + private a() {return 5}; + protected a = 'someString'; + ~~~~~~~~~ [68] + + private static c(a: number): number {return a}; + protected a: string; + ~~~~~~~~~ [69] + +} + +class failures { + public a; + protected a: number = 5; + ~~~~~~~~~ [54] + + public static a; + protected a = 'someString'; + ~~~~~~~~~ [55] + + @Input() a = 5; + protected a; + ~~~~~~~~~ [56] + + @Output() a: number = 5; + protected a: number = 5; + ~~~~~~~~~ [57] + + get some() {return 1} + protected a: string; + ~~~~~~~~~ [58] + + public set some() {return 2} + protected a: number = 5; + ~~~~~~~~~ [59] + + protected get some() {return 1} + protected a; + ~~~~~~~~~ [60] + + protected set some() {return 2} + protected a = 5; + ~~~~~~~~~ [61] + + private get some() {return 1} + protected a = 5; + ~~~~~~~~~ [62] + + private set some() {return 2} + protected a; + ~~~~~~~~~ [63] + + public a() {return 5}; + protected a: string; + ~~~~~~~~~ [64] + + static c(a: number): number {return a}; + protected a: string; + ~~~~~~~~~ [65] + + protected b(): number {return 5}; + protected a: number = 5; + ~~~~~~~~~ [66] + + protected static a() {return 5}; + protected a: number = 5; + ~~~~~~~~~ [67] + + private b(): number {return 5}; + protected a: number = 5; + ~~~~~~~~~ [68] + + private static c(a: number): number {return a}; + protected a: string; + ~~~~~~~~~ [69] + +} + +// Wrong cases for public-instance-field-fields +class failures { + public static a = 'someString'; + a: string; + ~ [70] + + @Input() a = 'someString'; + public a: string; + ~~~~~~ [71] + + @Output() a: string; + a; + ~ [72] + + public get some() {return 1} + a = 'someString'; + ~ [73] + + set some() {return 2} + public a: number = 5; + ~~~~~~ [74] + + protected get some() {return 1} + a: string; + ~ [75] + + protected set some() {return 2} + public a: number = 5; + ~~~~~~ [76] + + private get some() {return 1} + a: string; + ~ [77] + + private set some() {return 2} + public a: string; + ~~~~~~ [78] + + c(a: number): number {return a}; + a: number = 5; + ~ [79] + + static c(a: number): number {return a}; + a: number = 5; + ~ [80] + + protected a() {return 5}; + a; + ~ [81] + + protected static a() {return 5}; + a: number = 5; + ~ [82] + + private c(a: number): number {return a}; + a = 5; + ~ [83] + + private static b(): number {return 5}; + a = 5; + ~ [84] + +} + +class failures { + static a: number = 5; + public a = 5; + ~~~~~~ [70] + + @Input() a; + a = 5; + ~ [71] + + @Output() a; + public a = 5; + ~~~~~~ [72] + + get some() {return 1} + public a = 5; + ~~~~~~ [73] + + set some() {return 2} + public a = 5; + ~~~~~~ [74] + + protected get some() {return 1} + public a = 'someString'; + ~~~~~~ [75] + + protected set some() {return 2} + public a = 'someString'; + ~~~~~~ [76] + + private get some() {return 1} + public a = 5; + ~~~~~~ [77] + + private set some() {return 2} + a = 5; + ~ [78] + + public a() {return 5}; + public a; + ~~~~~~ [79] + + static b(): number {return 5}; + public a = 5; + ~~~~~~ [80] + + protected c(a: number): number {return a}; + public a: number = 5; + ~~~~~~ [81] + + protected static b(): number {return 5}; + public a = 5; + ~~~~~~ [82] + + private b(): number {return 5}; + a = 5; + ~ [83] + + private static a() {return 5}; + public a: string; + ~~~~~~ [84] + +} + +class failures { + static a: string; + a: string; + ~ [70] + + @Input() a = 'someString'; + a = 5; + ~ [71] + + @Output() a: string; + a = 5; + ~ [72] + + public get some() {return 1} + a: string; + ~ [73] + + set some() {return 2} + public a: number = 5; + ~~~~~~ [74] + + protected get some() {return 1} + public a; + ~~~~~~ [75] + + protected set some() {return 2} + public a = 5; + ~~~~~~ [76] + + private get some() {return 1} + public a = 5; + ~~~~~~ [77] + + private set some() {return 2} + a = 'someString'; + ~ [78] + + public b(): number {return 5}; + public a: string; + ~~~~~~ [79] + + static c(a: number): number {return a}; + public a; + ~~~~~~ [80] + + protected b(): number {return 5}; + public a: number = 5; + ~~~~~~ [81] + + protected static c(a: number): number {return a}; + a = 'someString'; + ~ [82] + + private a() {return 5}; + public a = 'someString'; + ~~~~~~ [83] + + private static a() {return 5}; + public a = 5; + ~~~~~~ [84] + +} + +// Wrong cases for public-static-field-fields +class failures { + @Input() a = 'someString'; + public static a = 5; + ~~~~~~~~~~~~~ [85] + + @Output() a: number = 5; + static a = 5; + ~~~~~~ [86] + + get some() {return 1} + static a: number = 5; + ~~~~~~ [87] + + public set some() {return 2} + public static a; + ~~~~~~~~~~~~~ [88] + + protected get some() {return 1} + static a = 5; + ~~~~~~ [89] + + protected set some() {return 2} + static a; + ~~~~~~ [90] + + private get some() {return 1} + static a = 'someString'; + ~~~~~~ [91] + + private set some() {return 2} + static a = 'someString'; + ~~~~~~ [92] + + c(a: number): number {return a}; + public static a: string; + ~~~~~~~~~~~~~ [93] + + public static b(): number {return 5}; + static a: string; + ~~~~~~ [94] + + protected b(): number {return 5}; + public static a: string; + ~~~~~~~~~~~~~ [95] + + protected static b(): number {return 5}; + static a: string; + ~~~~~~ [96] + + private a() {return 5}; + public static a: string; + ~~~~~~~~~~~~~ [97] + + private static a() {return 5}; + public static a: number = 5; + ~~~~~~~~~~~~~ [98] + +} + +class failures { + @Input() a = 'someString'; + static a = 5; + ~~~~~~ [85] + + @Output() a: number = 5; + public static a: string; + ~~~~~~~~~~~~~ [86] + + get some() {return 1} + static a: number = 5; + ~~~~~~ [87] + + public set some() {return 2} + public static a: string; + ~~~~~~~~~~~~~ [88] + + protected get some() {return 1} + public static a = 5; + ~~~~~~~~~~~~~ [89] + + protected set some() {return 2} + static a = 5; + ~~~~~~ [90] + + private get some() {return 1} + static a: number = 5; + ~~~~~~ [91] + + private set some() {return 2} + static a = 5; + ~~~~~~ [92] + + public b(): number {return 5}; + public static a = 'someString'; + ~~~~~~~~~~~~~ [93] + + public static b(): number {return 5}; + public static a: string; + ~~~~~~~~~~~~~ [94] + + protected b(): number {return 5}; + static a; + ~~~~~~ [95] + + protected static a() {return 5}; + static a: number = 5; + ~~~~~~ [96] + + private b(): number {return 5}; + static a = 5; + ~~~~~~ [97] + + private static a() {return 5}; + static a = 5; + ~~~~~~ [98] + +} + +class failures { + @Input() a: string; + public static a: number = 5; + ~~~~~~~~~~~~~ [85] + + @Output() a: string; + static a; + ~~~~~~ [86] + + public get some() {return 1} + static a: number = 5; + ~~~~~~ [87] + + set some() {return 2} + public static a = 5; + ~~~~~~~~~~~~~ [88] + + protected get some() {return 1} + static a; + ~~~~~~ [89] + + protected set some() {return 2} + public static a; + ~~~~~~~~~~~~~ [90] + + private get some() {return 1} + public static a = 'someString'; + ~~~~~~~~~~~~~ [91] + + private set some() {return 2} + static a: string; + ~~~~~~ [92] + + a() {return 5}; + static a: string; + ~~~~~~ [93] + + public static c(a: number): number {return a}; + public static a: string; + ~~~~~~~~~~~~~ [94] + + protected a() {return 5}; + static a: number = 5; + ~~~~~~ [95] + + protected static b(): number {return 5}; + public static a = 5; + ~~~~~~~~~~~~~ [96] + + private a() {return 5}; + static a; + ~~~~~~ [97] + + private static b(): number {return 5}; + public static a: string; + ~~~~~~~~~~~~~ [98] + +} + +// Wrong cases for @Input-fields +class failures { + @Output() a: number = 5; + @Input() a; + ~~~~~~ [99] + + get some() {return 1} + @Input() a = 5; + ~~~~~~ [100] + + set some() {return 2} + @Input() a = 'someString'; + ~~~~~~ [101] + + protected get some() {return 1} + @Input() a = 'someString'; + ~~~~~~ [102] + + protected set some() {return 2} + @Input() a; + ~~~~~~ [103] + + private get some() {return 1} + @Input() a: string; + ~~~~~~ [104] + + private set some() {return 2} + @Input() a: string; + ~~~~~~ [105] + + public a() {return 5}; + @Input() a: string; + ~~~~~~ [106] + + static c(a: number): number {return a}; + @Input() a: string; + ~~~~~~ [107] + + protected b(): number {return 5}; + @Input() a = 'someString'; + ~~~~~~ [108] + + protected static b(): number {return 5}; + @Input() a: number = 5; + ~~~~~~ [109] + + private a() {return 5}; + @Input() a = 'someString'; + ~~~~~~ [110] + + private static b(): number {return 5}; + @Input() a: number = 5; + ~~~~~~ [111] + +} + +class failures { + @Output() a: number = 5; + @Input() a: string; + ~~~~~~ [99] + + public get some() {return 1} + @Input() a: string; + ~~~~~~ [100] + + set some() {return 2} + @Input() a = 5; + ~~~~~~ [101] + + protected get some() {return 1} + @Input() a; + ~~~~~~ [102] + + protected set some() {return 2} + @Input() a: number = 5; + ~~~~~~ [103] + + private get some() {return 1} + @Input() a = 5; + ~~~~~~ [104] + + private set some() {return 2} + @Input() a = 'someString'; + ~~~~~~ [105] + + b(): number {return 5}; + @Input() a = 'someString'; + ~~~~~~ [106] + + public static c(a: number): number {return a}; + @Input() a = 'someString'; + ~~~~~~ [107] + + protected a() {return 5}; + @Input() a = 5; + ~~~~~~ [108] + + protected static c(a: number): number {return a}; + @Input() a = 5; + ~~~~~~ [109] + + private c(a: number): number {return a}; + @Input() a: number = 5; + ~~~~~~ [110] + + private static b(): number {return 5}; + @Input() a: string; + ~~~~~~ [111] + +} + +class failures { + @Output() a: number = 5; + @Input() a = 'someString'; + ~~~~~~ [99] + + get some() {return 1} + @Input() a: number = 5; + ~~~~~~ [100] + + set some() {return 2} + @Input() a: number = 5; + ~~~~~~ [101] + + protected get some() {return 1} + @Input() a: string; + ~~~~~~ [102] + + protected set some() {return 2} + @Input() a: string; + ~~~~~~ [103] + + private get some() {return 1} + @Input() a: number = 5; + ~~~~~~ [104] + + private set some() {return 2} + @Input() a = 5; + ~~~~~~ [105] + + public c(a: number): number {return a}; + @Input() a: number = 5; + ~~~~~~ [106] + + public static a() {return 5}; + @Input() a = 5; + ~~~~~~ [107] + + protected c(a: number): number {return a}; + @Input() a; + ~~~~~~ [108] + + protected static c(a: number): number {return a}; + @Input() a: string; + ~~~~~~ [109] + + private b(): number {return 5}; + @Input() a: string; + ~~~~~~ [110] + + private static c(a: number): number {return a}; + @Input() a: number = 5; + ~~~~~~ [111] + +} + +// Wrong cases for @Output-fields +class failures { + get some() {return 1} + @Output() a; + ~~~~~~~ [112] + + public set some() {return 2} + @Output() a = 5; + ~~~~~~~ [113] + + protected get some() {return 1} + @Output() a: string; + ~~~~~~~ [114] + + protected set some() {return 2} + @Output() a: number = 5; + ~~~~~~~ [115] + + private get some() {return 1} + @Output() a: string; + ~~~~~~~ [116] + + private set some() {return 2} + @Output() a = 'someString'; + ~~~~~~~ [117] + + c(a: number): number {return a}; + @Output() a = 'someString'; + ~~~~~~~ [118] + + public static b(): number {return 5}; + @Output() a; + ~~~~~~~ [119] + + protected b(): number {return 5}; + @Output() a = 5; + ~~~~~~~ [120] + + protected static c(a: number): number {return a}; + @Output() a = 5; + ~~~~~~~ [121] + + private a() {return 5}; + @Output() a = 5; + ~~~~~~~ [122] + + private static c(a: number): number {return a}; + @Output() a = 'someString'; + ~~~~~~~ [123] + +} + +class failures { + get some() {return 1} + @Output() a; + ~~~~~~~ [112] + + public set some() {return 2} + @Output() a; + ~~~~~~~ [113] + + protected get some() {return 1} + @Output() a; + ~~~~~~~ [114] + + protected set some() {return 2} + @Output() a: string; + ~~~~~~~ [115] + + private get some() {return 1} + @Output() a: string; + ~~~~~~~ [116] + + private set some() {return 2} + @Output() a; + ~~~~~~~ [117] + + public a() {return 5}; + @Output() a = 'someString'; + ~~~~~~~ [118] + + public static c(a: number): number {return a}; + @Output() a: string; + ~~~~~~~ [119] + + protected a() {return 5}; + @Output() a: string; + ~~~~~~~ [120] + + protected static b(): number {return 5}; + @Output() a; + ~~~~~~~ [121] + + private a() {return 5}; + @Output() a; + ~~~~~~~ [122] + + private static c(a: number): number {return a}; + @Output() a = 'someString'; + ~~~~~~~ [123] + +} + +class failures { + public get some() {return 1} + @Output() a; + ~~~~~~~ [112] + + set some() {return 2} + @Output() a = 'someString'; + ~~~~~~~ [113] + + protected get some() {return 1} + @Output() a = 5; + ~~~~~~~ [114] + + protected set some() {return 2} + @Output() a: number = 5; + ~~~~~~~ [115] + + private get some() {return 1} + @Output() a: string; + ~~~~~~~ [116] + + private set some() {return 2} + @Output() a = 'someString'; + ~~~~~~~ [117] + + c(a: number): number {return a}; + @Output() a; + ~~~~~~~ [118] + + public static c(a: number): number {return a}; + @Output() a; + ~~~~~~~ [119] + + protected a() {return 5}; + @Output() a: string; + ~~~~~~~ [120] + + protected static a() {return 5}; + @Output() a: number = 5; + ~~~~~~~ [121] + + private a() {return 5}; + @Output() a = 'someString'; + ~~~~~~~ [122] + + private static c(a: number): number {return a}; + @Output() a = 5; + ~~~~~~~ [123] + +} + +// Wrong cases for public-getter-fields +class failures { + set some() {return 2} + get some() {return 1} + ~~~ [124] + + protected get some() {return 1} + get some() {return 1} + ~~~ [125] + + protected set some() {return 2} + public get some() {return 1} + ~~~~~~ [126] + + private get some() {return 1} + get some() {return 1} + ~~~ [127] + + private set some() {return 2} + public get some() {return 1} + ~~~~~~ [128] + + public a() {return 5}; + public get some() {return 1} + ~~~~~~ [129] + + public static a() {return 5}; + public get some() {return 1} + ~~~~~~ [130] + + protected a() {return 5}; + public get some() {return 1} + ~~~~~~ [131] + + protected static b(): number {return 5}; + get some() {return 1} + ~~~ [132] + + private b(): number {return 5}; + get some() {return 1} + ~~~ [133] + + private static c(a: number): number {return a}; + public get some() {return 1} + ~~~~~~ [134] + +} + +class failures { + set some() {return 2} + public get some() {return 1} + ~~~~~~ [124] + + protected get some() {return 1} + public get some() {return 1} + ~~~~~~ [125] + + protected set some() {return 2} + get some() {return 1} + ~~~ [126] + + private get some() {return 1} + public get some() {return 1} + ~~~~~~ [127] + + private set some() {return 2} + get some() {return 1} + ~~~ [128] + + c(a: number): number {return a}; + get some() {return 1} + ~~~ [129] + + public static b(): number {return 5}; + public get some() {return 1} + ~~~~~~ [130] + + protected b(): number {return 5}; + get some() {return 1} + ~~~ [131] + + protected static a() {return 5}; + get some() {return 1} + ~~~ [132] + + private a() {return 5}; + get some() {return 1} + ~~~ [133] + + private static c(a: number): number {return a}; + get some() {return 1} + ~~~ [134] + +} + +class failures { + set some() {return 2} + get some() {return 1} + ~~~ [124] + + protected get some() {return 1} + public get some() {return 1} + ~~~~~~ [125] + + protected set some() {return 2} + public get some() {return 1} + ~~~~~~ [126] + + private get some() {return 1} + public get some() {return 1} + ~~~~~~ [127] + + private set some() {return 2} + public get some() {return 1} + ~~~~~~ [128] + + public c(a: number): number {return a}; + get some() {return 1} + ~~~ [129] + + public static c(a: number): number {return a}; + get some() {return 1} + ~~~ [130] + + protected c(a: number): number {return a}; + get some() {return 1} + ~~~ [131] + + protected static c(a: number): number {return a}; + get some() {return 1} + ~~~ [132] + + private b(): number {return 5}; + get some() {return 1} + ~~~ [133] + + private static a() {return 5}; + public get some() {return 1} + ~~~~~~ [134] + +} + +// Wrong cases for public-setter-fields +class failures { + protected get some() {return 1} + set some() {return 2} + ~~~ [135] + + protected set some() {return 2} + set some() {return 2} + ~~~ [136] + + private get some() {return 1} + set some() {return 2} + ~~~ [137] + + private set some() {return 2} + public set some() {return 2} + ~~~~~~ [138] + + public c(a: number): number {return a}; + public set some() {return 2} + ~~~~~~ [139] + + static b(): number {return 5}; + set some() {return 2} + ~~~ [140] + + protected b(): number {return 5}; + set some() {return 2} + ~~~ [141] + + protected static b(): number {return 5}; + public set some() {return 2} + ~~~~~~ [142] + + private a() {return 5}; + public set some() {return 2} + ~~~~~~ [143] + + private static a() {return 5}; + public set some() {return 2} + ~~~~~~ [144] + +} + +class failures { + protected get some() {return 1} + set some() {return 2} + ~~~ [135] + + protected set some() {return 2} + set some() {return 2} + ~~~ [136] + + private get some() {return 1} + public set some() {return 2} + ~~~~~~ [137] + + private set some() {return 2} + set some() {return 2} + ~~~ [138] + + public a() {return 5}; + public set some() {return 2} + ~~~~~~ [139] + + public static b(): number {return 5}; + set some() {return 2} + ~~~ [140] + + protected a() {return 5}; + set some() {return 2} + ~~~ [141] + + protected static b(): number {return 5}; + set some() {return 2} + ~~~ [142] + + private c(a: number): number {return a}; + public set some() {return 2} + ~~~~~~ [143] + + private static b(): number {return 5}; + public set some() {return 2} + ~~~~~~ [144] + +} + +class failures { + protected get some() {return 1} + set some() {return 2} + ~~~ [135] + + protected set some() {return 2} + set some() {return 2} + ~~~ [136] + + private get some() {return 1} + set some() {return 2} + ~~~ [137] + + private set some() {return 2} + set some() {return 2} + ~~~ [138] + + public b(): number {return 5}; + set some() {return 2} + ~~~ [139] + + static b(): number {return 5}; + set some() {return 2} + ~~~ [140] + + protected c(a: number): number {return a}; + set some() {return 2} + ~~~ [141] + + protected static a() {return 5}; + set some() {return 2} + ~~~ [142] + + private b(): number {return 5}; + public set some() {return 2} + ~~~~~~ [143] + + private static c(a: number): number {return a}; + set some() {return 2} + ~~~ [144] + +} + +// Wrong cases for protected-getter-fields +class failures { + protected set some() {return 2} + protected get some() {return 1} + ~~~~~~~~~ [145] + + private get some() {return 1} + protected get some() {return 1} + ~~~~~~~~~ [146] + + private set some() {return 2} + protected get some() {return 1} + ~~~~~~~~~ [147] + + public c(a: number): number {return a}; + protected get some() {return 1} + ~~~~~~~~~ [148] + + static b(): number {return 5}; + protected get some() {return 1} + ~~~~~~~~~ [149] + + protected a() {return 5}; + protected get some() {return 1} + ~~~~~~~~~ [150] + + protected static b(): number {return 5}; + protected get some() {return 1} + ~~~~~~~~~ [151] + + private a() {return 5}; + protected get some() {return 1} + ~~~~~~~~~ [152] + + private static b(): number {return 5}; + protected get some() {return 1} + ~~~~~~~~~ [153] + } -class rightCases { - public static a: string; - @Input() a = 'someString'; - @Output() a; - public a = 'someString'; - protected static a = 'someString'; - protected a: string; - private static a; - private a; +class failures { + protected set some() {return 2} + protected get some() {return 1} + ~~~~~~~~~ [145] + + private get some() {return 1} + protected get some() {return 1} + ~~~~~~~~~ [146] + + private set some() {return 2} + protected get some() {return 1} + ~~~~~~~~~ [147] + + public a() {return 5}; + protected get some() {return 1} + ~~~~~~~~~ [148] + + static c(a: number): number {return a}; + protected get some() {return 1} + ~~~~~~~~~ [149] + + protected c(a: number): number {return a}; + protected get some() {return 1} + ~~~~~~~~~ [150] + + protected static c(a: number): number {return a}; + protected get some() {return 1} + ~~~~~~~~~ [151] + + private c(a: number): number {return a}; + protected get some() {return 1} + ~~~~~~~~~ [152] + + private static c(a: number): number {return a}; + protected get some() {return 1} + ~~~~~~~~~ [153] + } -class rightCases { - static a; - @Input() a: number = 5; - @Output() a: number = 5; - public a; - protected static a: number = 5; - protected a = 5; - private static a = 'someString'; - private a = 'someString'; +class failures { + protected set some() {return 2} + protected get some() {return 1} + ~~~~~~~~~ [145] + + private get some() {return 1} + protected get some() {return 1} + ~~~~~~~~~ [146] + + private set some() {return 2} + protected get some() {return 1} + ~~~~~~~~~ [147] + + b(): number {return 5}; + protected get some() {return 1} + ~~~~~~~~~ [148] + + static a() {return 5}; + protected get some() {return 1} + ~~~~~~~~~ [149] + + protected c(a: number): number {return a}; + protected get some() {return 1} + ~~~~~~~~~ [150] + + protected static b(): number {return 5}; + protected get some() {return 1} + ~~~~~~~~~ [151] + + private a() {return 5}; + protected get some() {return 1} + ~~~~~~~~~ [152] + + private static c(a: number): number {return a}; + protected get some() {return 1} + ~~~~~~~~~ [153] + } -// Wrong cases +// Wrong cases for protected-setter-fields +class failures { + private get some() {return 1} + protected set some() {return 2} + ~~~~~~~~~ [154] + + private set some() {return 2} + protected set some() {return 2} + ~~~~~~~~~ [155] + + public a() {return 5}; + protected set some() {return 2} + ~~~~~~~~~ [156] + + public static b(): number {return 5}; + protected set some() {return 2} + ~~~~~~~~~ [157] + + protected c(a: number): number {return a}; + protected set some() {return 2} + ~~~~~~~~~ [158] + + protected static a() {return 5}; + protected set some() {return 2} + ~~~~~~~~~ [159] + + private b(): number {return 5}; + protected set some() {return 2} + ~~~~~~~~~ [160] + + private static a() {return 5}; + protected set some() {return 2} + ~~~~~~~~~ [161] + +} -// Wrong cases for public-static-fields class failures { - @Input() a = 'someString'; - static a = 5; - ~~~~~~ [0] + private get some() {return 1} + protected set some() {return 2} + ~~~~~~~~~ [154] - @Output() a: string; - public static a: string; - ~~~~~~~~~~~~~ [1] + private set some() {return 2} + protected set some() {return 2} + ~~~~~~~~~ [155] - public a = 'someString'; - public static a = 'someString'; - ~~~~~~~~~~~~~ [2] + b(): number {return 5}; + protected set some() {return 2} + ~~~~~~~~~ [156] - protected static a = 'someString'; - public static a; - ~~~~~~~~~~~~~ [3] + public static c(a: number): number {return a}; + protected set some() {return 2} + ~~~~~~~~~ [157] - protected a = 5; - static a: string; - ~~~~~~ [4] + protected c(a: number): number {return a}; + protected set some() {return 2} + ~~~~~~~~~ [158] - private static a = 'someString'; - static a: string; - ~~~~~~ [5] + protected static c(a: number): number {return a}; + protected set some() {return 2} + ~~~~~~~~~ [159] - private a: number = 5; - public static a; - ~~~~~~~~~~~~~ [6] + private c(a: number): number {return a}; + protected set some() {return 2} + ~~~~~~~~~ [160] + + private static b(): number {return 5}; + protected set some() {return 2} + ~~~~~~~~~ [161] } class failures { - @Input() a: string; - public static a = 'someString'; - ~~~~~~~~~~~~~ [0] + private get some() {return 1} + protected set some() {return 2} + ~~~~~~~~~ [154] - @Output() a: string; - public static a = 'someString'; - ~~~~~~~~~~~~~ [1] + private set some() {return 2} + protected set some() {return 2} + ~~~~~~~~~ [155] - a: number = 5; - static a: string; - ~~~~~~ [2] + public a() {return 5}; + protected set some() {return 2} + ~~~~~~~~~ [156] - protected static a: string; - public static a: string; - ~~~~~~~~~~~~~ [3] + static c(a: number): number {return a}; + protected set some() {return 2} + ~~~~~~~~~ [157] - protected a: string; - public static a; - ~~~~~~~~~~~~~ [4] + protected c(a: number): number {return a}; + protected set some() {return 2} + ~~~~~~~~~ [158] - private static a: number = 5; - static a: string; - ~~~~~~ [5] + protected static b(): number {return 5}; + protected set some() {return 2} + ~~~~~~~~~ [159] - private a: number = 5; - static a: number = 5; - ~~~~~~ [6] + private b(): number {return 5}; + protected set some() {return 2} + ~~~~~~~~~ [160] + + private static a() {return 5}; + protected set some() {return 2} + ~~~~~~~~~ [161] } +// Wrong cases for private-getter-fields class failures { - @Input() a: number = 5; - static a: number = 5; - ~~~~~~ [0] + private set some() {return 2} + private get some() {return 1} + ~~~~~~~ [162] - @Output() a = 5; - public static a; - ~~~~~~~~~~~~~ [1] + a() {return 5}; + private get some() {return 1} + ~~~~~~~ [163] - public a = 'someString'; - static a: number = 5; - ~~~~~~ [2] + public static a() {return 5}; + private get some() {return 1} + ~~~~~~~ [164] - protected static a = 5; - static a: number = 5; - ~~~~~~ [3] + protected b(): number {return 5}; + private get some() {return 1} + ~~~~~~~ [165] - protected a; - public static a; - ~~~~~~~~~~~~~ [4] + protected static c(a: number): number {return a}; + private get some() {return 1} + ~~~~~~~ [166] - private static a: string; - public static a: number = 5; - ~~~~~~~~~~~~~ [5] + private b(): number {return 5}; + private get some() {return 1} + ~~~~~~~ [167] - private a: string; - static a: string; - ~~~~~~ [6] + private static b(): number {return 5}; + private get some() {return 1} + ~~~~~~~ [168] } -// Wrong cases for @Input-fields class failures { - @Output() a = 'someString'; - @Input() a = 'someString'; - ~~~~~~ [7] + private set some() {return 2} + private get some() {return 1} + ~~~~~~~ [162] - a: number = 5; - @Input() a = 'someString'; - ~~~~~~ [8] + public a() {return 5}; + private get some() {return 1} + ~~~~~~~ [163] - protected static a = 'someString'; - @Input() a = 'someString'; - ~~~~~~ [9] + static a() {return 5}; + private get some() {return 1} + ~~~~~~~ [164] - protected a = 5; - @Input() a = 'someString'; - ~~~~~~ [10] + protected c(a: number): number {return a}; + private get some() {return 1} + ~~~~~~~ [165] - private static a: number = 5; - @Input() a = 5; - ~~~~~~ [11] + protected static a() {return 5}; + private get some() {return 1} + ~~~~~~~ [166] - private a: string; - @Input() a: number = 5; - ~~~~~~ [12] + private a() {return 5}; + private get some() {return 1} + ~~~~~~~ [167] + + private static b(): number {return 5}; + private get some() {return 1} + ~~~~~~~ [168] } class failures { - @Output() a = 'someString'; - @Input() a; - ~~~~~~ [7] + private set some() {return 2} + private get some() {return 1} + ~~~~~~~ [162] - public a = 5; + a() {return 5}; + private get some() {return 1} + ~~~~~~~ [163] - /* big - comment - */ + static a() {return 5}; + private get some() {return 1} + ~~~~~~~ [164] - @Input() a: string; - ~~~~~~ [8] + protected c(a: number): number {return a}; + private get some() {return 1} + ~~~~~~~ [165] - protected static a = 5; - @Input() a = 'someString'; - ~~~~~~ [9] + protected static a() {return 5}; + private get some() {return 1} + ~~~~~~~ [166] - protected a: string; - @Input() a: number = 5; - ~~~~~~ [10] + private a() {return 5}; + private get some() {return 1} + ~~~~~~~ [167] - private static a; - @Input() a; - ~~~~~~ [11] + private static c(a: number): number {return a}; + private get some() {return 1} + ~~~~~~~ [168] - private a = 'someString'; - @Input() a; - ~~~~~~ [12] +} + +// Wrong cases for private-setter-fields +class failures { + a() {return 5}; + private set some() {return 2} + ~~~~~~~ [169] + + static a() {return 5}; + private set some() {return 2} + ~~~~~~~ [170] + + protected b(): number {return 5}; + private set some() {return 2} + ~~~~~~~ [171] + + protected static a() {return 5}; + private set some() {return 2} + ~~~~~~~ [172] + + private b(): number {return 5}; + private set some() {return 2} + ~~~~~~~ [173] + + private static c(a: number): number {return a}; + private set some() {return 2} + ~~~~~~~ [174] } class failures { - @Output() a: number = 5; - @Input() a: number = 5; - ~~~~~~ [7] + a() {return 5}; + private set some() {return 2} + ~~~~~~~ [169] - a; - @Input() a = 'someString'; - ~~~~~~ [8] + static c(a: number): number {return a}; + private set some() {return 2} + ~~~~~~~ [170] - protected static a; - @Input() a: number = 5; - ~~~~~~ [9] + protected c(a: number): number {return a}; + private set some() {return 2} + ~~~~~~~ [171] - protected a: string; - @Input() a: number = 5; - ~~~~~~ [10] + protected static a() {return 5}; + private set some() {return 2} + ~~~~~~~ [172] - private static a: string; - @Input() a: number = 5; - ~~~~~~ [11] + private b(): number {return 5}; + private set some() {return 2} + ~~~~~~~ [173] - private a: number = 5; - @Input() a: string; - ~~~~~~ [12] + private static c(a: number): number {return a}; + private set some() {return 2} + ~~~~~~~ [174] } -// Wrong cases for @Output-fields class failures { - a; - @Output() a: number = 5; - ~~~~~~~ [13] + public b(): number {return 5}; + private set some() {return 2} + ~~~~~~~ [169] - protected static a = 'someString'; - @Output() a = 'someString'; - ~~~~~~~ [14] + public static a() {return 5}; + private set some() {return 2} + ~~~~~~~ [170] - protected a = 5; - @Output() a: number = 5; - ~~~~~~~ [15] + protected a() {return 5}; + private set some() {return 2} + ~~~~~~~ [171] - private static a: string; - @Output() a = 'someString'; - ~~~~~~~ [16] + protected static a() {return 5}; + private set some() {return 2} + ~~~~~~~ [172] - private a: string; - @Output() a; - ~~~~~~~ [17] + private b(): number {return 5}; + private set some() {return 2} + ~~~~~~~ [173] + + private static c(a: number): number {return a}; + private set some() {return 2} + ~~~~~~~ [174] } +// Wrong cases for public-instance-method-fields class failures { - a: number = 5; - @Output() a = 5; - ~~~~~~~ [13] + static b(): number {return 5}; + c(a: number): number {return a}; + ~ [175] - protected static a; - @Output() a = 'someString'; - ~~~~~~~ [14] + protected b(): number {return 5}; + public b(): number {return 5}; + ~~~~~~ [176] - protected a: string; - @Output() a = 5; - ~~~~~~~ [15] + protected static b(): number {return 5}; + public b(): number {return 5}; + ~~~~~~ [177] - private static a = 'someString'; - @Output() a: number = 5; - ~~~~~~~ [16] + private a() {return 5}; + public c(a: number): number {return a}; + ~~~~~~ [178] - private a; - @Output() a: string; - ~~~~~~~ [17] + private static a() {return 5}; + a() {return 5}; + ~ [179] } class failures { - public a: string; - @Output() a = 'someString'; - ~~~~~~~ [13] + public static c(a: number): number {return a}; + public c(a: number): number {return a}; + ~~~~~~ [175] - protected static a: number = 5; - @Output() a; - ~~~~~~~ [14] + protected b(): number {return 5}; + public b(): number {return 5}; + ~~~~~~ [176] - protected a = 5; - @Output() a = (t: number) => {; - ~~~~~~~ [15] - arrow-func; - } + protected static b(): number {return 5}; + public b(): number {return 5}; + ~~~~~~ [177] - private static a = 5; - @Output() a = 5; - ~~~~~~~ [16] + private a() {return 5}; + a() {return 5}; + ~ [178] - private a: string; - @Output() a = 5; - ~~~~~~~ [17] + private static c(a: number): number {return a}; + a() {return 5}; + ~ [179] } -// Wrong cases for public-instance-fields class failures { - protected static a: string; - a: string; - ~ [18] + public static c(a: number): number {return a}; + public b(): number {return 5}; + ~~~~~~ [175] - protected a: number = 5; - a = 5; - ~ [19] + protected c(a: number): number {return a}; + b(): number {return 5}; + ~ [176] - private static a: string; - public a = 'someString'; - ~~~~~~ [20] + protected static c(a: number): number {return a}; + public a() {return 5}; + ~~~~~~ [177] - private a: number = 5; - a: string; - ~ [21] + private a() {return 5}; + public b(): number {return 5}; + ~~~~~~ [178] + + private static a() {return 5}; + public a() {return 5}; + ~~~~~~ [179] } +// Wrong cases for public-static-method-fields class failures { - protected static a = 5; - public a = 5; - ~~~~~~ [18] + protected c(a: number): number {return a}; + public static b(): number {return 5}; + ~~~~~~~~~~~~~ [180] - protected a; - public a; - ~~~~~~ [19] + protected static b(): number {return 5}; + static a() {return 5}; + ~~~~~~ [181] - private static a = 'someString'; - public a = 5; - ~~~~~~ [20] + private a() {return 5}; + public static b(): number {return 5}; + ~~~~~~~~~~~~~ [182] - private a: string; - a; - ~ [21] + private static c(a: number): number {return a}; + public static a() {return 5}; + ~~~~~~~~~~~~~ [183] } class failures { - protected static a; - public a = 5; - ~~~~~~ [18] + protected c(a: number): number {return a}; + static a() {return 5}; + ~~~~~~ [180] - protected a: string; - a = 'someString'; - ~ [19] + protected static c(a: number): number {return a}; + public static c(a: number): number {return a}; + ~~~~~~~~~~~~~ [181] - private static a: number = 5; - a = 'someString'; - ~ [20] + private c(a: number): number {return a}; + static b(): number {return 5}; + ~~~~~~ [182] - private a; - a: number = 5; - ~ [21] + private static c(a: number): number {return a}; + public static a() {return 5}; + ~~~~~~~~~~~~~ [183] } -// Wrong cases for protected-static-fields class failures { - protected a = 5; - protected static a = 5; - ~~~~~~~~~~~~~~~~ [22] + protected c(a: number): number {return a}; + static c(a: number): number {return a}; + ~~~~~~ [180] - private static a = 'someString'; - protected static a; - ~~~~~~~~~~~~~~~~ [23] + protected static c(a: number): number {return a}; + public static b(): number {return 5}; + ~~~~~~~~~~~~~ [181] - private a: string; - protected static a = 5; - ~~~~~~~~~~~~~~~~ [24] + private a() {return 5}; + public static a() {return 5}; + ~~~~~~~~~~~~~ [182] + + private static c(a: number): number {return a}; + public static a() {return 5}; + ~~~~~~~~~~~~~ [183] } +// Wrong cases for protected-instance-method-fields class failures { - protected a = 'someString'; - protected static a = 5; - ~~~~~~~~~~~~~~~~ [22] + protected static b(): number {return 5}; + protected c(a: number): number {return a}; + ~~~~~~~~~ [184] - private static a = 'someString'; - protected static a; - ~~~~~~~~~~~~~~~~ [23] + private c(a: number): number {return a}; + protected c(a: number): number {return a}; + ~~~~~~~~~ [185] - private a; - protected static a: string; - ~~~~~~~~~~~~~~~~ [24] + private static a() {return 5}; + protected b(): number {return 5}; + ~~~~~~~~~ [186] } class failures { - protected a: string; - protected static a = 5; - ~~~~~~~~~~~~~~~~ [22] + protected static a() {return 5}; + protected c(a: number): number {return a}; + ~~~~~~~~~ [184] - private static a; - protected static a = 5; - ~~~~~~~~~~~~~~~~ [23] + private c(a: number): number {return a}; + protected c(a: number): number {return a}; + ~~~~~~~~~ [185] - private a = 5; - protected static a: number = 5; - ~~~~~~~~~~~~~~~~ [24] + private static c(a: number): number {return a}; + protected b(): number {return 5}; + ~~~~~~~~~ [186] } -// Wrong cases for protected-instance-fields class failures { - private static a; - protected a; - ~~~~~~~~~ [25] + protected static c(a: number): number {return a}; + protected b(): number {return 5}; + ~~~~~~~~~ [184] - private a: string; - protected a = 'someString'; - ~~~~~~~~~ [26] + private c(a: number): number {return a}; + protected b(): number {return 5}; + ~~~~~~~~~ [185] + + private static b(): number {return 5}; + protected a() {return 5}; + ~~~~~~~~~ [186] } +// Wrong cases for protected-static-method-fields class failures { - private static a = 'someString'; - protected a = 'someString'; - ~~~~~~~~~ [25] + private b(): number {return 5}; + protected static a() {return 5}; + ~~~~~~~~~~~~~~~~ [187] - private a; - protected a: string; - ~~~~~~~~~ [26] + private static b(): number {return 5}; + protected static c(a: number): number {return a}; + ~~~~~~~~~~~~~~~~ [188] } class failures { - private static a = 'someString'; - protected a; - ~~~~~~~~~ [25] + private a() {return 5}; + protected static c(a: number): number {return a}; + ~~~~~~~~~~~~~~~~ [187] - private a: string; - protected a; - ~~~~~~~~~ [26] + private static c(a: number): number {return a}; + protected static b(): number {return 5}; + ~~~~~~~~~~~~~~~~ [188] } -// Wrong cases for private-static-fields class failures { - private a: string; - private static a = 5; - ~~~~~~~~~~~~~~ [27] + private b(): number {return 5}; + protected static a() {return 5}; + ~~~~~~~~~~~~~~~~ [187] + + private static a() {return 5}; + protected static a() {return 5}; + ~~~~~~~~~~~~~~~~ [188] } +// Wrong cases for private-instance-method-fields class failures { - private a = 'someString'; - private static a = 'someString'; - ~~~~~~~~~~~~~~ [27] + private static a() {return 5}; + private a() {return 5}; + ~~~~~~~ [189] } class failures { - private a: string; - private static a: number = 5; - ~~~~~~~~~~~~~~ [27] + private static b(): number {return 5}; + private c(a: number): number {return a}; + ~~~~~~~ [189] + +} + +class failures { + private static b(): number {return 5}; + private b(): number {return 5}; + ~~~~~~~ [189] } -[0]: PUBLIC STATIC property must be before @Input -[1]: PUBLIC STATIC property must be before @Output -[2]: PUBLIC STATIC property must be before PUBLIC INSTANCE property -[3]: PUBLIC STATIC property must be before PROTECTED STATIC property -[4]: PUBLIC STATIC property must be before PROTECTED INSTANCE property -[5]: PUBLIC STATIC property must be before PRIVATE STATIC property -[6]: PUBLIC STATIC property must be before PRIVATE INSTANCE property -[7]: @Input must be before @Output -[8]: @Input must be before PUBLIC INSTANCE property -[9]: @Input must be before PROTECTED STATIC property -[10]: @Input must be before PROTECTED INSTANCE property -[11]: @Input must be before PRIVATE STATIC property -[12]: @Input must be before PRIVATE INSTANCE property -[13]: @Output must be before PUBLIC INSTANCE property -[14]: @Output must be before PROTECTED STATIC property -[15]: @Output must be before PROTECTED INSTANCE property -[16]: @Output must be before PRIVATE STATIC property -[17]: @Output must be before PRIVATE INSTANCE property -[18]: PUBLIC INSTANCE property must be before PROTECTED STATIC property -[19]: PUBLIC INSTANCE property must be before PROTECTED INSTANCE property -[20]: PUBLIC INSTANCE property must be before PRIVATE STATIC property -[21]: PUBLIC INSTANCE property must be before PRIVATE INSTANCE property -[22]: PROTECTED STATIC property must be before PROTECTED INSTANCE property -[23]: PROTECTED STATIC property must be before PRIVATE STATIC property -[24]: PROTECTED STATIC property must be before PRIVATE INSTANCE property -[25]: PROTECTED INSTANCE property must be before PRIVATE STATIC property -[26]: PROTECTED INSTANCE property must be before PRIVATE INSTANCE property -[27]: PRIVATE STATIC property must be before PRIVATE INSTANCE property +[0]: PRIVATE INSTANCE property must be before PRIVATE STATIC property +[1]: PRIVATE INSTANCE property must be before PROTECTED STATIC property +[2]: PRIVATE INSTANCE property must be before PROTECTED INSTANCE property +[3]: PRIVATE INSTANCE property must be before PUBLIC INSTANCE property +[4]: PRIVATE INSTANCE property must be before PUBLIC STATIC property +[5]: PRIVATE INSTANCE property must be before @Input +[6]: PRIVATE INSTANCE property must be before @Output +[7]: PRIVATE INSTANCE property must be before PUBLIC GETTER +[8]: PRIVATE INSTANCE property must be before PUBLIC SETTER +[9]: PRIVATE INSTANCE property must be before PROTECTED GETTER +[10]: PRIVATE INSTANCE property must be before PROTECTED SETTER +[11]: PRIVATE INSTANCE property must be before PRIVATE GETTER +[12]: PRIVATE INSTANCE property must be before PRIVATE SETTER +[13]: PRIVATE INSTANCE property must be before PUBLIC INSTANCE METHOD +[14]: PRIVATE INSTANCE property must be before PUBLIC STATIC METHOD +[15]: PRIVATE INSTANCE property must be before PROTECTED INSTANCE METHOD +[16]: PRIVATE INSTANCE property must be before PROTECTED STATIC METHOD +[17]: PRIVATE INSTANCE property must be before PRIVATE INSTANCE METHOD +[18]: PRIVATE INSTANCE property must be before PRIVATE STATIC METHOD +[19]: PRIVATE STATIC property must be before PROTECTED STATIC property +[20]: PRIVATE STATIC property must be before PROTECTED INSTANCE property +[21]: PRIVATE STATIC property must be before PUBLIC INSTANCE property +[22]: PRIVATE STATIC property must be before PUBLIC STATIC property +[23]: PRIVATE STATIC property must be before @Input +[24]: PRIVATE STATIC property must be before @Output +[25]: PRIVATE STATIC property must be before PUBLIC GETTER +[26]: PRIVATE STATIC property must be before PUBLIC SETTER +[27]: PRIVATE STATIC property must be before PROTECTED GETTER +[28]: PRIVATE STATIC property must be before PROTECTED SETTER +[29]: PRIVATE STATIC property must be before PRIVATE GETTER +[30]: PRIVATE STATIC property must be before PRIVATE SETTER +[31]: PRIVATE STATIC property must be before PUBLIC INSTANCE METHOD +[32]: PRIVATE STATIC property must be before PUBLIC STATIC METHOD +[33]: PRIVATE STATIC property must be before PROTECTED INSTANCE METHOD +[34]: PRIVATE STATIC property must be before PROTECTED STATIC METHOD +[35]: PRIVATE STATIC property must be before PRIVATE INSTANCE METHOD +[36]: PRIVATE STATIC property must be before PRIVATE STATIC METHOD +[37]: PROTECTED STATIC property must be before PROTECTED INSTANCE property +[38]: PROTECTED STATIC property must be before PUBLIC INSTANCE property +[39]: PROTECTED STATIC property must be before PUBLIC STATIC property +[40]: PROTECTED STATIC property must be before @Input +[41]: PROTECTED STATIC property must be before @Output +[42]: PROTECTED STATIC property must be before PUBLIC GETTER +[43]: PROTECTED STATIC property must be before PUBLIC SETTER +[44]: PROTECTED STATIC property must be before PROTECTED GETTER +[45]: PROTECTED STATIC property must be before PROTECTED SETTER +[46]: PROTECTED STATIC property must be before PRIVATE GETTER +[47]: PROTECTED STATIC property must be before PRIVATE SETTER +[48]: PROTECTED STATIC property must be before PUBLIC INSTANCE METHOD +[49]: PROTECTED STATIC property must be before PUBLIC STATIC METHOD +[50]: PROTECTED STATIC property must be before PROTECTED INSTANCE METHOD +[51]: PROTECTED STATIC property must be before PROTECTED STATIC METHOD +[52]: PROTECTED STATIC property must be before PRIVATE INSTANCE METHOD +[53]: PROTECTED STATIC property must be before PRIVATE STATIC METHOD +[54]: PROTECTED INSTANCE property must be before PUBLIC INSTANCE property +[55]: PROTECTED INSTANCE property must be before PUBLIC STATIC property +[56]: PROTECTED INSTANCE property must be before @Input +[57]: PROTECTED INSTANCE property must be before @Output +[58]: PROTECTED INSTANCE property must be before PUBLIC GETTER +[59]: PROTECTED INSTANCE property must be before PUBLIC SETTER +[60]: PROTECTED INSTANCE property must be before PROTECTED GETTER +[61]: PROTECTED INSTANCE property must be before PROTECTED SETTER +[62]: PROTECTED INSTANCE property must be before PRIVATE GETTER +[63]: PROTECTED INSTANCE property must be before PRIVATE SETTER +[64]: PROTECTED INSTANCE property must be before PUBLIC INSTANCE METHOD +[65]: PROTECTED INSTANCE property must be before PUBLIC STATIC METHOD +[66]: PROTECTED INSTANCE property must be before PROTECTED INSTANCE METHOD +[67]: PROTECTED INSTANCE property must be before PROTECTED STATIC METHOD +[68]: PROTECTED INSTANCE property must be before PRIVATE INSTANCE METHOD +[69]: PROTECTED INSTANCE property must be before PRIVATE STATIC METHOD +[70]: PUBLIC INSTANCE property must be before PUBLIC STATIC property +[71]: PUBLIC INSTANCE property must be before @Input +[72]: PUBLIC INSTANCE property must be before @Output +[73]: PUBLIC INSTANCE property must be before PUBLIC GETTER +[74]: PUBLIC INSTANCE property must be before PUBLIC SETTER +[75]: PUBLIC INSTANCE property must be before PROTECTED GETTER +[76]: PUBLIC INSTANCE property must be before PROTECTED SETTER +[77]: PUBLIC INSTANCE property must be before PRIVATE GETTER +[78]: PUBLIC INSTANCE property must be before PRIVATE SETTER +[79]: PUBLIC INSTANCE property must be before PUBLIC INSTANCE METHOD +[80]: PUBLIC INSTANCE property must be before PUBLIC STATIC METHOD +[81]: PUBLIC INSTANCE property must be before PROTECTED INSTANCE METHOD +[82]: PUBLIC INSTANCE property must be before PROTECTED STATIC METHOD +[83]: PUBLIC INSTANCE property must be before PRIVATE INSTANCE METHOD +[84]: PUBLIC INSTANCE property must be before PRIVATE STATIC METHOD +[85]: PUBLIC STATIC property must be before @Input +[86]: PUBLIC STATIC property must be before @Output +[87]: PUBLIC STATIC property must be before PUBLIC GETTER +[88]: PUBLIC STATIC property must be before PUBLIC SETTER +[89]: PUBLIC STATIC property must be before PROTECTED GETTER +[90]: PUBLIC STATIC property must be before PROTECTED SETTER +[91]: PUBLIC STATIC property must be before PRIVATE GETTER +[92]: PUBLIC STATIC property must be before PRIVATE SETTER +[93]: PUBLIC STATIC property must be before PUBLIC INSTANCE METHOD +[94]: PUBLIC STATIC property must be before PUBLIC STATIC METHOD +[95]: PUBLIC STATIC property must be before PROTECTED INSTANCE METHOD +[96]: PUBLIC STATIC property must be before PROTECTED STATIC METHOD +[97]: PUBLIC STATIC property must be before PRIVATE INSTANCE METHOD +[98]: PUBLIC STATIC property must be before PRIVATE STATIC METHOD +[99]: @Input must be before @Output +[100]: @Input must be before PUBLIC GETTER +[101]: @Input must be before PUBLIC SETTER +[102]: @Input must be before PROTECTED GETTER +[103]: @Input must be before PROTECTED SETTER +[104]: @Input must be before PRIVATE GETTER +[105]: @Input must be before PRIVATE SETTER +[106]: @Input must be before PUBLIC INSTANCE METHOD +[107]: @Input must be before PUBLIC STATIC METHOD +[108]: @Input must be before PROTECTED INSTANCE METHOD +[109]: @Input must be before PROTECTED STATIC METHOD +[110]: @Input must be before PRIVATE INSTANCE METHOD +[111]: @Input must be before PRIVATE STATIC METHOD +[112]: @Output must be before PUBLIC GETTER +[113]: @Output must be before PUBLIC SETTER +[114]: @Output must be before PROTECTED GETTER +[115]: @Output must be before PROTECTED SETTER +[116]: @Output must be before PRIVATE GETTER +[117]: @Output must be before PRIVATE SETTER +[118]: @Output must be before PUBLIC INSTANCE METHOD +[119]: @Output must be before PUBLIC STATIC METHOD +[120]: @Output must be before PROTECTED INSTANCE METHOD +[121]: @Output must be before PROTECTED STATIC METHOD +[122]: @Output must be before PRIVATE INSTANCE METHOD +[123]: @Output must be before PRIVATE STATIC METHOD +[124]: PUBLIC GETTER must be before PUBLIC SETTER +[125]: PUBLIC GETTER must be before PROTECTED GETTER +[126]: PUBLIC GETTER must be before PROTECTED SETTER +[127]: PUBLIC GETTER must be before PRIVATE GETTER +[128]: PUBLIC GETTER must be before PRIVATE SETTER +[129]: PUBLIC GETTER must be before PUBLIC INSTANCE METHOD +[130]: PUBLIC GETTER must be before PUBLIC STATIC METHOD +[131]: PUBLIC GETTER must be before PROTECTED INSTANCE METHOD +[132]: PUBLIC GETTER must be before PROTECTED STATIC METHOD +[133]: PUBLIC GETTER must be before PRIVATE INSTANCE METHOD +[134]: PUBLIC GETTER must be before PRIVATE STATIC METHOD +[135]: PUBLIC SETTER must be before PROTECTED GETTER +[136]: PUBLIC SETTER must be before PROTECTED SETTER +[137]: PUBLIC SETTER must be before PRIVATE GETTER +[138]: PUBLIC SETTER must be before PRIVATE SETTER +[139]: PUBLIC SETTER must be before PUBLIC INSTANCE METHOD +[140]: PUBLIC SETTER must be before PUBLIC STATIC METHOD +[141]: PUBLIC SETTER must be before PROTECTED INSTANCE METHOD +[142]: PUBLIC SETTER must be before PROTECTED STATIC METHOD +[143]: PUBLIC SETTER must be before PRIVATE INSTANCE METHOD +[144]: PUBLIC SETTER must be before PRIVATE STATIC METHOD +[145]: PROTECTED GETTER must be before PROTECTED SETTER +[146]: PROTECTED GETTER must be before PRIVATE GETTER +[147]: PROTECTED GETTER must be before PRIVATE SETTER +[148]: PROTECTED GETTER must be before PUBLIC INSTANCE METHOD +[149]: PROTECTED GETTER must be before PUBLIC STATIC METHOD +[150]: PROTECTED GETTER must be before PROTECTED INSTANCE METHOD +[151]: PROTECTED GETTER must be before PROTECTED STATIC METHOD +[152]: PROTECTED GETTER must be before PRIVATE INSTANCE METHOD +[153]: PROTECTED GETTER must be before PRIVATE STATIC METHOD +[154]: PROTECTED SETTER must be before PRIVATE GETTER +[155]: PROTECTED SETTER must be before PRIVATE SETTER +[156]: PROTECTED SETTER must be before PUBLIC INSTANCE METHOD +[157]: PROTECTED SETTER must be before PUBLIC STATIC METHOD +[158]: PROTECTED SETTER must be before PROTECTED INSTANCE METHOD +[159]: PROTECTED SETTER must be before PROTECTED STATIC METHOD +[160]: PROTECTED SETTER must be before PRIVATE INSTANCE METHOD +[161]: PROTECTED SETTER must be before PRIVATE STATIC METHOD +[162]: PRIVATE GETTER must be before PRIVATE SETTER +[163]: PRIVATE GETTER must be before PUBLIC INSTANCE METHOD +[164]: PRIVATE GETTER must be before PUBLIC STATIC METHOD +[165]: PRIVATE GETTER must be before PROTECTED INSTANCE METHOD +[166]: PRIVATE GETTER must be before PROTECTED STATIC METHOD +[167]: PRIVATE GETTER must be before PRIVATE INSTANCE METHOD +[168]: PRIVATE GETTER must be before PRIVATE STATIC METHOD +[169]: PRIVATE SETTER must be before PUBLIC INSTANCE METHOD +[170]: PRIVATE SETTER must be before PUBLIC STATIC METHOD +[171]: PRIVATE SETTER must be before PROTECTED INSTANCE METHOD +[172]: PRIVATE SETTER must be before PROTECTED STATIC METHOD +[173]: PRIVATE SETTER must be before PRIVATE INSTANCE METHOD +[174]: PRIVATE SETTER must be before PRIVATE STATIC METHOD +[175]: PUBLIC INSTANCE METHOD must be before PUBLIC STATIC METHOD +[176]: PUBLIC INSTANCE METHOD must be before PROTECTED INSTANCE METHOD +[177]: PUBLIC INSTANCE METHOD must be before PROTECTED STATIC METHOD +[178]: PUBLIC INSTANCE METHOD must be before PRIVATE INSTANCE METHOD +[179]: PUBLIC INSTANCE METHOD must be before PRIVATE STATIC METHOD +[180]: PUBLIC STATIC METHOD must be before PROTECTED INSTANCE METHOD +[181]: PUBLIC STATIC METHOD must be before PROTECTED STATIC METHOD +[182]: PUBLIC STATIC METHOD must be before PRIVATE INSTANCE METHOD +[183]: PUBLIC STATIC METHOD must be before PRIVATE STATIC METHOD +[184]: PROTECTED INSTANCE METHOD must be before PROTECTED STATIC METHOD +[185]: PROTECTED INSTANCE METHOD must be before PRIVATE INSTANCE METHOD +[186]: PROTECTED INSTANCE METHOD must be before PRIVATE STATIC METHOD +[187]: PROTECTED STATIC METHOD must be before PRIVATE INSTANCE METHOD +[188]: PROTECTED STATIC METHOD must be before PRIVATE STATIC METHOD +[189]: PRIVATE INSTANCE METHOD must be before PRIVATE STATIC METHOD diff --git a/test/rules/angular-member-ordering/testGenerator.js b/test/rules/angular-member-ordering/testGenerator.js index f134d3d..29bbd2c 100644 --- a/test/rules/angular-member-ordering/testGenerator.js +++ b/test/rules/angular-member-ordering/testGenerator.js @@ -13,61 +13,138 @@ const tab = ' '; const failure = '~'; const order = [ - 'public-static', - '@Input', - '@Output', - 'public-instance', - 'protected-static', - 'protected-instance', - 'private-static', - 'private-instance' + 'private-instance-field', + 'private-static-field', + 'protected-static-field', + 'protected-instance-field', + 'public-instance-field', + 'public-static-field', + '@Input', + '@Output', + 'public-getter', + 'public-setter', + 'protected-getter', + 'protected-setter', + 'private-getter', + 'private-setter', + 'public-instance-method', + 'public-static-method', + 'protected-instance-method', + 'protected-static-method', + 'private-instance-method', + 'private-static-method', ]; - const defaultMemberData = { - 'public-static': { - rank: 0, - text: 'PUBLIC STATIC property' - }, - 'protected-static': { - rank: 1, - text: 'PROTECTED STATIC property' - }, - 'private-static': { - rank: 2, - text: 'PRIVATE STATIC property' - }, - '@Input': { - rank: 3, - text: '@Input' - }, - '@Output': { - rank: 4, - text: '@Output' - }, - 'public-instance': { - rank: 5, - text: 'PUBLIC INSTANCE property' - }, - 'protected-instance': { - rank: 6, - text: 'PROTECTED INSTANCE property' - }, - 'private-instance': { - rank: 7, - text: 'PRIVATE INSTANCE property' - } + 'public-static-field': { + rank: 0, + text: 'PUBLIC STATIC property', + }, + 'protected-static-field': { + rank: 1, + text: 'PROTECTED STATIC property', + }, + 'private-static-field': { + rank: 2, + text: 'PRIVATE STATIC property', + }, + 'public-static-method': { + rank: 3, + text: 'PUBLIC STATIC METHOD', + }, + 'protected-static-method': { + rank: 4, + text: 'PROTECTED STATIC METHOD', + }, + 'private-static-method': { + rank: 5, + text: 'PRIVATE STATIC METHOD', + }, + '@Input': { + rank: 6, + text: '@Input', + }, + '@Output': { + rank: 7, + text: '@Output', + }, + 'public-getter': { + rank: 8, + text: 'PUBLIC GETTER', + }, + 'public-setter': { + rank: 9, + text: 'PUBLIC SETTER', + }, + 'protected-getter': { + rank: 10, + text: 'PROTECTED GETTER', + }, + 'protected-setter': { + rank: 11, + text: 'PROTECTED SETTER', + }, + 'private-getter': { + rank: 12, + text: 'PRIVATE GETTER', + }, + 'private-setter': { + rank: 13, + text: 'PRIVATE SETTER', + }, + 'public-instance-field': { + rank: 14, + text: 'PUBLIC INSTANCE property', + }, + 'protected-instance-field': { + rank: 15, + text: 'PROTECTED INSTANCE property', + }, + 'private-instance-field': { + rank: 16, + text: 'PRIVATE INSTANCE property', + }, + 'public-instance-method': { + rank: 17, + text: 'PUBLIC INSTANCE METHOD', + }, + 'protected-instance-method': { + rank: 18, + text: 'PROTECTED INSTANCE METHOD', + }, + 'private-instance-method': { + rank: 19, + text: 'PRIVATE INSTANCE METHOD', + }, }; const variableValues = [ - `a;\n`, - `a = 5;\n`, - `a = 'someString';\n`, - `a: string;\n`, - `a: number = 5;\n` + `a;`, + `a = 5;`, + `a = 'someString';`, + `a: string;`, + `a: number = 5;`, +]; + +const methods = [ + 'a() {return 5};', + 'b(): number {return 5};', + 'c(a: number): number {return a};', ]; function getRandomVariable() { - return variableValues[Math.floor(Math.random() * variableValues.length)]; + return variableValues[Math.floor(Math.random() * variableValues.length)]; +} + +function getRandomMethod() { + return methods[Math.floor(Math.random() * methods.length)]; +} + +function getGetter() { + return 'get some() {return 1}'; +} + +function getSetter() { + return 'set some() {return 2}'; } const errors = {}; @@ -75,150 +152,177 @@ const errors = {}; let memberData = defaultMemberData; function failureStringWithNumb(nextNode, prevNode, number) { - return `[${number}]: ${nextNode} must be before ${prevNode}\n`; + return `[${number}]: ${nextNode} must be before ${prevNode}\n`; } function memberOrderingParse() { - let counter = 0; + let counter = 0; - for (const member of order) { - memberData[member].rank = counter; - counter += 1; - } + for (const member of order) { + memberData[member].rank = counter; + counter += 1; + } } function generateFailures() { - let counter = 0; - - for (let i = 0; i < order.length; i++) { - for (let j = i + 1; j < order.length; j++) { - errors[`${i}-${j}`] = `[${counter}]`; - counter += 1; - } - } + let counter = 0; + + for (let i = 0; i < order.length; i++) { + for (let j = i + 1; j < order.length; j++) { + errors[`${i}-${j}`] = `[${counter}]`; + counter += 1; + } + } } function writeFailures() { - let counter = 0; - - for (let i = 0; i < order.length; i++) { - for (let j = i + 1; j < order.length; j++) { - fs.appendFileSync( - file, - failureStringWithNumb( - memberData[order[i]].text, - memberData[order[j]].text, - counter - ) - ); - counter += 1; - } - } + let counter = 0; + + for (let i = 0; i < order.length; i++) { + for (let j = i + 1; j < order.length; j++) { + fs.appendFileSync( + file, + failureStringWithNumb( + memberData[order[i]].text, + memberData[order[j]].text, + counter, + ), + ); + counter += 1; + } + } } function parseField(index) { - let fieldType; - let fieldTypeArr = order[index].split('-'); - - if (fieldTypeArr[0] === 'public') { - if (Math.random() > 0.5) { - fieldTypeArr[0] = ''; - } - } - - if (fieldTypeArr[0] === '@Input' || fieldTypeArr[0] === '@Output') { - fieldType = fieldTypeArr[0] + '()'; - } else if (fieldTypeArr[1] === 'instance') { - fieldType = fieldTypeArr[0]; - } else { - if (fieldTypeArr[0] !== '') { - fieldType = fieldTypeArr.join(' '); - } else { - fieldType = fieldTypeArr[1]; - } - } - - return fieldType; + let fieldType; + let fieldTypeArr = order[index].split('-'); + + if (fieldTypeArr[0] === 'public') { + if (Math.random() > 0.5) { + fieldTypeArr[0] = ''; + } + } + + if (fieldTypeArr[0] === '@Input' || fieldTypeArr[0] === '@Output') { + fieldType = fieldTypeArr[0] + '()'; + } else if (fieldTypeArr[1] === 'instance') { + fieldTypeArr.splice(1, 1); + fieldType = fieldTypeArr.join(' '); + } else { + if (fieldTypeArr[0] !== '') { + fieldType = fieldTypeArr.join(' '); + } else { + fieldTypeArr.splice(0, 1); + fieldType = fieldTypeArr.join(' '); + } + } + + return fieldType; } function makeField(type) { - const field = - type === '' ? type + getRandomVariable() : type + ' ' + getRandomVariable(); - - return field; + if (!type) { + return getRandomVariable() + '\n'; + } + if (type.endsWith('method') || type.endsWith('getter') || type.endsWith('setter')) { + return (type.slice(0, -7) + ' ' + getRandomMethod()).trim() + '\n'; + } + + if (type.endsWith('field')) { + return (type.slice(0, -6) + ' ' + getRandomVariable()).trim() + '\n'; + } + return type + ' ' + getRandomVariable() + '\n'; } function generateRightCases() { - fs.appendFileSync(file, '\n// Right cases\n\n'); + fs.appendFileSync(file, '\n// Right cases\n\n'); - for (let caseNumb = 0; caseNumb < 3; caseNumb++) { - fs.appendFileSync(file, `class right-cases {\n`); + for (let caseNumb = 0; caseNumb < 3; caseNumb++) { + fs.appendFileSync(file, `class right-cases {\n`); - for (let i = 0; i < order.length; i++) { - const fieldType = parseField(i); - const field = makeField(fieldType); + for (let i = 0; i < order.length; i++) { + const fieldType = parseField(i); + const field = makeField(fieldType); - fs.appendFileSync(file, tab + field); - } + fs.appendFileSync(file, tab + field); + } - fs.appendFileSync(file, '}\n\n'); - } + fs.appendFileSync(file, '}\n\n'); + } } function makeFailure(firstIndex, secondIndex) { - const firstFieldType = parseField(firstIndex); - const secondFieldType = parseField(secondIndex); - - const firstField = makeField(firstFieldType); - const secondField = makeField(secondFieldType); - - const repeatFailure = - firstFieldType === '' - ? failure.repeat(1) - : firstFieldType.startsWith('@') - ? failure.repeat(firstFieldType.length - 2) - : failure.repeat(firstFieldType.length); - - fs.appendFileSync(file, tab + secondField); - fs.appendFileSync(file, tab + firstField); - fs.appendFileSync( - file, - tab + - repeatFailure + - tab.repeat(3) + - errors[`${firstIndex}-${secondIndex}`] + - '\n\n' - ); + const firstFieldType = parseField(firstIndex); + const secondFieldType = parseField(secondIndex); + + const firstField = makeField(firstFieldType); + const secondField = makeField(secondFieldType); + + const repeatFailure = getRepeatedFailures(firstFieldType); + fs.appendFileSync(file, tab + secondField); + fs.appendFileSync(file, tab + firstField); + fs.appendFileSync( + file, + tab + + repeatFailure + + tab.repeat(3) + + errors[`${firstIndex}-${secondIndex}`] + + '\n\n', + ); +} + +function getRepeatedFailures(fieldType) { + if (!fieldType) { + return failure; + } + + if (fieldType.startsWith('@')) { + return failure.repeat(fieldType.length - 2); + } + + if (fieldType.endsWith('field')) { + return failure.repeat(fieldType.length - 6 || 1); + } + + if (fieldType.endsWith('method')) { + return failure.repeat(fieldType.length - 7 || 1); + } + + if (fieldType.endsWith('setter') || fieldType.endsWith('getter')) { + return failure.repeat(fieldType.length - 7 > 0 ? fieldType.length - 7 : 3); + } + + return failure.repeat(fieldType.length || 1); } function generateWrongCases() { - fs.appendFileSync(file, '// Wrong cases\n\n'); + fs.appendFileSync(file, '// Wrong cases\n\n'); - for (let i = 0; i < order.length - 1; i++) { - fs.appendFileSync(file, `// Wrong cases for ${order[i]}-fields\n`); + for (let i = 0; i < order.length - 1; i++) { + fs.appendFileSync(file, `// Wrong cases for ${order[i]}-fields\n`); - for (let repeats = 0; repeats < 3; repeats++) { - fs.appendFileSync(file, `class failures {\n`); + for (let repeats = 0; repeats < 3; repeats++) { + fs.appendFileSync(file, `class failures {\n`); - for (let j = i + 1; j < order.length; j++) { - makeFailure(i, j); - } + for (let j = i + 1; j < order.length; j++) { + makeFailure(i, j); + } - fs.appendFileSync(file, '}\n\n'); - } - } + fs.appendFileSync(file, '}\n\n'); + } + } } (function generateTests() { - fs.writeFileSync(file, ''); + fs.writeFileSync(file, ''); - memberOrderingParse(); + memberOrderingParse(); - generateFailures(); + generateFailures(); - generateRightCases(); + generateRightCases(); - generateWrongCases(); + generateWrongCases(); - writeFailures(); + writeFailures(); })(); diff --git a/test/rules/angular-member-ordering/test_2waybinding.ts.lint b/test/rules/angular-member-ordering/test_2waybinding.ts.lint index 386b15f..e37bd70 100644 --- a/test/rules/angular-member-ordering/test_2waybinding.ts.lint +++ b/test/rules/angular-member-ordering/test_2waybinding.ts.lint @@ -3,10 +3,16 @@ // Right cases class rightCases { - static a; + protected a; + + readonly a; + + a; public static a; + static a; + @Input('onselect') a; @Input() someInput; @@ -26,12 +32,6 @@ class rightCases { @Input() readonly thirdInput; @Output() thirdInputChange; - - readonly a; - - a; - - protected a; } // Wrong cases diff --git a/test/rules/angular-member-ordering/test_Accessors.ts.lint b/test/rules/angular-member-ordering/test_Accessors.ts.lint index 99d7565..d0e457a 100644 --- a/test/rules/angular-member-ordering/test_Accessors.ts.lint +++ b/test/rules/angular-member-ordering/test_Accessors.ts.lint @@ -1,6 +1,7 @@ // Right cases class rightCases { + protected a; static a = 4; public static a: boolean; @Input() a; @@ -39,7 +40,6 @@ class rightCases { return 'all right!'; } - protected a; } // Wrong cases @@ -61,13 +61,13 @@ class failure { @Input() middleName: string; - someVal: number - @Input() - ~~~~~~ [3] set lastName(value: string) { this.callLongMethod(value); } + + someVal: number + ~~~~~~~ [15] } class failure { @@ -206,4 +206,5 @@ class failure { [11]: @Output must be before PRIVATE STATIC property [12]: @Output must be before PRIVATE INSTANCE property [13]: @Input get/set accessor must be at the end of input's declarations -[14]: @Output get/set accessor must be at the end of output's declarations \ No newline at end of file +[14]: @Output get/set accessor must be at the end of output's declarations +[15]: PUBLIC INSTANCE property must be before @Input \ No newline at end of file diff --git a/tslint/bases/base.tslint.json b/tslint/bases/base.tslint.json index 03754af..afd8ce4 100644 --- a/tslint/bases/base.tslint.json +++ b/tslint/bases/base.tslint.json @@ -1,66 +1,67 @@ { - "rulesDirectory": ["../rules"], - "extends": ["tslint-eslint-rules"], - "rules": { - "tinkoff-method-return-type": true, - "tinkoff-new-line-after-variable-declaration": true, - "tinkoff-new-line-around-control-statement": true, - "align": [true, "parameters", "statements"], - "arrow-parens": [true, "ban-single-arg-parens"], - "arrow-return-shorthand": true, - "ban": [true, "fit", "fdescribe"], - "class-name": true, - "curly": true, - "eofline": false, - "forin": true, - "interface-name": true, - "jsdoc-format": true, - "label-position": true, - "new-parens": true, - "no-arg": true, - "no-bitwise": true, - "no-conditional-assignment": true, - "no-console": [true, "log", "debug", "info", "time", "timeEnd", "trace"], - "no-construct": true, - "no-debugger": true, - "no-duplicate-variable": true, - "no-empty": false, - "no-eval": true, - "no-inferrable-types": [true, "ignore-params"], - "no-internal-module": true, - "no-reference": true, - "no-string-literal": false, - "no-switch-case-fall-through": true, - "no-unused-expression": true, - "no-use-before-declare": true, - "no-var-keyword": true, - "no-consecutive-blank-lines": [true, 2], - "one-variable-per-declaration": true, - "only-arrow-functions": [true, "allow-named-functions"], - "prefer-const": [ - true, - { - "destructuring": "any" - } - ], - "radix": true, - "trailing-comma": [ - true, - { - "multiline": { - "arrays": "never", - "objects": "never", - "functions": "never", - "imports": "never", - "exports": "never", - "typeLiterals": "never" - }, - "singleline": "never", - "esSpecCompliant": true - } - ], - "triple-equals": true, - "typedef": [true, "parameter"], - "use-isnan": true - } + "rulesDirectory": ["../rules"], + "extends": ["tslint-eslint-rules"], + "rules": { + "tinkoff-method-return-type": true, + "tinkoff-new-line-after-variable-declaration": true, + "tinkoff-new-line-around-control-statement": true, + "tinkoff-angular-member-ordering": true, + "align": [true, "parameters", "statements"], + "arrow-parens": [true, "ban-single-arg-parens"], + "arrow-return-shorthand": true, + "ban": [true, "fit", "fdescribe"], + "class-name": true, + "curly": true, + "eofline": false, + "forin": true, + "interface-name": true, + "jsdoc-format": true, + "label-position": true, + "new-parens": true, + "no-arg": true, + "no-bitwise": true, + "no-conditional-assignment": true, + "no-console": [true, "log", "debug", "info", "time", "timeEnd", "trace"], + "no-construct": true, + "no-debugger": true, + "no-duplicate-variable": true, + "no-empty": false, + "no-eval": true, + "no-inferrable-types": [true, "ignore-params"], + "no-internal-module": true, + "no-reference": true, + "no-string-literal": false, + "no-switch-case-fall-through": true, + "no-unused-expression": true, + "no-use-before-declare": true, + "no-var-keyword": true, + "no-consecutive-blank-lines": [true, 2], + "one-variable-per-declaration": true, + "only-arrow-functions": [true, "allow-named-functions"], + "prefer-const": [ + true, + { + "destructuring": "any" + } + ], + "radix": true, + "trailing-comma": [ + true, + { + "multiline": { + "arrays": "never", + "objects": "never", + "functions": "never", + "imports": "never", + "exports": "never", + "typeLiterals": "never" + }, + "singleline": "never", + "esSpecCompliant": true + } + ], + "triple-equals": true, + "typedef": [true, "parameter"], + "use-isnan": true + } }