47 OptionValues getOptions();
48
49 /**
50 * Gets the object managing the various graph builder plugins used by this object when parsing
51 * bytecode into a graph.
52 */
53 GraphBuilderConfiguration.Plugins getGraphBuilderPlugins();
54
55 /**
56 * Gets the plugin type that intrinsifies calls to {@code method}.
57 */
58 Class<? extends GraphBuilderPlugin> getIntrinsifyingPlugin(ResolvedJavaMethod method);
59
60 /**
61 * Gets the snippet graph derived from a given method.
62 *
63 * @param args arguments to the snippet if available, otherwise {@code null}
64 * @param trackNodeSourcePosition
65 * @return the snippet graph, if any, that is derived from {@code method}
66 */
67 StructuredGraph getSnippet(ResolvedJavaMethod method, Object[] args, boolean trackNodeSourcePosition, NodeSourcePosition replaceePosition);
68
69 /**
70 * Gets the snippet graph derived from a given method.
71 *
72 * @param recursiveEntry if the snippet contains a call to this method, it's considered as
73 * recursive call and won't be processed for {@linkplain MethodSubstitution
74 * substitutions}.
75 * @param args arguments to the snippet if available, otherwise {@code null}
76 * @param trackNodeSourcePosition
77 * @return the snippet graph, if any, that is derived from {@code method}
78 */
79 StructuredGraph getSnippet(ResolvedJavaMethod method, ResolvedJavaMethod recursiveEntry, Object[] args, boolean trackNodeSourcePosition, NodeSourcePosition replaceePosition);
80
81 /**
82 * Registers a method as snippet.
83 */
84 void registerSnippet(ResolvedJavaMethod method, ResolvedJavaMethod original, Object receiver, boolean trackNodeSourcePosition);
85
86 /**
87 * Gets a graph that is a substitution for a given method.
|
47 OptionValues getOptions();
48
49 /**
50 * Gets the object managing the various graph builder plugins used by this object when parsing
51 * bytecode into a graph.
52 */
53 GraphBuilderConfiguration.Plugins getGraphBuilderPlugins();
54
55 /**
56 * Gets the plugin type that intrinsifies calls to {@code method}.
57 */
58 Class<? extends GraphBuilderPlugin> getIntrinsifyingPlugin(ResolvedJavaMethod method);
59
60 /**
61 * Gets the snippet graph derived from a given method.
62 *
63 * @param args arguments to the snippet if available, otherwise {@code null}
64 * @param trackNodeSourcePosition
65 * @return the snippet graph, if any, that is derived from {@code method}
66 */
67 default StructuredGraph getSnippet(ResolvedJavaMethod method, Object[] args, boolean trackNodeSourcePosition, NodeSourcePosition replaceePosition) {
68 return getSnippet(method, null, args, trackNodeSourcePosition, replaceePosition);
69 }
70
71 /**
72 * Gets the snippet graph derived from a given method.
73 *
74 * @param recursiveEntry if the snippet contains a call to this method, it's considered as
75 * recursive call and won't be processed for {@linkplain MethodSubstitution
76 * substitutions}.
77 * @param args arguments to the snippet if available, otherwise {@code null}
78 * @param trackNodeSourcePosition
79 * @return the snippet graph, if any, that is derived from {@code method}
80 */
81 StructuredGraph getSnippet(ResolvedJavaMethod method, ResolvedJavaMethod recursiveEntry, Object[] args, boolean trackNodeSourcePosition, NodeSourcePosition replaceePosition);
82
83 /**
84 * Registers a method as snippet.
85 */
86 void registerSnippet(ResolvedJavaMethod method, ResolvedJavaMethod original, Object receiver, boolean trackNodeSourcePosition);
87
88 /**
89 * Gets a graph that is a substitution for a given method.
|