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."); - } }