Skip to content

Commit

Permalink
[skip ci] Remove public APIs for YGNodePrint and YGConfigSetPrintTree…
Browse files Browse the repository at this point in the history
…Flag (facebook#42688)

Summary:

X-link: facebook/yoga#1567

We are planning on overhauling NodeToString to output JSON instead of HTML for the purposes of better benchmarking and capturing trees in JSON format to benchmark later. This gives us a bit of a headache as we have to revise several build files to ensure this new library works, ensure that it is only included in certain debug builds, and deal with the benchmark <-> internal cross boundary that arises as the benchmark code (which is a separate binary) tries to interact with it.

On top of it all this is really not used at all. 

The plan is to rip out this functionality and just put it in a separate binary that one can include if they really want to debug. That means that it cannot exist in the public API, so I am removing it here.

Private internals come next

Changelog: [Internal]

Reviewed By: NickGerleman

Differential Revision: D53137544
  • Loading branch information
joevilches authored and facebook-github-bot committed Jan 31, 2024
1 parent db6c98e commit 55f6e0b
Show file tree
Hide file tree
Showing 14 changed files with 0 additions and 79 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,6 @@ public abstract class YogaConfig {

public abstract void setUseWebDefaults(boolean useWebDefaults);

public abstract void setPrintTreeFlag(boolean enable);

public abstract void setPointScaleFactor(float pixelsInPoint);

public abstract void setErrata(YogaErrata errata);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,6 @@ public void setUseWebDefaults(boolean useWebDefaults) {
YogaNative.jni_YGConfigSetUseWebDefaultsJNI(mNativePointer, useWebDefaults);
}

public void setPrintTreeFlag(boolean enable) {
YogaNative.jni_YGConfigSetPrintTreeFlagJNI(mNativePointer, enable);
}

public void setPointScaleFactor(float pixelsInPoint) {
YogaNative.jni_YGConfigSetPointScaleFactorJNI(mNativePointer, pixelsInPoint);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,6 @@ public class YogaNative {
static native void jni_YGConfigFreeJNI(long nativePointer);
static native void jni_YGConfigSetExperimentalFeatureEnabledJNI(long nativePointer, int feature, boolean enabled);
static native void jni_YGConfigSetUseWebDefaultsJNI(long nativePointer, boolean useWebDefaults);
static native void jni_YGConfigSetPrintTreeFlagJNI(long nativePointer, boolean enable);
static native void jni_YGConfigSetPointScaleFactorJNI(long nativePointer, float pixelsInPoint);
static native void jni_YGConfigSetErrataJNI(long nativePointer, int errata);
static native int jni_YGConfigGetErrataJNI(long nativePointer);
Expand Down Expand Up @@ -111,7 +110,6 @@ public class YogaNative {
static native void jni_YGNodeStyleSetGapJNI(long nativePointer, int gutter, float gapLength);
static native void jni_YGNodeSetHasMeasureFuncJNI(long nativePointer, boolean hasMeasureFunc);
static native void jni_YGNodeSetHasBaselineFuncJNI(long nativePointer, boolean hasMeasureFunc);
static native void jni_YGNodePrintJNI(long nativePointer);
static native void jni_YGNodeSetStyleInputsJNI(long nativePointer, float[] styleInputsArray, int size);
static native long jni_YGNodeCloneJNI(long nativePointer);
static native void jni_YGNodeSetAlwaysFormsContainingBlockJNI(long nativePointer, boolean alwaysFormContainingBlock);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -221,8 +221,6 @@ public interface Inputs {
@Nullable
public abstract Object getData();

public abstract void print();

public abstract YogaNode cloneWithoutChildren();

public abstract YogaNode cloneWithChildren();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -556,14 +556,6 @@ public void setData(Object data) {
return mData;
}

/**
* Use the set logger (defaults to adb log) to print out the styles, children, and computed layout
* of the tree rooted at this node.
*/
public void print() {
YogaNative.jni_YGNodePrintJNI(mNativePointer);
}

/**
* This method replaces the child at childIndex position with the newNode received by parameter.
* This is different than calling removeChildAt and addChildAt because this method ONLY replaces
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,15 +66,6 @@ static void jni_YGConfigSetUseWebDefaultsJNI(
YGConfigSetUseWebDefaults(config, useWebDefaults);
}

static void jni_YGConfigSetPrintTreeFlagJNI(
JNIEnv* /*env*/,
jobject /*obj*/,
jlong nativePointer,
jboolean enable) {
const YGConfigRef config = _jlong2YGConfigRef(nativePointer);
YGConfigSetPrintTreeFlag(config, enable);
}

static void jni_YGConfigSetPointScaleFactorJNI(
JNIEnv* /*env*/,
jobject /*obj*/,
Expand Down Expand Up @@ -690,18 +681,6 @@ static void jni_YGNodeSetAlwaysFormsContainingBlockJNI(
_jlong2YGNodeRef(nativePointer), alwaysFormsContainingBlock);
}

static void
jni_YGNodePrintJNI(JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer) {
#ifdef DEBUG
const YGNodeRef node = _jlong2YGNodeRef(nativePointer);
YGNodePrint(
node,
(YGPrintOptions)(YGPrintOptionsStyle | YGPrintOptionsLayout | YGPrintOptionsChildren));
#else
(void)nativePointer;
#endif
}

static jlong
jni_YGNodeCloneJNI(JNIEnv* /*env*/, jobject /*obj*/, jlong nativePointer) {
auto node = _jlong2YGNodeRef(nativePointer);
Expand Down Expand Up @@ -744,9 +723,6 @@ static JNINativeMethod methods[] = {
{"jni_YGConfigSetUseWebDefaultsJNI",
"(JZ)V",
(void*)jni_YGConfigSetUseWebDefaultsJNI},
{"jni_YGConfigSetPrintTreeFlagJNI",
"(JZ)V",
(void*)jni_YGConfigSetPrintTreeFlagJNI},
{"jni_YGConfigSetPointScaleFactorJNI",
"(JF)V",
(void*)jni_YGConfigSetPointScaleFactorJNI},
Expand Down Expand Up @@ -970,7 +946,6 @@ static JNINativeMethod methods[] = {
{"jni_YGNodeSetAlwaysFormsContainingBlockJNI",
"(JZ)V",
(void*)jni_YGNodeSetAlwaysFormsContainingBlockJNI},
{"jni_YGNodePrintJNI", "(J)V", (void*)jni_YGNodePrintJNI},
{"jni_YGNodeCloneJNI", "(J)J", (void*)jni_YGNodeCloneJNI},
};

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,6 @@ class FakeYogaConfig : YogaConfig() {
// no-op
}

override fun setPrintTreeFlag(enable: Boolean) {
// no-op
}

override fun setPointScaleFactor(pixelsInPoint: Float) {
// no-op
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -243,10 +243,6 @@ class FakeYogaNode : YogaNode() {

override fun getData(): Any? = null

override fun print() {
// no-op
}

override fun cloneWithoutChildren(): YogaNode = FakeYogaNode()

override fun cloneWithChildren(): YogaNode = FakeYogaNode()
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -852,9 +852,6 @@ yoga::Config& YogaLayoutableShadowNode::initializeYogaConfig(
YGConfigSetErrata(&config, YGConfigGetErrata(previousConfig));
}

#ifdef RN_DEBUG_YOGA_LOGGER
YGConfigSetPrintTreeFlag(&config, true);
#endif
return config;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,3 @@
// are logged to console before the `assert` is fired. More useful on Android vs
// other platforms.
//#define STUB_VIEW_TREE_VERBOSE 1

// Verbose logging for certain Yoga-related things in the RN codebase (not Yoga
// codebase). Useful for debugging layout.
//#define RN_DEBUG_YOGA_LOGGER 1
4 changes: 0 additions & 4 deletions packages/react-native/ReactCommon/yoga/yoga/YGConfig.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,3 @@ void YGConfigSetCloneNodeFunc(
const YGCloneNodeFunc callback) {
resolveRef(config)->setCloneNodeCallback(callback);
}

void YGConfigSetPrintTreeFlag(YGConfigRef config, bool enabled) {
resolveRef(config)->setShouldPrintTree(enabled);
}
5 changes: 0 additions & 5 deletions packages/react-native/ReactCommon/yoga/yoga/YGConfig.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,9 +155,4 @@ YG_EXPORT void YGConfigSetCloneNodeFunc(
YGConfigRef config,
YGCloneNodeFunc callback);

/**
* Allows printing the Yoga node tree during layout for debugging purposes.
*/
YG_EXPORT void YGConfigSetPrintTreeFlag(YGConfigRef config, bool enabled);

YG_EXTERN_C_END
7 changes: 0 additions & 7 deletions packages/react-native/ReactCommon/yoga/yoga/YGNode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
#include <yoga/algorithm/CalculateLayout.h>
#include <yoga/debug/AssertFatal.h>
#include <yoga/debug/Log.h>
#include <yoga/debug/NodeToString.h>
#include <yoga/event/event.h>
#include <yoga/node/Node.h>

Expand Down Expand Up @@ -330,12 +329,6 @@ void YGNodeSetAlwaysFormsContainingBlock(
resolveRef(node)->setAlwaysFormsContainingBlock(alwaysFormsContainingBlock);
}

#ifdef DEBUG
void YGNodePrint(const YGNodeConstRef node, const YGPrintOptions options) {
yoga::print(resolveRef(node), scopedEnum(options));
}
#endif

// TODO: This leaks internal details to the public API. Remove after removing
// ComponentKit usage of it.
bool YGNodeCanUseCachedMeasurement(
Expand Down
5 changes: 0 additions & 5 deletions packages/react-native/ReactCommon/yoga/yoga/YGNode.h
Original file line number Diff line number Diff line change
Expand Up @@ -273,11 +273,6 @@ YG_EXPORT void YGNodeSetAlwaysFormsContainingBlock(
YGNodeRef node,
bool alwaysFormsContainingBlock);

/**
* Print a node to log output.
*/
YG_EXPORT void YGNodePrint(YGNodeConstRef node, YGPrintOptions options);

/**
* @deprecated
*/
Expand Down

0 comments on commit 55f6e0b

Please sign in to comment.