diff --git a/Directory.Build.props b/Directory.Build.props
index a84478f9..007544d7 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -47,7 +47,7 @@
17.0.0
ClangSharp
ClangSharp
- 21.1.8
+ 21.1.8.2
rc1
pr
diff --git a/Directory.Packages.props b/Directory.Packages.props
index 621cf475..59deeab5 100644
--- a/Directory.Packages.props
+++ b/Directory.Packages.props
@@ -13,10 +13,10 @@
-
-
+
+
-
+
diff --git a/packages/libClangSharp/libClangSharp.runtime.linux-arm64/libClangSharp.runtime.linux-arm64.nuspec b/packages/libClangSharp/libClangSharp.runtime.linux-arm64/libClangSharp.runtime.linux-arm64.nuspec
index 3543ecb6..5ed064ac 100644
--- a/packages/libClangSharp/libClangSharp.runtime.linux-arm64/libClangSharp.runtime.linux-arm64.nuspec
+++ b/packages/libClangSharp/libClangSharp.runtime.linux-arm64/libClangSharp.runtime.linux-arm64.nuspec
@@ -2,7 +2,7 @@
libClangSharp.runtime.linux-arm64
- 21.1.8.1
+ 21.1.8.2
.NET Foundation and Contributors
.NET Foundation and Contributors
true
diff --git a/packages/libClangSharp/libClangSharp.runtime.linux-x64/libClangSharp.runtime.linux-x64.nuspec b/packages/libClangSharp/libClangSharp.runtime.linux-x64/libClangSharp.runtime.linux-x64.nuspec
index cf8fee1c..b5ba09e0 100644
--- a/packages/libClangSharp/libClangSharp.runtime.linux-x64/libClangSharp.runtime.linux-x64.nuspec
+++ b/packages/libClangSharp/libClangSharp.runtime.linux-x64/libClangSharp.runtime.linux-x64.nuspec
@@ -2,7 +2,7 @@
libClangSharp.runtime.linux-x64
- 21.1.8.1
+ 21.1.8.2
.NET Foundation and Contributors
.NET Foundation and Contributors
true
diff --git a/packages/libClangSharp/libClangSharp.runtime.osx-arm64/libClangSharp.runtime.osx-arm64.nuspec b/packages/libClangSharp/libClangSharp.runtime.osx-arm64/libClangSharp.runtime.osx-arm64.nuspec
index 14cee717..16e23c60 100644
--- a/packages/libClangSharp/libClangSharp.runtime.osx-arm64/libClangSharp.runtime.osx-arm64.nuspec
+++ b/packages/libClangSharp/libClangSharp.runtime.osx-arm64/libClangSharp.runtime.osx-arm64.nuspec
@@ -2,7 +2,7 @@
libClangSharp.runtime.osx-arm64
- 21.1.8.1
+ 21.1.8.2
.NET Foundation and Contributors
.NET Foundation and Contributors
true
diff --git a/packages/libClangSharp/libClangSharp.runtime.win-arm64/libClangSharp.runtime.win-arm64.nuspec b/packages/libClangSharp/libClangSharp.runtime.win-arm64/libClangSharp.runtime.win-arm64.nuspec
index a82a31a5..a25fb136 100644
--- a/packages/libClangSharp/libClangSharp.runtime.win-arm64/libClangSharp.runtime.win-arm64.nuspec
+++ b/packages/libClangSharp/libClangSharp.runtime.win-arm64/libClangSharp.runtime.win-arm64.nuspec
@@ -2,7 +2,7 @@
libClangSharp.runtime.win-arm64
- 21.1.8.1
+ 21.1.8.2
.NET Foundation and Contributors
.NET Foundation and Contributors
true
diff --git a/packages/libClangSharp/libClangSharp.runtime.win-x64/libClangSharp.runtime.win-x64.nuspec b/packages/libClangSharp/libClangSharp.runtime.win-x64/libClangSharp.runtime.win-x64.nuspec
index cb0da5b9..1ade586f 100644
--- a/packages/libClangSharp/libClangSharp.runtime.win-x64/libClangSharp.runtime.win-x64.nuspec
+++ b/packages/libClangSharp/libClangSharp.runtime.win-x64/libClangSharp.runtime.win-x64.nuspec
@@ -2,7 +2,7 @@
libClangSharp.runtime.win-x64
- 21.1.8.1
+ 21.1.8.2
.NET Foundation and Contributors
.NET Foundation and Contributors
true
diff --git a/packages/libClangSharp/libClangSharp/libClangSharp.nuspec b/packages/libClangSharp/libClangSharp/libClangSharp.nuspec
index 7104e3c2..cf13501c 100644
--- a/packages/libClangSharp/libClangSharp/libClangSharp.nuspec
+++ b/packages/libClangSharp/libClangSharp/libClangSharp.nuspec
@@ -2,7 +2,7 @@
libClangSharp
- 21.1.8.1
+ 21.1.8.2
.NET Foundation and Contributors
.NET Foundation and Contributors
true
diff --git a/packages/libClangSharp/libClangSharp/runtime.json b/packages/libClangSharp/libClangSharp/runtime.json
index 5f0fbfc3..01560176 100644
--- a/packages/libClangSharp/libClangSharp/runtime.json
+++ b/packages/libClangSharp/libClangSharp/runtime.json
@@ -2,27 +2,27 @@
"runtimes": {
"linux-arm64": {
"libClangSharp": {
- "libClangSharp.runtime.linux-arm64": "21.1.8.1"
+ "libClangSharp.runtime.linux-arm64": "21.1.8.2"
}
},
"linux-x64": {
"libClangSharp": {
- "libClangSharp.runtime.linux-x64": "21.1.8.1"
+ "libClangSharp.runtime.linux-x64": "21.1.8.2"
}
},
"osx-arm64": {
"libClangSharp": {
- "libClangSharp.runtime.osx-arm64": "21.1.8.1"
+ "libClangSharp.runtime.osx-arm64": "21.1.8.2"
}
},
"win-arm64": {
"libClangSharp": {
- "libClangSharp.runtime.win-arm64": "21.1.8.1"
+ "libClangSharp.runtime.win-arm64": "21.1.8.2"
}
},
"win-x64": {
"libClangSharp": {
- "libClangSharp.runtime.win-x64": "21.1.8.1"
+ "libClangSharp.runtime.win-x64": "21.1.8.2"
}
}
}
diff --git a/tests/ClangSharp.UnitTests/CXCursor.cs b/tests/ClangSharp.UnitTests/CXCursor.cs
index 2a795ad4..be222350 100644
--- a/tests/ClangSharp.UnitTests/CXCursor.cs
+++ b/tests/ClangSharp.UnitTests/CXCursor.cs
@@ -30,8 +30,6 @@ public void AttrKindSpelling()
[Test]
public void IsExternC()
{
- AssertNeedNewClangSharp();
-
var inputContents =
$$"""
extern "C" {
diff --git a/tests/ClangSharp.UnitTests/CursorTests/DeclTest.cs b/tests/ClangSharp.UnitTests/CursorTests/DeclTest.cs
index a32618fb..bf6aa056 100644
--- a/tests/ClangSharp.UnitTests/CursorTests/DeclTest.cs
+++ b/tests/ClangSharp.UnitTests/CursorTests/DeclTest.cs
@@ -5,6 +5,7 @@
using ClangSharp.Interop;
using NUnit.Framework;
using static ClangSharp.Interop.CX_CXXAccessSpecifier;
+using static ClangSharp.Interop.CX_StmtClass;
namespace ClangSharp.UnitTests;
@@ -100,8 +101,6 @@ class tuple;
[Test]
public void IsPodTest()
{
- AssertNeedNewClangSharp();
-
var inputContents = $$"""
struct A {
int a;
@@ -130,8 +129,6 @@ struct B {
[Test]
public void QualifiedNameTest()
{
- AssertNeedNewClangSharp();
-
var inputContents = """
class C {
void M();
@@ -162,8 +159,6 @@ struct S {
[Test]
public void UnsignedValue()
{
- ObjectiveCTest.AssertNeedNewClangSharp();
-
var inputContents = $$"""
enum E {
A = 1,
@@ -191,16 +186,25 @@ enum E {
Assert.That(initExpr, Is.Not.Null, $"enum E::{fieldName} InitExpr is null");
var isNegativeExpression = false;
- var castExpr = (ImplicitCastExpr)initExpr!;
- var subExpr = castExpr.SubExpr;
- if (subExpr is UnaryOperator unaryOperator)
+
+ if (initExpr is not IntegerLiteral literalExpr)
{
- Assert.That(unaryOperator.Opcode, Is.EqualTo(CXUnaryOperatorKind.CXUnaryOperator_Minus), $"enum E::{fieldName} InitExpr is not a minus UnaryOperator");
- subExpr = unaryOperator.SubExpr;
- isNegativeExpression = true;
+ if (initExpr is not { StmtClass: CX_StmtClass_UnaryOperator } subExpr)
+ {
+ var castExpr = (ImplicitCastExpr)initExpr!;
+ subExpr = castExpr.SubExpr;
+ }
+
+ if (subExpr is UnaryOperator unaryOperator)
+ {
+ Assert.That(unaryOperator.Opcode, Is.EqualTo(CXUnaryOperatorKind.CXUnaryOperator_Minus), $"enum E::{fieldName} InitExpr is not a minus UnaryOperator");
+ subExpr = unaryOperator.SubExpr;
+ isNegativeExpression = true;
+ }
+
+ literalExpr = (IntegerLiteral)subExpr;
}
- var literalExpr = subExpr as IntegerLiteral;
- Assert.That(literalExpr, Is.Not.Null, $"enum E::{fieldName} InitExpr is not IntegerLiteral {castExpr.SubExpr!.GetType().Name}");
+ Assert.That(literalExpr, Is.Not.Null, $"enum E::{fieldName} InitExpr is not IntegerLiteral {initExpr?.GetType().Name}");
Assert.That(literalExpr!.Value, Is.EqualTo(expectedValue), $"enum E::{fieldName} value mismatch");
Assert.That(literalExpr!.UnsignedValue, Is.EqualTo(expectedUnsignedValue), $"enum E::{fieldName} unsigned value mismatch");
Assert.That(negative, Is.EqualTo(isNegativeExpression), $"enum E::{fieldName} negative mismatch");
diff --git a/tests/ClangSharp.UnitTests/ObjectiveCTest.cs b/tests/ClangSharp.UnitTests/ObjectiveCTest.cs
index 9b8a7364..bfc9c0a7 100644
--- a/tests/ClangSharp.UnitTests/ObjectiveCTest.cs
+++ b/tests/ClangSharp.UnitTests/ObjectiveCTest.cs
@@ -14,8 +14,6 @@ public sealed class ObjectiveCTest : TranslationUnitTest
[Test]
public void Attribute_ObjCRuntimeName()
{
- AssertNeedNewClangSharp();
-
var inputContents = $$"""
__attribute__((objc_runtime_name("MyRenamedClass")))
@interface MyClass
@@ -50,8 +48,6 @@ @protocol MyProtocol
[Test]
public void Type_IsObjCInstanceType()
{
- AssertNeedNewClangSharp();
-
var inputContents = $@"
@interface MyClass
-(instancetype) instanceMethod;
@@ -78,8 +74,6 @@ @interface MyClass
[Test]
public void Method_Selector()
{
- AssertNeedNewClangSharp();
-
var inputContents = $@"
@interface MyClass
@property int P1;
@@ -115,8 +109,6 @@ @interface MyClass
[Test]
public void Method_Family()
{
- AssertNeedNewClangSharp();
-
var inputContents = $@"
@interface NSObject
-(void) none;
@@ -260,8 +252,6 @@ @interface MyClass
[Test]
public void Category_TypeParamList()
{
- AssertNeedNewClangSharp();
-
var inputContents = $@"
@interface MyClass
@end
@@ -281,8 +271,6 @@ @interface MyClass (MyCategory)
[Test]
public void ClassWithProtocols()
{
- AssertNeedNewClangSharp();
-
var inputContents = $@"
@protocol P1
@end
@@ -308,8 +296,6 @@ @protocol P2
[Test]
public void Method_IsPropertyAccessor()
{
- AssertNeedNewClangSharp();
-
var inputContents = $@"
@interface MyClass
@property int P1;
@@ -345,8 +331,6 @@ @interface MyClass
[Test]
public void TypeParams()
{
- AssertNeedNewClangSharp();
-
var inputContents = $$"""
@interface NSObject
@end
@@ -421,8 +405,6 @@ @interface MyClass (MyCategory)
[Test]
public void PointerTypes()
{
- AssertNeedNewClangSharp();
-
var inputContents = """
@interface MyClass
-(void)instanceMethod:(MyClass **)ptrToPtrToMyClass;
@@ -452,8 +434,6 @@ @interface MyClass
[Test]
public void BlockTypes()
{
- AssertNeedNewClangSharp();
-
var inputContents = $$"""
@interface MyClass
-(MyClass *(^)(id))instanceMethod1;
@@ -495,8 +475,6 @@ @interface MyClass
[Test]
public void Attribute_AvailabilityAttributes()
{
- AssertNeedNewClangSharp();
-
var inputContents = $$"""
__attribute__((availability(ios,unavailable,message="Use another class")))
__attribute__((availability(tvos,introduced=10.0)))
@@ -615,8 +593,6 @@ @property int P1
[Test]
public void Attribute_PrettyPrint()
{
- AssertNeedNewClangSharp();
-
var inputContents = $@"
__attribute__((availability(ios,introduced=10.0)))
@interface MyClass
@@ -664,8 +640,6 @@ @interface MyClass
[Test]
public void Property_PropertyAttributes()
{
- AssertNeedNewClangSharp();
-
var inputContents = $$"""
@class NSObject;
diff --git a/tests/ClangSharp.UnitTests/TranslationUnitTest.cs b/tests/ClangSharp.UnitTests/TranslationUnitTest.cs
index 2c1f1eb3..806d4999 100644
--- a/tests/ClangSharp.UnitTests/TranslationUnitTest.cs
+++ b/tests/ClangSharp.UnitTests/TranslationUnitTest.cs
@@ -63,15 +63,4 @@ public abstract class TranslationUnitTest
return TranslationUnit.GetOrCreate(translationUnit);
}
-
- protected static void AssertNeedNewClangSharp()
- {
- var forceRun = !string.IsNullOrEmpty(Environment.GetEnvironmentVariable("FORCE_RUN"));
-
- if (forceRun)
- {
- return;
- }
- Assert.Ignore("TODO: this needs a new version of libClangSharp published.");
- }
}