/*
 * Copyright 2014-present Facebook, Inc.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.facebook.litho.annotations;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

@Retention(RetentionPolicy.RUNTIME)
public @interface FromMeasure {

}

@@ -724,16 +724,2067 @@
 olicy;%0A%0A
+/**%0A * Annotates that the argument's value should be set to the named inter-stage output from the %7B@link%0A * OnMeasure%7D lifecycle method. The name and type of the argument must match with the inter-stage%0A * output requested.%0A *%0A * %3Cp%3E%3Cem%3E%3Cb%3EThis can be used in:%3C/b%3E%3C/em%3E%0A *%0A * %3Cul%3E%0A *   %3Cli%3E%7B@link OnBoundsDefined%7D%0A *   %3Cli%3E%7B@link OnMount%7D%0A *   %3Cli%3E%7B@link OnBind%7D%0A *   %3Cli%3E%7B@link OnUnbind%7D%0A *   %3Cli%3E%7B@link OnUnmount%7D%0A *   %3Cli%3E%7B@link OnPopulateAccessibilityNode%7D%0A *   %3Cli%3E%7B@link OnPopulateExtraAccessibilityNode%7D%0A *   %3Cli%3E%7B@link GetExtraAccessibilityNodeAt%7D%0A *   %3Cli%3E%7B@link GetExtraAccessibilityNodesCount%7D%0A * %3C/ul%3E%0A *%0A * %3Cp%3EThe annotation processor will validate this and other invariants in the API at build time.%0A *%0A * %3Cp%3EFor example: %3Cbr%3E%0A *%0A * %3Cpre%3E%3Ccode%3E%7B@literal @MountSpec%7D%0A * public class SubtitleSpec %7B%0A *%0A *  %7B@literal @OnMeasure%7D%0A *   static void onMeasure(%0A *       ComponentContext componentContext,%0A *       ComponentLayout layout,%0A *       int widthSpec,%0A *       int heightSpec,%0A *       Size size,%0A *      %7B@literal @Prop%7D String text,%0A *       Output&lt;Layout&gt; measuredLayout) %7B%0A *%0A *     Layout textLayout = createTextLayout(text, widthSpec, heightSpec);%0A *%0A *     size.width = SizeSpec.resolveSize(widthSpec, textLayout.getWidth());%0A *     size.height = SizeSpec.resolveSize(heightSpec, LayoutMeasureUtil.getHeight(textLayout));%0A *%0A *     if (size.width &lt; 0 %7C%7C size.height &lt; 0) %7B%0A *       size.width = Math.max(size.width, 0);%0A *       size.height = Math.max(size.height, 0);%0A *     %7D%0A *%0A *     measuredLayout.set(textLayout);  // Set the value of output.%0A *   %7D%0A *%0A *  %7B@literal @OnMount%7D%0A *   static void onMount(ComponentContext c,%0A *     TextDrawable textDrawable,%0A *    %7B@literal @Prop%7D String text,%0A *     // Get measured layout from the output set in OnMeasure.%0A *    %7B@literal @FromMeasure%7D Layout measuredLayout) %7B%0A *%0A *       textDrawable.mount(%0A *         text,%0A *         textLayout,%0A *         0,%0A *         null,%0A *         Color.BLANK,%0A *         Color.GREEN,%0A *         null);%0A *   %7D%0A * %7D%3C/code%3E%3C/pre%3E%0A */%0A
 @Retenti
@@ -2842,12 +2842,10 @@
 easure %7B
-%0A%0A
 %7D%0A

Add JavaDoc for FromMeasure