From 8057040c0c112662d742842906d9d22959092e14 Mon Sep 17 00:00:00 2001 From: Joao Matos Date: Mon, 18 Feb 2019 12:05:40 +0000 Subject: [PATCH] Added `StripConst` extension method to `QualifiedType`. --- src/AST/TypeExtensions.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/AST/TypeExtensions.cs b/src/AST/TypeExtensions.cs index 72ef07f2..17fbdcb6 100644 --- a/src/AST/TypeExtensions.cs +++ b/src/AST/TypeExtensions.cs @@ -361,6 +361,25 @@ type.Type.GetQualifiedPointee().IsConst()); } + public static QualifiedType StripConst(this QualifiedType type) + { + var qualifiers = type.Qualifiers; + qualifiers.IsConst = false; + type.Qualifiers = qualifiers; + + var ptr = type.Type as PointerType; + if (ptr != null) + { + var pointee = ptr.QualifiedPointee; + var pointeeQualifiers = pointee.Qualifiers; + pointeeQualifiers.IsConst = false; + pointee.Qualifiers = pointeeQualifiers; + ptr.QualifiedPointee = pointee; + } + + return type; + } + public static bool IsConstCharString(this Type type) { var desugared = type.Desugar();