Remove CSSAssertSetFailFunc
Summary: Remove CSSAssertSetFailFunc and use CSSLogLevelError for throwing managed exception. Reviewed By: emilsjolander Differential Revision: D4155452 fbshipit-source-id: 5a19c79a212f204d13064527fd6e5843bab76e6b
This commit is contained in:
committed by
Facebook Github Bot
parent
8a7183f465
commit
c382d513fb
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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
|
||||
|
@@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@@ -31,6 +31,11 @@ namespace Facebook.CSSLayout
|
||||
{
|
||||
Logger(level, message);
|
||||
}
|
||||
|
||||
if (level == CSSLogLevel.Error)
|
||||
{
|
||||
throw new InvalidOperationException(message);
|
||||
}
|
||||
};
|
||||
Native.CSSInteropSetLogger(_managedLogger);
|
||||
_initialized = true;
|
||||
|
@@ -26,7 +26,6 @@ namespace Facebook.CSSLayout
|
||||
|
||||
public CSSNode()
|
||||
{
|
||||
CSSAssert.Initialize();
|
||||
CSSLogger.Initialize();
|
||||
|
||||
_cssNode = Native.CSSNodeNew();
|
||||
|
@@ -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();
|
||||
|
||||
|
@@ -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
|
||||
|
Reference in New Issue
Block a user