comparison graal/com.oracle.truffle.api.codegen/src/com/oracle/truffle/api/codegen/NodeChild.java @ 9285:90eb4bb7f755

Added some javadoc to executeWith.
author Christian Humer <christian.humer@gmail.com>
date Wed, 24 Apr 2013 18:30:50 +0200
parents 97ad6d3e7557
children 8b2573c8d47f
comparison
equal deleted inserted replaced
9281:e16363e50252 9285:90eb4bb7f755
22 */ 22 */
23 package com.oracle.truffle.api.codegen; 23 package com.oracle.truffle.api.codegen;
24 24
25 import java.lang.annotation.*; 25 import java.lang.annotation.*;
26 26
27 import com.oracle.truffle.api.nodes.*;
28
27 @Retention(RetentionPolicy.CLASS) 29 @Retention(RetentionPolicy.CLASS)
28 @Target({ElementType.TYPE}) 30 @Target({ElementType.TYPE})
29 public @interface NodeChild { 31 public @interface NodeChild {
30 32
31 String value() default ""; 33 String value() default "";
32 34
33 Class<?> type() default NodeClass.InheritNode.class; 35 Class<?> type() default NodeClass.InheritNode.class;
34 36
37 /**
38 * Executes the {@link NodeChild} with values from other defined {@link NodeChild} elements.
39 * These referenced children must be defined before the current node in the execution order. The
40 * current node {@link #type()} attribute must be set to a {@link Node} which supports the
41 * evaluated execution with the number of {@link #executeWith()} arguments that are defined. For
42 * example if this child is executed with one argument, the {@link #type()} attribute must
43 * define a node which publicly declares a method with the signature
44 * <code>Object execute*(VirtualFrame, Object)</code>.
45 */
35 String[] executeWith() default {}; 46 String[] executeWith() default {};
36 } 47 }