From c7fb1e7385184108d767940decd7a4c2863cba48 Mon Sep 17 00:00:00 2001 From: Noah Davis <11672+noahd1@users.noreply.github.com> Date: Wed, 8 Jan 2025 10:24:25 -0800 Subject: [PATCH] Count properties as fields --- qlty-analysis/src/lang/csharp.rs | 11 +++--- .../fields}/GetterSetterDeclaration.cs | 2 + qlty-cli/tests/lang/csharp/basic.stdout | 38 ++++++++++++++----- 3 files changed, 37 insertions(+), 14 deletions(-) rename qlty-cli/tests/lang/csharp/{pending => basic.in/fields}/GetterSetterDeclaration.cs (83%) diff --git a/qlty-analysis/src/lang/csharp.rs b/qlty-analysis/src/lang/csharp.rs index 75a82e249..7490197cd 100644 --- a/qlty-analysis/src/lang/csharp.rs +++ b/qlty-analysis/src/lang/csharp.rs @@ -27,11 +27,12 @@ const FUNCTION_DECLARATION_QUERY: &str = r#" "#; const FIELD_QUERY: &str = r#" - (field_declaration - (variable_declaration - (variable_declarator name: (identifier) @name) - ) - ) @field + [(field_declaration + (variable_declaration + (variable_declarator name: (identifier) @name) + ) + ) @field + (property_declaration name: (identifier) @name) @field] "#; pub struct CSharp { diff --git a/qlty-cli/tests/lang/csharp/pending/GetterSetterDeclaration.cs b/qlty-cli/tests/lang/csharp/basic.in/fields/GetterSetterDeclaration.cs similarity index 83% rename from qlty-cli/tests/lang/csharp/pending/GetterSetterDeclaration.cs rename to qlty-cli/tests/lang/csharp/basic.in/fields/GetterSetterDeclaration.cs index 73bdbff58..02eb16bf2 100644 --- a/qlty-cli/tests/lang/csharp/pending/GetterSetterDeclaration.cs +++ b/qlty-cli/tests/lang/csharp/basic.in/fields/GetterSetterDeclaration.cs @@ -3,11 +3,13 @@ namespace Fields public class GetterSetterDeclaration { public string Field { get; set; } + public string _field2 public static void Main(string[] args) { GetterSetterDeclaration obj = new GetterSetterDeclaration(); obj.Field = "Hello"; + obj._field2 = "World"; System.Console.WriteLine(obj.Field); } } diff --git a/qlty-cli/tests/lang/csharp/basic.stdout b/qlty-cli/tests/lang/csharp/basic.stdout index a85450790..9eac2aa3c 100644 --- a/qlty-cli/tests/lang/csharp/basic.stdout +++ b/qlty-cli/tests/lang/csharp/basic.stdout @@ -2,7 +2,7 @@ "metadata": { "buildId": "[..]", "result": "ANALYSIS_RESULT_SUCCESS", - "filesAnalyzed": 42, + "filesAnalyzed": 43, "startTime": "[..]", "finishTime": "[..]", "commitMessage": "initial/n", @@ -872,6 +872,26 @@ "cyclomatic": 2, "lcom4": 1 }, + { + "buildId": "[..]", + "analyzedAt": "[..]", + "name": "GetterSetterDeclaration.cs", + "fullyQualifiedName": "fields/GetterSetterDeclaration.cs", + "path": "fields/GetterSetterDeclaration.cs", + "kind": "COMPONENT_TYPE_FILE", + "language": "LANGUAGE_C_SHARP", + "files": 1, + "classes": 1, + "functions": 1, + "fields": 2, + "lines": 16, + "codeLines": 14, + "commentLines": 0, + "blankLines": 2, + "complexity": 0, + "cyclomatic": 1, + "lcom4": 0 + }, { "buildId": "[..]", "analyzedAt": "[..]", @@ -1237,16 +1257,16 @@ "fullyQualifiedName": "fields", "path": "fields", "kind": "COMPONENT_TYPE_DIRECTORY", - "files": 9, - "classes": 10, - "functions": 12, - "fields": 13, - "lines": 138, - "codeLines": 112, + "files": 10, + "classes": 11, + "functions": 13, + "fields": 15, + "lines": 154, + "codeLines": 126, "commentLines": 4, - "blankLines": 22, + "blankLines": 24, "complexity": 0, - "cyclomatic": 10, + "cyclomatic": 11, "lcom4": 1 }, {