Skip to content

Commit f1b5204

Browse files
committed
VariableInfo: checked increment; get rid of an unused field
1 parent 5117391 commit f1b5204

File tree

5 files changed

+10
-10
lines changed

5 files changed

+10
-10
lines changed

Cesium.CodeGen/Contexts/AssemblyContext.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
using Cesium.CodeGen.Contexts.Meta;
66
using Cesium.CodeGen.Contexts.Utilities;
77
using Cesium.CodeGen.Extensions;
8+
using Cesium.CodeGen.Ir.Declarations;
89
using Cesium.CodeGen.Ir.Emitting;
910
using Cesium.CodeGen.Ir.Lowering;
1011
using Cesium.CodeGen.Ir.Types;
@@ -220,17 +221,17 @@ public TypeReference StandardDelegateType(TypeReference returnType, IEnumerable<
220221
return null;
221222
}
222223

223-
internal void AddAssemblyLevelField(string name, Ir.Declarations.StorageClass storageClass, IType type)
224+
internal void AddAssemblyLevelField(string name, StorageClass storageClass, IType type)
224225
{
225226
if (_globalFields.TryGetValue(name, out var globalField))
226227
{
227-
if (globalField.StorageClass != Ir.Declarations.StorageClass.Extern && storageClass != Ir.Declarations.StorageClass.Extern)
228+
if (globalField.StorageClass != StorageClass.Extern && storageClass != StorageClass.Extern)
228229
throw new CompilationException($"Cannot add a duplicate global field named \"{name}\".");
229230

230231
return;
231232
}
232233

233-
_globalFields.Add(name, new (name, storageClass, type, null));
234+
_globalFields.Add(name, new (storageClass, type, null));
234235
}
235236

236237
public FieldDefinition? ResolveAssemblyLevelField(string name, TranslationUnitContext context)

Cesium.CodeGen/Contexts/BlockScope.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ public void AddVariable(StorageClass storageClass, string identifier, IType vari
4848
switch (storageClass)
4949
{
5050
case StorageClass.Auto:
51-
_variables.Add(identifier, new(identifier, storageClass, variable, constant));
51+
_variables.Add(identifier, new(storageClass, variable, constant));
5252
break;
5353
case StorageClass.Static:
5454
((IDeclarationScope) Parent).AddVariable(storageClass, identifier, variable, constant);

Cesium.CodeGen/Contexts/FunctionScope.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ public void DeclareFunction(string identifier, FunctionInfo functionInfo)
2828
public VariableInfo? GetGlobalField(string identifier) => AssemblyContext.GetGlobalField(identifier);
2929
public void AddVariable(StorageClass storageClass, string identifier, IType variableType, IExpression? constant)
3030
{
31-
_variables.Add(identifier, new(identifier, storageClass, variableType, constant));
31+
_variables.Add(identifier, new(storageClass, variableType, constant));
3232
if (storageClass == StorageClass.Static)
3333
{
3434
Context.AddTranslationUnitLevelField(storageClass, identifier, variableType);

Cesium.CodeGen/Contexts/GlobalConstructorScope.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
using Cesium.Ast;
21
using Cesium.CodeGen.Contexts.Meta;
32
using Cesium.CodeGen.Ir;
43
using Cesium.CodeGen.Ir.BlockItems;
@@ -33,13 +32,13 @@ public void AddVariable(StorageClass storageClass, string identifier, IType vari
3332
{
3433
if (constant is not null)
3534
{
36-
_variables.Add(identifier, new(identifier, storageClass, variableType, constant));
35+
_variables.Add(identifier, new(storageClass, variableType, constant));
3736
return;
3837
}
3938

4039
if (storageClass == StorageClass.Static)
4140
{
42-
_variables.Add(identifier, new(identifier, storageClass, variableType, constant));
41+
_variables.Add(identifier, new(storageClass, variableType, constant));
4342
}
4443

4544
Context.AddTranslationUnitLevelField(storageClass, identifier, variableType);

Cesium.CodeGen/Contexts/VariableInfo.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44

55
namespace Cesium.CodeGen.Contexts;
66

7-
internal record VariableInfo(string Identifier, StorageClass StorageClass, IType Type, IExpression? Constant)
7+
internal record VariableInfo(StorageClass StorageClass, IType Type, IExpression? Constant)
88
{
99
static int CurrentIndex = 0;
10-
public int Index { get; } = CurrentIndex++;
10+
public int Index { get; } = checked(CurrentIndex++);
1111
}

0 commit comments

Comments
 (0)