Transform the Count enum values into private constants

Summary:
Hides implementation details for the C, Objective-C and Swift APIs.
Closes https://github.com/facebook/yoga/pull/292

Differential Revision: D4351523

Pulled By: emilsjolander

fbshipit-source-id: 18a1149d169f0d52bd078714295000b5d07434dd
This commit is contained in:
David Hart
2016-12-22 02:57:19 -08:00
committed by Facebook Github Bot
parent ed765fe508
commit ff1a0e1eb8
3 changed files with 16 additions and 23 deletions

View File

@@ -111,22 +111,22 @@ def to_java_upper(symbol):
return out return out
root = os.path.dirname(__file__) root = os.path.dirname(os.path.abspath(__file__))
# write out C header # write out C headers
with open(root + '/yoga/YGEnums.h', 'w') as f: with open(root + '/yoga/YGEnums.h', 'w') as f:
f.write(LICENSE) f.write(LICENSE)
f.write('#pragma once\n\n') f.write('#pragma once\n\n')
f.write('#include "YGMacros.h"\n\n') f.write('#include "YGMacros.h"\n\n')
f.write('YG_EXTERN_C_BEGIN\n\n') f.write('YG_EXTERN_C_BEGIN\n\n')
for name, values in ENUMS.items(): for name, values in ENUMS.items():
f.write('#define YG%sCount %s\n' % (name, len(values)))
f.write('typedef enum YG%s {\n' % name) f.write('typedef enum YG%s {\n' % name)
for value in values: for value in values:
if isinstance(value, tuple): if isinstance(value, tuple):
f.write(' YG%s%s = %d,\n' % (name, value[0], value[1])) f.write(' YG%s%s = %d,\n' % (name, value[0], value[1]))
else: else:
f.write(' YG%s%s,\n' % (name, value)) f.write(' YG%s%s,\n' % (name, value))
f.write(' YG%sCount,\n' % name)
f.write('} YG%s;\n' % name) f.write('} YG%s;\n' % name)
f.write('\n') f.write('\n')
f.write('YG_EXTERN_C_END\n') f.write('YG_EXTERN_C_END\n')

View File

@@ -13,28 +13,29 @@
YG_EXTERN_C_BEGIN YG_EXTERN_C_BEGIN
#define YGFlexDirectionCount 4
typedef enum YGFlexDirection { typedef enum YGFlexDirection {
YGFlexDirectionColumn, YGFlexDirectionColumn,
YGFlexDirectionColumnReverse, YGFlexDirectionColumnReverse,
YGFlexDirectionRow, YGFlexDirectionRow,
YGFlexDirectionRowReverse, YGFlexDirectionRowReverse,
YGFlexDirectionCount,
} YGFlexDirection; } YGFlexDirection;
#define YGMeasureModeCount 3
typedef enum YGMeasureMode { typedef enum YGMeasureMode {
YGMeasureModeUndefined, YGMeasureModeUndefined,
YGMeasureModeExactly, YGMeasureModeExactly,
YGMeasureModeAtMost, YGMeasureModeAtMost,
YGMeasureModeCount,
} YGMeasureMode; } YGMeasureMode;
#define YGPrintOptionsCount 3
typedef enum YGPrintOptions { typedef enum YGPrintOptions {
YGPrintOptionsLayout = 1, YGPrintOptionsLayout = 1,
YGPrintOptionsStyle = 2, YGPrintOptionsStyle = 2,
YGPrintOptionsChildren = 4, YGPrintOptionsChildren = 4,
YGPrintOptionsCount,
} YGPrintOptions; } YGPrintOptions;
#define YGEdgeCount 9
typedef enum YGEdge { typedef enum YGEdge {
YGEdgeLeft, YGEdgeLeft,
YGEdgeTop, YGEdgeTop,
@@ -45,72 +46,71 @@ typedef enum YGEdge {
YGEdgeHorizontal, YGEdgeHorizontal,
YGEdgeVertical, YGEdgeVertical,
YGEdgeAll, YGEdgeAll,
YGEdgeCount,
} YGEdge; } YGEdge;
#define YGPositionTypeCount 2
typedef enum YGPositionType { typedef enum YGPositionType {
YGPositionTypeRelative, YGPositionTypeRelative,
YGPositionTypeAbsolute, YGPositionTypeAbsolute,
YGPositionTypeCount,
} YGPositionType; } YGPositionType;
#define YGDimensionCount 2
typedef enum YGDimension { typedef enum YGDimension {
YGDimensionWidth, YGDimensionWidth,
YGDimensionHeight, YGDimensionHeight,
YGDimensionCount,
} YGDimension; } YGDimension;
#define YGJustifyCount 5
typedef enum YGJustify { typedef enum YGJustify {
YGJustifyFlexStart, YGJustifyFlexStart,
YGJustifyCenter, YGJustifyCenter,
YGJustifyFlexEnd, YGJustifyFlexEnd,
YGJustifySpaceBetween, YGJustifySpaceBetween,
YGJustifySpaceAround, YGJustifySpaceAround,
YGJustifyCount,
} YGJustify; } YGJustify;
#define YGDirectionCount 3
typedef enum YGDirection { typedef enum YGDirection {
YGDirectionInherit, YGDirectionInherit,
YGDirectionLTR, YGDirectionLTR,
YGDirectionRTL, YGDirectionRTL,
YGDirectionCount,
} YGDirection; } YGDirection;
#define YGLogLevelCount 5
typedef enum YGLogLevel { typedef enum YGLogLevel {
YGLogLevelError, YGLogLevelError,
YGLogLevelWarn, YGLogLevelWarn,
YGLogLevelInfo, YGLogLevelInfo,
YGLogLevelDebug, YGLogLevelDebug,
YGLogLevelVerbose, YGLogLevelVerbose,
YGLogLevelCount,
} YGLogLevel; } YGLogLevel;
#define YGWrapCount 2
typedef enum YGWrap { typedef enum YGWrap {
YGWrapNoWrap, YGWrapNoWrap,
YGWrapWrap, YGWrapWrap,
YGWrapCount,
} YGWrap; } YGWrap;
#define YGOverflowCount 3
typedef enum YGOverflow { typedef enum YGOverflow {
YGOverflowVisible, YGOverflowVisible,
YGOverflowHidden, YGOverflowHidden,
YGOverflowScroll, YGOverflowScroll,
YGOverflowCount,
} YGOverflow; } YGOverflow;
#define YGExperimentalFeatureCount 2
typedef enum YGExperimentalFeature { typedef enum YGExperimentalFeature {
YGExperimentalFeatureRounding, YGExperimentalFeatureRounding,
YGExperimentalFeatureWebFlexBasis, YGExperimentalFeatureWebFlexBasis,
YGExperimentalFeatureCount,
} YGExperimentalFeature; } YGExperimentalFeature;
#define YGAlignCount 5
typedef enum YGAlign { typedef enum YGAlign {
YGAlignAuto, YGAlignAuto,
YGAlignFlexStart, YGAlignFlexStart,
YGAlignCenter, YGAlignCenter,
YGAlignFlexEnd, YGAlignFlexEnd,
YGAlignStretch, YGAlignStretch,
YGAlignCount,
} YGAlign; } YGAlign;
YG_EXTERN_C_END YG_EXTERN_C_END

View File

@@ -133,8 +133,6 @@ static int YGAndroidLog(YGLogLevel level, const char *format, va_list args) {
case YGLogLevelVerbose: case YGLogLevelVerbose:
androidLevel = ANDROID_LOG_VERBOSE; androidLevel = ANDROID_LOG_VERBOSE;
break; break;
case YGLogLevelCount:
break;
} }
const int result = __android_log_vprint(androidLevel, "YG-layout", format, args); const int result = __android_log_vprint(androidLevel, "YG-layout", format, args);
return result; return result;
@@ -951,8 +949,6 @@ static void YGConstrainMaxSizeForMode(const float maxSize, YGMeasureMode *mode,
*size = maxSize; *size = maxSize;
} }
break; break;
case YGMeasureModeCount:
break;
} }
} }
@@ -1968,7 +1964,6 @@ static void YGNodelayoutImpl(const YGNodeRef node,
leadingMainDim = betweenMainDim / 2; leadingMainDim = betweenMainDim / 2;
break; break;
case YGJustifyFlexStart: case YGJustifyFlexStart:
case YGJustifyCount:
break; break;
} }
@@ -2171,7 +2166,6 @@ static void YGNodelayoutImpl(const YGNodeRef node,
break; break;
case YGAlignAuto: case YGAlignAuto:
case YGAlignFlexStart: case YGAlignFlexStart:
case YGAlignCount:
break; break;
} }
@@ -2231,7 +2225,6 @@ static void YGNodelayoutImpl(const YGNodeRef node,
break; break;
} }
case YGAlignAuto: case YGAlignAuto:
case YGAlignCount:
break; break;
} }
} }