Skip to content

Commit cf868bb

Browse files
authored
Fix naming analyzer cast issue (#84)
1 parent d792c4e commit cf868bb

File tree

9 files changed

+116
-2
lines changed

9 files changed

+116
-2
lines changed

Directory.Build.props

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
44
<PropertyGroup>
5-
<SdkVersion>2022.3.1</SdkVersion>
5+
<SdkVersion>2022.3.2</SdkVersion>
66
</PropertyGroup>
77
<!-- https://jetbrains.slack.com/archives/CBZ36NH7C/p1628090127002200 -->
88
<PropertyGroup>

src/.run/Pack ReSharper.run.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="Pack ReSharper" type="NukeBuildTarget" factoryName=".NET Project">
3+
<option name="EXE_PATH" value="$PROJECT_DIR$/../build/bin/Debug/_build.exe" />
4+
<option name="PROGRAM_PARAMETERS" value="Pack" />
5+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../" />
6+
<option name="PASS_PARENT_ENVS" value="1" />
7+
<option name="USE_EXTERNAL_CONSOLE" value="0" />
8+
<option name="USE_MONO" value="0" />
9+
<option name="RUNTIME_ARGUMENTS" value="" />
10+
<option name="PROJECT_PATH" value="$PROJECT_DIR$/../build/_build.csproj" />
11+
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
12+
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
13+
<option name="PROJECT_WORKING_DIRECTORY_TRACKING" value="0" />
14+
<option name="PROJECT_KIND" value="DotNetCore" />
15+
<option name="PROJECT_TFM" value="net6.0" />
16+
<method v="2">
17+
<option name="Build" />
18+
</method>
19+
</configuration>
20+
</component>

src/.run/Pack Rider.run.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="Pack Rider" type="NukeBuildTarget" factoryName=".NET Project">
3+
<option name="EXE_PATH" value="$PROJECT_DIR$/../build/bin/Debug/_build.exe" />
4+
<option name="PROGRAM_PARAMETERS" value="PackRiderPlugin --is-rider-host" />
5+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../" />
6+
<option name="PASS_PARENT_ENVS" value="1" />
7+
<option name="USE_EXTERNAL_CONSOLE" value="0" />
8+
<option name="USE_MONO" value="0" />
9+
<option name="RUNTIME_ARGUMENTS" value="" />
10+
<option name="PROJECT_PATH" value="$PROJECT_DIR$/../build/_build.csproj" />
11+
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
12+
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
13+
<option name="PROJECT_WORKING_DIRECTORY_TRACKING" value="0" />
14+
<option name="PROJECT_KIND" value="DotNetCore" />
15+
<option name="PROJECT_TFM" value="net6.0" />
16+
<method v="2">
17+
<option name="Build" />
18+
</method>
19+
</configuration>
20+
</component>

src/.run/Test ReSharper.run.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="Test ReSharper" type="NukeBuildTarget" factoryName=".NET Project">
3+
<option name="EXE_PATH" value="$PROJECT_DIR$/../build/bin/Debug/_build.exe" />
4+
<option name="PROGRAM_PARAMETERS" value="Test" />
5+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../" />
6+
<option name="PASS_PARENT_ENVS" value="1" />
7+
<option name="USE_EXTERNAL_CONSOLE" value="0" />
8+
<option name="USE_MONO" value="0" />
9+
<option name="RUNTIME_ARGUMENTS" value="" />
10+
<option name="PROJECT_PATH" value="$PROJECT_DIR$/../build/_build.csproj" />
11+
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
12+
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
13+
<option name="PROJECT_WORKING_DIRECTORY_TRACKING" value="0" />
14+
<option name="PROJECT_KIND" value="DotNetCore" />
15+
<option name="PROJECT_TFM" value="net6.0" />
16+
<method v="2">
17+
<option name="Build" />
18+
</method>
19+
</configuration>
20+
</component>

src/.run/Test Rider.run.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
<component name="ProjectRunConfigurationManager">
2+
<configuration default="false" name="Test Rider" type="NukeBuildTarget" factoryName=".NET Project">
3+
<option name="EXE_PATH" value="$PROJECT_DIR$/../build/bin/Debug/_build.exe" />
4+
<option name="PROGRAM_PARAMETERS" value="Test --is-rider-host" />
5+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/../" />
6+
<option name="PASS_PARENT_ENVS" value="1" />
7+
<option name="USE_EXTERNAL_CONSOLE" value="0" />
8+
<option name="USE_MONO" value="0" />
9+
<option name="RUNTIME_ARGUMENTS" value="" />
10+
<option name="PROJECT_PATH" value="$PROJECT_DIR$/../build/_build.csproj" />
11+
<option name="PROJECT_EXE_PATH_TRACKING" value="1" />
12+
<option name="PROJECT_ARGUMENTS_TRACKING" value="1" />
13+
<option name="PROJECT_WORKING_DIRECTORY_TRACKING" value="0" />
14+
<option name="PROJECT_KIND" value="DotNetCore" />
15+
<option name="PROJECT_TFM" value="net6.0" />
16+
<method v="2">
17+
<option name="Build" />
18+
</method>
19+
</configuration>
20+
</component>

src/ReSharper.Structured.Logging/Analyzer/PropertiesNamingAnalyzer.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,9 @@ private void CheckPropertiesInContext(
100100
}
101101

102102
var propertyArgument = element.ArgumentList.Arguments[0];
103-
var propertyName = propertyArgument.Value?.ConstantValue.StringValue;
103+
104+
var propertyName = string.Empty;
105+
propertyArgument.Value?.ConstantValue.IsString(out propertyName);
104106
if (string.IsNullOrEmpty(propertyName))
105107
{
106108
return;
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
using Serilog;
2+
using Serilog.Context;
3+
4+
namespace ConsoleApp
5+
{
6+
public static class Program
7+
{
8+
public static void Main()
9+
{
10+
var s = "world";
11+
LogContext.PushProperty($"Hello{s}", 1);
12+
}
13+
}
14+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
using Serilog;
2+
using Serilog.Context;
3+
4+
namespace ConsoleApp
5+
{
6+
public static class Program
7+
{
8+
public static void Main()
9+
{
10+
var s = "world";
11+
LogContext.PushProperty($"Hello{s}", 1);
12+
}
13+
}
14+
}
15+
16+
---------------------------------------------------------

test/src/Analyzer/PropertiesNamingAnalyzerTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@ public class PropertiesNamingAnalyzerTests : MessageTemplateAnalyzerTestBase
1414

1515
[Test] public void TestSerilogContextInvalidNamedProperty() => DoNamedTest2();
1616

17+
[Test] public void TestSerilogContextInterpolatedStringProperty() => DoNamedTest2();
18+
1719
[Test] public void TestSerilogInvalidNamedPropertyWithDot() => DoNamedTest2();
1820

1921
[Test] public void TestSerilogInvalidNamedPropertyWithSpace() => DoNamedTest2();

0 commit comments

Comments
 (0)