@@ -51,54 +51,62 @@ public interface InvocationCompiler {
5151
5252 /**
5353 * Invoke a superclass method from an instance context.
54- *
54+ * <p>
5555 * Stack required: context, caller, self, start class, arguments[, block]
56- * @param file the filename of the script making this call
57- * @param name name of the method to invoke
58- * @param arity arity of the arguments on the stack
59- * @param hasClosure whether a block is passed
56+ *
57+ * @param file the filename of the script making this call
58+ * @param name name of the method to invoke
59+ * @param arity arity of the arguments on the stack
60+ * @param hasClosure whether a block is passed
6061 * @param literalClosure whether the block passed is a literal closure
61- * @param splatmap a map of arguments to be splatted back into arg list
62+ * @param splatmap a map of arguments to be splatted back into arg list
63+ * @param flags
6264 */
63- void invokeInstanceSuper (String file , String name , int arity , boolean hasClosure , boolean literalClosure , boolean [] splatmap );
65+ void invokeInstanceSuper (String file , String name , int arity , boolean hasClosure , boolean literalClosure , boolean [] splatmap , int flags );
6466
6567 /**
6668 * Invoke a superclass method from a class context.
67- *
69+ * <p>
6870 * Stack required: context, caller, self, start class, arguments[, block]
69- * @param file the filename of the script making this call
70- * @param name name of the method to invoke
71- * @param arity arity of the arguments on the stack
72- * @param hasClosure whether a block is passed
71+ *
72+ * @param file the filename of the script making this call
73+ * @param name name of the method to invoke
74+ * @param arity arity of the arguments on the stack
75+ * @param hasClosure whether a block is passed
7376 * @param literalClosure whether the block passed is a literal closure
74- * @param splatmap a map of arguments to be splatted back into arg list
77+ * @param splatmap a map of arguments to be splatted back into arg list
78+ * @param flags
7579 */
76- void invokeClassSuper (String file , String name , int arity , boolean hasClosure , boolean literalClosure , boolean [] splatmap );
80+ void invokeClassSuper (String file , String name , int arity , boolean hasClosure , boolean literalClosure , boolean [] splatmap , int flags );
7781
7882 /**
7983 * Invoke a superclass method from an unresolved context.
80- *
84+ * <p>
8185 * Stack required: context, caller, self, arguments[, block]
82- * @param file the filename of the script making this call
83- * @param name name of the method to invoke
84- * @param arity arity of the arguments on the stack
85- * @param hasClosure whether a block is passed
86+ *
87+ * @param file the filename of the script making this call
88+ * @param name name of the method to invoke
89+ * @param arity arity of the arguments on the stack
90+ * @param hasClosure whether a block is passed
8691 * @param literalClosure whether the block passed is a literal closure
87- * @param splatmap a map of arguments to be splatted back into arg list
92+ * @param splatmap a map of arguments to be splatted back into arg list
93+ * @param flags
8894 */
89- void invokeUnresolvedSuper (String file , String name , int arity , boolean hasClosure , boolean literalClosure , boolean [] splatmap );
95+ void invokeUnresolvedSuper (String file , String name , int arity , boolean hasClosure , boolean literalClosure , boolean [] splatmap , int flags );
9096
9197 /**
9298 * Invoke a superclass method from a zsuper in a block.
93- *
99+ * <p>
94100 * Stack required: context, caller, self, arguments[, block]
95- * @param file the filename of the script making this call
96- * @param name name of the method to invoke
97- * @param arity arity of the arguments on the stack
101+ *
102+ * @param file the filename of the script making this call
103+ * @param name name of the method to invoke
104+ * @param arity arity of the arguments on the stack
98105 * @param hasClosure whether a block is passed
99- * @param splatmap a map of arguments to be splatted back into arg list
106+ * @param splatmap a map of arguments to be splatted back into arg list
107+ * @param flags
100108 */
101- void invokeZSuper (String file , String name , int arity , boolean hasClosure , boolean [] splatmap );
109+ void invokeZSuper (String file , String name , int arity , boolean hasClosure , boolean [] splatmap , int flags );
102110
103111 /**
104112 * Perform a === call appropriate for a case/when statement.
@@ -113,4 +121,11 @@ public interface InvocationCompiler {
113121 * Stack required: context, caller, receiver
114122 */
115123 void asString (AsStringInstr call , String scopeFieldName , String file );
124+
125+ /**
126+ * Sets the current callInfo, when it cannot be passed other ways
127+ *
128+ * Stack required: none
129+ */
130+ void setCallInfo (int flags );
116131}
0 commit comments