Skip to content

Commit 8057040

Browse files
committed
Added StripConst extension method to QualifiedType.
1 parent 0b608b0 commit 8057040

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed

src/AST/TypeExtensions.cs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -361,6 +361,25 @@ private static bool IsConst(this QualifiedType type)
361361
type.Type.GetQualifiedPointee().IsConst());
362362
}
363363

364+
public static QualifiedType StripConst(this QualifiedType type)
365+
{
366+
var qualifiers = type.Qualifiers;
367+
qualifiers.IsConst = false;
368+
type.Qualifiers = qualifiers;
369+
370+
var ptr = type.Type as PointerType;
371+
if (ptr != null)
372+
{
373+
var pointee = ptr.QualifiedPointee;
374+
var pointeeQualifiers = pointee.Qualifiers;
375+
pointeeQualifiers.IsConst = false;
376+
pointee.Qualifiers = pointeeQualifiers;
377+
ptr.QualifiedPointee = pointee;
378+
}
379+
380+
return type;
381+
}
382+
364383
public static bool IsConstCharString(this Type type)
365384
{
366385
var desugared = type.Desugar();

0 commit comments

Comments
 (0)