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);
|
gLogger(level, format, args);
|
||||||
va_end(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 void (*CSSPrintFunc)(CSSNodeRef node);
|
||||||
typedef int (*CSSLogger)(CSSLogLevel level, const char *format, va_list args);
|
typedef int (*CSSLogger)(CSSLogLevel level, const char *format, va_list args);
|
||||||
|
|
||||||
#ifdef CSS_ASSERT_FAIL_ENABLED
|
|
||||||
typedef void (*CSSAssertFailFunc)(const char *message);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// CSSNode
|
// CSSNode
|
||||||
WIN_EXPORT CSSNodeRef CSSNodeNew(void);
|
WIN_EXPORT CSSNodeRef CSSNodeNew(void);
|
||||||
WIN_EXPORT void CSSNodeInit(const CSSNodeRef node);
|
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 CSSLayoutSetLogger(CSSLogger logger);
|
||||||
WIN_EXPORT void CSSLog(CSSLogLevel level, const char *message, ...);
|
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
|
CSS_EXTERN_C_END
|
||||||
|
@@ -33,16 +33,10 @@
|
|||||||
#define CSS_ABORT()
|
#define CSS_ABORT()
|
||||||
#endif
|
#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
|
#ifndef CSS_ASSERT
|
||||||
#define CSS_ASSERT(X, message) \
|
#define CSS_ASSERT(X, message) \
|
||||||
if (!(X)) { \
|
if (!(X)) { \
|
||||||
CSS_ERROR_FUNC(message); \
|
CSSLog(CSSLogLevelError, "%s", message); \
|
||||||
CSS_ABORT(); \
|
CSS_ABORT(); \
|
||||||
}
|
}
|
||||||
#endif
|
#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);
|
Logger(level, message);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (level == CSSLogLevel.Error)
|
||||||
|
{
|
||||||
|
throw new InvalidOperationException(message);
|
||||||
|
}
|
||||||
};
|
};
|
||||||
Native.CSSInteropSetLogger(_managedLogger);
|
Native.CSSInteropSetLogger(_managedLogger);
|
||||||
_initialized = true;
|
_initialized = true;
|
||||||
|
@@ -26,7 +26,6 @@ namespace Facebook.CSSLayout
|
|||||||
|
|
||||||
public CSSNode()
|
public CSSNode()
|
||||||
{
|
{
|
||||||
CSSAssert.Initialize();
|
|
||||||
CSSLogger.Initialize();
|
CSSLogger.Initialize();
|
||||||
|
|
||||||
_cssNode = Native.CSSNodeNew();
|
_cssNode = Native.CSSNodeNew();
|
||||||
|
@@ -24,10 +24,6 @@ namespace Facebook.CSSLayout
|
|||||||
public static extern void CSSInteropSetLogger(
|
public static extern void CSSInteropSetLogger(
|
||||||
[MarshalAs(UnmanagedType.FunctionPtr)] CSSLogger.Func func);
|
[MarshalAs(UnmanagedType.FunctionPtr)] CSSLogger.Func func);
|
||||||
|
|
||||||
[DllImport(DllName)]
|
|
||||||
public static extern void CSSAssertSetFailFunc(
|
|
||||||
[MarshalAs(UnmanagedType.FunctionPtr)] CSSAssert.FailFunc func);
|
|
||||||
|
|
||||||
[DllImport(DllName)]
|
[DllImport(DllName)]
|
||||||
public static extern IntPtr CSSNodeNew();
|
public static extern IntPtr CSSNodeNew();
|
||||||
|
|
||||||
|
@@ -27,6 +27,6 @@ if [ -d $NUNIT \
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
cd "$( dirname "$0" )"
|
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
|
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
|
MONO_PATH=$NUNIT mono64 --debug $NUNIT/nunit-console.exe CSSLayoutTest.dll
|
||||||
|
Reference in New Issue
Block a user