Skip to content

Commit 01a3e16

Browse files
committed
Updated C# Name attribute to Accessor
1 parent e4098f9 commit 01a3e16

39 files changed

Lines changed: 300 additions & 314 deletions

File tree

crates/bindings-csharp/Codegen.Tests/fixtures/diag/Lib.cs

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -437,33 +437,29 @@ public MyStruct(int x)
437437
}
438438

439439
[SpacetimeDB.Table]
440-
[SpacetimeDB.Index.BTree(Name = "TestIndexWithoutColumns")]
441-
[SpacetimeDB.Index.BTree(Name = "TestIndexWithEmptyColumns", Columns = [])]
442-
[SpacetimeDB.Index.BTree(Name = "TestUnknownColumns", Columns = ["UnknownColumn"])]
440+
[SpacetimeDB.Index.BTree(Accessor = "TestIndexWithoutColumns")]
441+
[SpacetimeDB.Index.BTree(Accessor = "TestIndexWithEmptyColumns", Columns = [])]
442+
[SpacetimeDB.Index.BTree(Accessor = "TestUnknownColumns", Columns = ["UnknownColumn"])]
443443
public partial struct TestIndexIssues
444444
{
445-
[SpacetimeDB.Index.BTree(Name = "TestUnexpectedColumns", Columns = ["UnexpectedColumn"])]
445+
[SpacetimeDB.Index.BTree(Accessor = "TestUnexpectedColumns", Columns = ["UnexpectedColumn"])]
446446
public int SelfIndexingColumn;
447447
}
448448

449-
[SpacetimeDB.Table(
450-
Name = "TestScheduleWithoutPrimaryKey",
449+
[SpacetimeDB.Table(Accessor = "TestScheduleWithoutPrimaryKey",
451450
Scheduled = "DummyScheduledReducer",
452451
ScheduledAt = nameof(ScheduleAtCorrectType)
453452
)]
454-
[SpacetimeDB.Table(
455-
Name = "TestScheduleWithWrongPrimaryKeyType",
453+
[SpacetimeDB.Table(Accessor = "TestScheduleWithWrongPrimaryKeyType",
456454
Scheduled = "DummyScheduledReducer",
457455
ScheduledAt = nameof(ScheduleAtCorrectType)
458456
)]
459-
[SpacetimeDB.Table(Name = "TestScheduleWithoutScheduleAt", Scheduled = "DummyScheduledReducer")]
460-
[SpacetimeDB.Table(
461-
Name = "TestScheduleWithWrongScheduleAtType",
457+
[SpacetimeDB.Table(Accessor = "TestScheduleWithoutScheduleAt", Scheduled = "DummyScheduledReducer")]
458+
[SpacetimeDB.Table(Accessor = "TestScheduleWithWrongScheduleAtType",
462459
Scheduled = "DummyScheduledReducer",
463460
ScheduledAt = nameof(ScheduleAtWrongType)
464461
)]
465-
[SpacetimeDB.Table(
466-
Name = "TestScheduleWithMissingScheduleAtField",
462+
[SpacetimeDB.Table(Accessor = "TestScheduleWithMissingScheduleAtField",
467463
Scheduled = "DummyScheduledReducer",
468464
ScheduledAt = "MissingField"
469465
)]
@@ -517,36 +513,36 @@ public partial class Module
517513
);
518514

519515
// Invalid: View definition missing Public=true
520-
[SpacetimeDB.View(Name = "view_def_no_public")]
516+
[SpacetimeDB.View(Accessor = "view_def_no_public")]
521517
public static List<Player> ViewDefNoPublic(ViewContext ctx)
522518
{
523519
return new List<Player>();
524520
}
525521

526522
// Invalid: View definition with missing context type
527-
[SpacetimeDB.View(Name = "view_def_no_context", Public = true)]
523+
[SpacetimeDB.View(Accessor = "view_def_no_context", Public = true)]
528524
public static List<Player> ViewDefNoContext()
529525
{
530526
return new List<Player>();
531527
}
532528

533529
// Invalid: View definition with wrong context type
534-
[SpacetimeDB.View(Name = "view_def_wrong_context", Public = true)]
530+
[SpacetimeDB.View(Accessor = "view_def_wrong_context", Public = true)]
535531
public static List<Player> ViewDefWrongContext(ReducerContext ctx)
536532
{
537533
return new List<Player>();
538534
}
539535

540536
// Invalid: View that performs Insert
541-
[SpacetimeDB.View(Name = "view_no_insert", Public = true)]
537+
[SpacetimeDB.View(Accessor = "view_no_insert", Public = true)]
542538
public static Player? ViewNoInsert(ViewContext ctx)
543539
{
544540
ctx.Db.Player.Insert(new Player { Identity = new() });
545541
return new Player { Identity = new() };
546542
}
547543

548544
// Invalid: View that performs Delete
549-
[SpacetimeDB.View(Name = "view_no_delete", Public = true)]
545+
[SpacetimeDB.View(Accessor = "view_no_delete", Public = true)]
550546
public static Player? ViewNoDelete(ViewContext ctx)
551547
{
552548
ctx.Db.Player.Delete(new Player { Identity = new() });
@@ -555,41 +551,41 @@ public static List<Player> ViewDefWrongContext(ReducerContext ctx)
555551

556552
// TODO: Investigate why void return breaks the FFI generation
557553
// // Invalid: Void return type is not Vec<T> or Option<T>
558-
// [SpacetimeDB.View(Name = "view_def_no_return", Public = true)]
554+
// [SpacetimeDB.View(Accessor = "view_def_no_return", Public = true)]
559555
// public static void ViewDefNoReturn(ViewContext ctx)
560556
// {
561557
// return;
562558
// }
563559

564560
// Invalid: Wrong return type is not Vec<T> or Option<T>
565-
[SpacetimeDB.View(Name = "view_def_wrong_return", Public = true)]
561+
[SpacetimeDB.View(Accessor = "view_def_wrong_return", Public = true)]
566562
public static Player ViewDefWrongReturn(ViewContext ctx)
567563
{
568564
return new Player { Identity = new() };
569565
}
570566

571567
// Invalid: Returns type that is not a SpacetimeType
572-
[SpacetimeDB.View(Name = "view_def_returns_not_a_spacetime_type", Public = true)]
568+
[SpacetimeDB.View(Accessor = "view_def_returns_not_a_spacetime_type", Public = true)]
573569
public static NotSpacetimeType? ViewDefReturnsNotASpacetimeType(AnonymousViewContext ctx)
574570
{
575571
return new NotSpacetimeType();
576572
}
577573

578-
[SpacetimeDB.View(Name = "view_def_no_anon_identity", Public = true)]
574+
[SpacetimeDB.View(Accessor = "view_def_no_anon_identity", Public = true)]
579575
public static Player? ViewDefNoAnonIdentity(AnonymousViewContext ctx)
580576
{
581577
ctx.GetIdentity();
582578
return null;
583579
}
584580

585-
[SpacetimeDB.View(Name = "view_def_no_iter", Public = true)]
581+
[SpacetimeDB.View(Accessor = "view_def_no_iter", Public = true)]
586582
public static Player? ViewDefNoIter(AnonymousViewContext ctx)
587583
{
588584
ctx.Db.Player.Iter();
589585
return null;
590586
}
591587

592-
[SpacetimeDB.View(Name = "view_def_index_no_mutation", Public = true)]
588+
[SpacetimeDB.View(Accessor = "view_def_index_no_mutation", Public = true)]
593589
public static Player? ViewDefIndexNoMutation(AnonymousViewContext ctx)
594590
{
595591
ctx.Db.Player.Identity.Delete(0);

crates/bindings-csharp/Codegen.Tests/fixtures/diag/snapshots/Module.verified.txt

Lines changed: 33 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -87,8 +87,8 @@ public partial record TestTableTaggedEnum : SpacetimeDB.TaggedEnum<(int X, int Y
8787
},
8888
{/*
8989
{
90-
[SpacetimeDB.Index.BTree(Name = "TestUnexpectedColumns", Columns = ["UnexpectedColumn"])]
91-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
90+
[SpacetimeDB.Index.BTree(Accessor = "TestUnexpectedColumns", Columns = ["UnexpectedColumn"])]
91+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
9292
public int SelfIndexingColumn;
9393
*/
9494
Message: Index attribute on a field applies directly to that field, so it doesn't accept the Columns parameter.,
@@ -104,9 +104,9 @@ public partial record TestTableTaggedEnum : SpacetimeDB.TaggedEnum<(int X, int Y
104104
},
105105
{/*
106106
[SpacetimeDB.Table]
107-
[SpacetimeDB.Index.BTree(Name = "TestIndexWithoutColumns")]
108-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
109-
[SpacetimeDB.Index.BTree(Name = "TestIndexWithEmptyColumns", Columns = [])]
107+
[SpacetimeDB.Index.BTree(Accessor = "TestIndexWithoutColumns")]
108+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
109+
[SpacetimeDB.Index.BTree(Accessor = "TestIndexWithEmptyColumns", Columns = [])]
110110
*/
111111
Message: Index attribute doesn't specify columns.,
112112
Severity: Error,
@@ -120,10 +120,10 @@ public partial record TestTableTaggedEnum : SpacetimeDB.TaggedEnum<(int X, int Y
120120
}
121121
},
122122
{/*
123-
[SpacetimeDB.Index.BTree(Name = "TestIndexWithoutColumns")]
124-
[SpacetimeDB.Index.BTree(Name = "TestIndexWithEmptyColumns", Columns = [])]
125-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
126-
[SpacetimeDB.Index.BTree(Name = "TestUnknownColumns", Columns = ["UnknownColumn"])]
123+
[SpacetimeDB.Index.BTree(Accessor = "TestIndexWithoutColumns")]
124+
[SpacetimeDB.Index.BTree(Accessor = "TestIndexWithEmptyColumns", Columns = [])]
125+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
126+
[SpacetimeDB.Index.BTree(Accessor = "TestUnknownColumns", Columns = ["UnknownColumn"])]
127127
*/
128128
Message: Index attribute doesn't specify columns.,
129129
Severity: Error,
@@ -137,9 +137,9 @@ public partial record TestTableTaggedEnum : SpacetimeDB.TaggedEnum<(int X, int Y
137137
}
138138
},
139139
{/*
140-
[SpacetimeDB.Index.BTree(Name = "TestIndexWithEmptyColumns", Columns = [])]
141-
[SpacetimeDB.Index.BTree(Name = "TestUnknownColumns", Columns = ["UnknownColumn"])]
142-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
140+
[SpacetimeDB.Index.BTree(Accessor = "TestIndexWithEmptyColumns", Columns = [])]
141+
[SpacetimeDB.Index.BTree(Accessor = "TestUnknownColumns", Columns = ["UnknownColumn"])]
142+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
143143
public partial struct TestIndexIssues
144144
*/
145145
Message: Could not find the specified column UnknownColumn in TestIndexIssues.,
@@ -155,17 +155,15 @@ public partial struct TestIndexIssues
155155
},
156156
{/*
157157

158-
[SpacetimeDB.Table(
159-
^^^^^^^^^^^^^^^^^^
160-
Name = "TestScheduleWithoutPrimaryKey",
161-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
158+
[SpacetimeDB.Table(Accessor = "TestScheduleWithoutPrimaryKey",
159+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
162160
Scheduled = "DummyScheduledReducer",
163161
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
164162
ScheduledAt = nameof(ScheduleAtCorrectType)
165163
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
166164
)]
167165
^
168-
[SpacetimeDB.Table(
166+
[SpacetimeDB.Table(Accessor = "TestScheduleWithWrongPrimaryKeyType",
169167
*/
170168
Message: TestScheduleWithoutPrimaryKey is a scheduled table but doesn't have a primary key of type `ulong`.,
171169
Severity: Error,
@@ -180,17 +178,15 @@ public partial struct TestIndexIssues
180178
},
181179
{/*
182180
)]
183-
[SpacetimeDB.Table(
184-
^^^^^^^^^^^^^^^^^^
185-
Name = "TestScheduleWithWrongPrimaryKeyType",
186-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
181+
[SpacetimeDB.Table(Accessor = "TestScheduleWithWrongPrimaryKeyType",
182+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
187183
Scheduled = "DummyScheduledReducer",
188184
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
189185
ScheduledAt = nameof(ScheduleAtCorrectType)
190186
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
191187
)]
192188
^
193-
[SpacetimeDB.Table(Name = "TestScheduleWithoutScheduleAt", Scheduled = "DummyScheduledReducer")]
189+
[SpacetimeDB.Table(Accessor = "TestScheduleWithoutScheduleAt", Scheduled = "DummyScheduledReducer")]
194190
*/
195191
Message: TestScheduleWithWrongPrimaryKeyType is a scheduled table but doesn't have a primary key of type `ulong`.,
196192
Severity: Error,
@@ -205,9 +201,9 @@ public partial struct TestIndexIssues
205201
},
206202
{/*
207203
)]
208-
[SpacetimeDB.Table(Name = "TestScheduleWithoutScheduleAt", Scheduled = "DummyScheduledReducer")]
209-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
210-
[SpacetimeDB.Table(
204+
[SpacetimeDB.Table(Accessor = "TestScheduleWithoutScheduleAt", Scheduled = "DummyScheduledReducer")]
205+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
206+
[SpacetimeDB.Table(Accessor = "TestScheduleWithWrongScheduleAtType",
211207
*/
212208
Message: Could not find the specified column ScheduledAt in TestScheduleIssues.,
213209
Severity: Error,
@@ -221,18 +217,16 @@ public partial struct TestIndexIssues
221217
}
222218
},
223219
{/*
224-
[SpacetimeDB.Table(Name = "TestScheduleWithoutScheduleAt", Scheduled = "DummyScheduledReducer")]
225-
[SpacetimeDB.Table(
226-
^^^^^^^^^^^^^^^^^^
227-
Name = "TestScheduleWithWrongScheduleAtType",
228-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
220+
[SpacetimeDB.Table(Accessor = "TestScheduleWithoutScheduleAt", Scheduled = "DummyScheduledReducer")]
221+
[SpacetimeDB.Table(Accessor = "TestScheduleWithWrongScheduleAtType",
222+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
229223
Scheduled = "DummyScheduledReducer",
230224
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
231225
ScheduledAt = nameof(ScheduleAtWrongType)
232226
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
233227
)]
234228
^
235-
[SpacetimeDB.Table(
229+
[SpacetimeDB.Table(Accessor = "TestScheduleWithMissingScheduleAtField",
236230
*/
237231
Message: TestScheduleWithWrongScheduleAtType is a scheduled table but doesn't have a primary key of type `ulong`.,
238232
Severity: Error,
@@ -247,10 +241,8 @@ public partial struct TestIndexIssues
247241
},
248242
{/*
249243
)]
250-
[SpacetimeDB.Table(
251-
^^^^^^^^^^^^^^^^^^
252-
Name = "TestScheduleWithMissingScheduleAtField",
253-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
244+
[SpacetimeDB.Table(Accessor = "TestScheduleWithMissingScheduleAtField",
245+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
254246
Scheduled = "DummyScheduledReducer",
255247
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
256248
ScheduledAt = "MissingField"
@@ -272,8 +264,8 @@ public partial struct TestScheduleIssues
272264
},
273265
{/*
274266
// Invalid: View definition missing Public=true
275-
[SpacetimeDB.View(Name = "view_def_no_public")]
276-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
267+
[SpacetimeDB.View(Accessor = "view_def_no_public")]
268+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
277269
public static List<Player> ViewDefNoPublic(ViewContext ctx)
278270
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
279271
{
@@ -296,7 +288,7 @@ public partial struct TestScheduleIssues
296288
}
297289
},
298290
{/*
299-
[SpacetimeDB.View(Name = "view_def_no_context", Public = true)]
291+
[SpacetimeDB.View(Accessor = "view_def_no_context", Public = true)]
300292
public static List<Player> ViewDefNoContext()
301293
^^
302294
{
@@ -313,7 +305,7 @@ public partial struct TestScheduleIssues
313305
}
314306
},
315307
{/*
316-
[SpacetimeDB.View(Name = "view_def_wrong_context", Public = true)]
308+
[SpacetimeDB.View(Accessor = "view_def_wrong_context", Public = true)]
317309
public static List<Player> ViewDefWrongContext(ReducerContext ctx)
318310
^^^^^^^^^^^^^^^^^^^^
319311
{
@@ -331,8 +323,8 @@ public partial struct TestScheduleIssues
331323
},
332324
{/*
333325
// Invalid: Wrong return type is not Vec<T> or Option<T>
334-
[SpacetimeDB.View(Name = "view_def_wrong_return", Public = true)]
335-
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
326+
[SpacetimeDB.View(Accessor = "view_def_wrong_return", Public = true)]
327+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
336328
public static Player ViewDefWrongReturn(ViewContext ctx)
337329
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
338330
{

crates/bindings-csharp/Codegen.Tests/fixtures/server/Lib.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -202,8 +202,8 @@ public static void Init(ReducerContext ctx)
202202
}
203203
}
204204

205-
[SpacetimeDB.Table(Name = "MultiTable1", Public = true)]
206-
[SpacetimeDB.Table(Name = "MultiTable2")]
205+
[SpacetimeDB.Table(Accessor = "MultiTable1", Public = true)]
206+
[SpacetimeDB.Table(Accessor = "MultiTable2")]
207207
public partial struct MultiTableRow
208208
{
209209
[SpacetimeDB.Index.BTree(Table = "MultiTable1")]
@@ -226,7 +226,7 @@ public static void InsertMultiData(ReducerContext ctx, MultiTableRow data)
226226
}
227227

228228
[SpacetimeDB.Table]
229-
[SpacetimeDB.Index.BTree(Name = "Location", Columns = ["X", "Y", "Z"])]
229+
[SpacetimeDB.Index.BTree(Accessor = "Location", Columns = ["X", "Y", "Z"])]
230230
partial struct BTreeMultiColumn
231231
{
232232
public uint X;
@@ -235,7 +235,7 @@ partial struct BTreeMultiColumn
235235
}
236236

237237
[SpacetimeDB.Table]
238-
[SpacetimeDB.Index.BTree(Name = "Location", Columns = ["X", "Y"])]
238+
[SpacetimeDB.Index.BTree(Accessor = "Location", Columns = ["X", "Y"])]
239239
partial struct BTreeViews
240240
{
241241
[SpacetimeDB.PrimaryKey]
@@ -274,19 +274,19 @@ public class Module
274274
[SpacetimeDB.ClientVisibilityFilter]
275275
public static readonly Filter ALL_PUBLIC_TABLES = new Filter.Sql("SELECT * FROM PublicTable");
276276

277-
[SpacetimeDB.View(Name = "public_table_view", Public = true)]
277+
[SpacetimeDB.View(Accessor = "public_table_view", Public = true)]
278278
public static PublicTable? PublicTableByIdentity(ViewContext ctx)
279279
{
280280
return (PublicTable?)ctx.Db.PublicTable.Id.Find(0);
281281
}
282282

283-
[SpacetimeDB.View(Name = "public_table_query", Public = true)]
283+
[SpacetimeDB.View(Accessor = "public_table_query", Public = true)]
284284
public static Query<PublicTable> PublicTableQuery(ViewContext ctx)
285285
{
286286
return ctx.From.PublicTable().Where(cols => cols.Id.Eq(0)).Build();
287287
}
288288

289-
[SpacetimeDB.View(Name = "find_public_table__by_identity", Public = true)]
289+
[SpacetimeDB.View(Accessor = "find_public_table__by_identity", Public = true)]
290290
public static PublicTable? FindPublicTableByIdentity(AnonymousViewContext ctx)
291291
{
292292
return (PublicTable?)ctx.Db.PublicTable.Id.Find(0);

0 commit comments

Comments
 (0)