@@ -105,8 +105,32 @@ protected override string ToArgString() =>
105
105
/// Aligns a pointer or a view to a specified alignment in bytes.
106
106
/// </summary>
107
107
[ ValueKind ( ValueKind . AlignTo ) ]
108
- public sealed class AlignTo : BaseAlignOperationValue
108
+ public sealed class AlignTo : BaseAlignOperationValue , IValueReader
109
109
{
110
+ #region Static
111
+
112
+ /// <summary cref="IValueReader.Read(ValueHeader, IIRReader)"/>
113
+ public static Value ? Read ( ValueHeader header , IIRReader reader )
114
+ {
115
+ var methodBuilder = header . Method ? . MethodBuilder ;
116
+ if ( methodBuilder is not null &&
117
+ header . Block is not null &&
118
+ header . Block . GetOrCreateBuilder ( methodBuilder ,
119
+ out BasicBlock . Builder ? blockBuilder ) )
120
+ {
121
+ return blockBuilder . CreateAlignTo (
122
+ Location . Unknown ,
123
+ header . Nodes [ 0 ] ,
124
+ header . Nodes [ 1 ] ) ;
125
+ }
126
+ else
127
+ {
128
+ return null ;
129
+ }
130
+ }
131
+
132
+ #endregion
133
+
110
134
#region Instance
111
135
112
136
/// <summary>
@@ -187,8 +211,32 @@ protected override string ToPrefixString() =>
187
211
/// bytes.
188
212
/// </summary>
189
213
[ ValueKind ( ValueKind . AsAligned ) ]
190
- public sealed class AsAligned : BaseAlignOperationValue
214
+ public sealed class AsAligned : BaseAlignOperationValue , IValueReader
191
215
{
216
+ #region Static
217
+
218
+ /// <summary cref="IValueReader.Read(ValueHeader, IIRReader)"/>
219
+ public static Value ? Read ( ValueHeader header , IIRReader reader )
220
+ {
221
+ var methodBuilder = header . Method ? . MethodBuilder ;
222
+ if ( methodBuilder is not null &&
223
+ header . Block is not null &&
224
+ header . Block . GetOrCreateBuilder ( methodBuilder ,
225
+ out BasicBlock . Builder ? blockBuilder ) )
226
+ {
227
+ return blockBuilder . CreateAsAligned (
228
+ Location . Unknown ,
229
+ header . Nodes [ 0 ] ,
230
+ header . Nodes [ 1 ] ) ;
231
+ }
232
+ else
233
+ {
234
+ return null ;
235
+ }
236
+ }
237
+
238
+ #endregion
239
+
192
240
#region Instance
193
241
194
242
/// <summary>
0 commit comments