diff --git a/CSSLayout/CSSLayout.c b/CSSLayout/CSSLayout.c index e8e4d21c..7c4e97d2 100644 --- a/CSSLayout/CSSLayout.c +++ b/CSSLayout/CSSLayout.c @@ -2497,17 +2497,3 @@ void CSSLog(CSSLogLevel level, const char *format, ...) { gLogger(level, format, args); va_end(args); } - -#ifdef CSS_ASSERT_FAIL_ENABLED -static CSSAssertFailFunc gAssertFailFunc; - -void CSSAssertSetFailFunc(CSSAssertFailFunc func) { - gAssertFailFunc = func; -} - -void CSSAssertFail(const char *message) { - if (gAssertFailFunc) { - (*gAssertFailFunc)(message); - } -} -#endif diff --git a/CSSLayout/CSSLayout.h b/CSSLayout/CSSLayout.h index 39f134f2..fb06d6d4 100644 --- a/CSSLayout/CSSLayout.h +++ b/CSSLayout/CSSLayout.h @@ -132,10 +132,6 @@ typedef CSSSize (*CSSMeasureFunc)(CSSNodeRef node, typedef void (*CSSPrintFunc)(CSSNodeRef node); typedef int (*CSSLogger)(CSSLogLevel level, const char *format, va_list args); -#ifdef CSS_ASSERT_FAIL_ENABLED -typedef void (*CSSAssertFailFunc)(const char *message); -#endif - // CSSNode WIN_EXPORT CSSNodeRef CSSNodeNew(void); WIN_EXPORT void CSSNodeInit(const CSSNodeRef node); @@ -242,10 +238,4 @@ CSS_NODE_LAYOUT_PROPERTY(CSSDirection, Direction); WIN_EXPORT void CSSLayoutSetLogger(CSSLogger logger); WIN_EXPORT void CSSLog(CSSLogLevel level, const char *message, ...); -#ifdef CSS_ASSERT_FAIL_ENABLED -// Assert -WIN_EXPORT void CSSAssertSetFailFunc(CSSAssertFailFunc func); -WIN_EXPORT void CSSAssertFail(const char *message); -#endif - CSS_EXTERN_C_END diff --git a/CSSLayout/CSSMacros.h b/CSSLayout/CSSMacros.h index 65e68964..8d2375e5 100644 --- a/CSSLayout/CSSMacros.h +++ b/CSSLayout/CSSMacros.h @@ -33,16 +33,10 @@ #define CSS_ABORT() #endif -#if CSS_ASSERT_FAIL_ENABLED -#define CSS_ERROR_FUNC(message) CSSAssertFail(message) -#else -#define CSS_ERROR_FUNC(message) CSSLog(CSSLogLevelError, "%s", message) -#endif - #ifndef CSS_ASSERT -#define CSS_ASSERT(X, message) \ - if (!(X)) { \ - CSS_ERROR_FUNC(message); \ - CSS_ABORT(); \ +#define CSS_ASSERT(X, message) \ + if (!(X)) { \ + CSSLog(CSSLogLevelError, "%s", message); \ + CSS_ABORT(); \ } #endif diff --git a/csharp/Facebook.CSSLayout/CSSAssert.cs b/csharp/Facebook.CSSLayout/CSSAssert.cs deleted file mode 100644 index 848c9119..00000000 --- a/csharp/Facebook.CSSLayout/CSSAssert.cs +++ /dev/null @@ -1,35 +0,0 @@ -/** - * Copyright (c) 2014-present, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - */ - -using System; -using System.Runtime.InteropServices; - -namespace Facebook.CSSLayout -{ - internal static class CSSAssert - { - [UnmanagedFunctionPointer(CallingConvention.Cdecl)] - public delegate void FailFunc(string message); - - private static bool _assertInitialized; - private static FailFunc _failFunc; - - public static void Initialize() - { - if (!_assertInitialized) - { - _failFunc = (message) => { - throw new InvalidOperationException(message); - }; - Native.CSSAssertSetFailFunc(_failFunc); - _assertInitialized = true; - } - } - } -} diff --git a/csharp/Facebook.CSSLayout/CSSLogger.cs b/csharp/Facebook.CSSLayout/CSSLogger.cs index c6c4ae37..60122f27 100644 --- a/csharp/Facebook.CSSLayout/CSSLogger.cs +++ b/csharp/Facebook.CSSLayout/CSSLogger.cs @@ -31,6 +31,11 @@ namespace Facebook.CSSLayout { Logger(level, message); } + + if (level == CSSLogLevel.Error) + { + throw new InvalidOperationException(message); + } }; Native.CSSInteropSetLogger(_managedLogger); _initialized = true; diff --git a/csharp/Facebook.CSSLayout/CSSNode.cs b/csharp/Facebook.CSSLayout/CSSNode.cs index 6267001e..1fea4c8a 100644 --- a/csharp/Facebook.CSSLayout/CSSNode.cs +++ b/csharp/Facebook.CSSLayout/CSSNode.cs @@ -26,7 +26,6 @@ namespace Facebook.CSSLayout public CSSNode() { - CSSAssert.Initialize(); CSSLogger.Initialize(); _cssNode = Native.CSSNodeNew(); diff --git a/csharp/Facebook.CSSLayout/Native.cs b/csharp/Facebook.CSSLayout/Native.cs index 0d736f36..105652aa 100644 --- a/csharp/Facebook.CSSLayout/Native.cs +++ b/csharp/Facebook.CSSLayout/Native.cs @@ -24,10 +24,6 @@ namespace Facebook.CSSLayout public static extern void CSSInteropSetLogger( [MarshalAs(UnmanagedType.FunctionPtr)] CSSLogger.Func func); - [DllImport(DllName)] - public static extern void CSSAssertSetFailFunc( - [MarshalAs(UnmanagedType.FunctionPtr)] CSSAssert.FailFunc func); - [DllImport(DllName)] public static extern IntPtr CSSNodeNew(); diff --git a/csharp/tests/Facebook.CSSLayout/test_macos.sh b/csharp/tests/Facebook.CSSLayout/test_macos.sh index 27e39f64..c37247b8 100755 --- a/csharp/tests/Facebook.CSSLayout/test_macos.sh +++ b/csharp/tests/Facebook.CSSLayout/test_macos.sh @@ -27,6 +27,6 @@ if [ -d $NUNIT \ fi cd "$( dirname "$0" )" -clang -g -DCSS_ASSERT_FAIL_ENABLED -Wall -Wextra -dynamiclib -o libCSSLayout.dylib -I../../.. ../../../CSSLayout/*.c ../../CSSLayout/CSSInterop.cpp +clang -g -Wall -Wextra -dynamiclib -o libCSSLayout.dylib -I../../.. ../../../CSSLayout/*.c ../../CSSLayout/CSSInterop.cpp mcs -debug -t:library -r:$NUNIT/nunit.framework.dll -out:CSSLayoutTest.dll *.cs ../../../csharp/Facebook.CSSLayout/*cs MONO_PATH=$NUNIT mono64 --debug $NUNIT/nunit-console.exe CSSLayoutTest.dll