Skip to content

Commit 144454c

Browse files
committed
Don't register ignore Attributes
1 parent 5440d2d commit 144454c

File tree

2 files changed

+23
-6
lines changed

2 files changed

+23
-6
lines changed

nuget/Sqlite_net.SourceGenerator/SQLiteFastColumnSetterGenerator.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,7 @@ static bool IsCandidateClass(SyntaxNode node)
111111
var hasSqliteAttributes = member.GetAttributes ()
112112
.Any (attr =>
113113
attr.AttributeClass?.Name != null &&
114+
attr.AttributeClass.Name != "IgnoreAttribute" &&
114115
SQLitePropertyFullAttributes.Contains (attr.AttributeClass?.Name!));
115116

116117
// Include property if class has TableAttribute or property has ColumnAttribute

tests/SQLite.Tests/SourceGeneratorTest.cs

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,9 @@ public class OuterTestSetter
2323
public DateTime Date { get; set; }
2424

2525
public string NotWritable { get; }
26+
27+
[Ignore]
28+
public string Ignore { get; set; }
2629
}
2730

2831
public class OuterTestDb : SQLiteConnection
@@ -124,11 +127,24 @@ public void SqliteInitializer_OuterTestSetter_NotWritable_NotRegistered()
124127
{
125128
SQLiteInitializer.Init ();
126129

127-
if (SQLite.FastColumnSetter.customSetter.TryGetValue ((typeof (OuterTestSetter), nameof (OuterTestSetter.Id)), out var setter)) {
128-
Assert.IsTrue (true, "Should be registered");
130+
if (!SQLite.FastColumnSetter.customSetter.TryGetValue ((typeof (OuterTestSetter), nameof (OuterTestSetter.NotWritable)), out var setter)) {
131+
Assert.IsTrue (true, "Should not be registered (not writable)");
129132
}
130133
else {
131-
Assert.Fail ("Should be registered");
134+
Assert.Fail ("Should not be registered (not writable)");
135+
}
136+
}
137+
138+
[Test]
139+
public void SqliteInitializer_OuterTestSetter_Ignore_NotRegistered ()
140+
{
141+
SQLiteInitializer.Init ();
142+
143+
if (!SQLite.FastColumnSetter.customSetter.TryGetValue ((typeof (OuterTestSetter), nameof (OuterTestSetter.Ignore)), out var setter)) {
144+
Assert.IsTrue (true, "Should not be registered (Ignore)");
145+
}
146+
else {
147+
Assert.Fail ("Should not be registered (Ignore)");
132148
}
133149
}
134150

@@ -137,11 +153,11 @@ public void SqliteInitializer_OuterTestSetter ()
137153
{
138154
SQLiteInitializer.Init ();
139155

140-
if (!SQLite.FastColumnSetter.customSetter.TryGetValue ((typeof (OuterTestSetter), nameof (OuterTestSetter.NotWritable)), out var setter)) {
141-
Assert.IsTrue(true, "Should not be registered (not writable)");
156+
if (SQLite.FastColumnSetter.customSetter.TryGetValue ((typeof (OuterTestSetter), nameof (OuterTestSetter.Id)), out var setter)) {
157+
Assert.IsTrue(true, "Should not be registered");
142158
}
143159
else {
144-
Assert.Fail ("Should not be registered (not writable)");
160+
Assert.Fail ("Should not be registered");
145161
}
146162
}
147163

0 commit comments

Comments
 (0)