@@ -37,6 +37,7 @@ const FUNCTION_KIND_MODULE = 'module';
37
37
const FUNCTION_KIND_STATIC = 'static' ;
38
38
const FUNCTION_KIND_CONSTRUCTOR = 'constructor' ;
39
39
const FUNCTION_KIND_INSTANCE = 'instance' ;
40
+ const FUNCTION_KIND_INSTANCE_WITHIN = 'instance_within' ;
40
41
41
42
const RETURN_TYPE_NONE = 'None' ;
42
43
@@ -127,6 +128,11 @@ const CALL_PYTHON_FUNCTION = {
127
128
tooltip = 'Calls the function ' + className + '.' + functionName + '.' ;
128
129
break ;
129
130
}
131
+ case FUNCTION_KIND_INSTANCE_WITHIN : {
132
+ const functionName = this . getFieldValue ( pythonUtils . FIELD_FUNCTION_NAME ) ;
133
+ tooltip = 'Calls the method ' + functionName + '.' ;
134
+ break ;
135
+ }
130
136
default :
131
137
throw new Error ( 'mrcVarKind must be "module", "static", "constructor", or "instance".' )
132
138
}
@@ -238,6 +244,11 @@ const CALL_PYTHON_FUNCTION = {
238
244
. appendField ( '.' )
239
245
. appendField ( createFieldNonEditableText ( '' ) , pythonUtils . FIELD_FUNCTION_NAME ) ;
240
246
break ;
247
+ case FUNCTION_KIND_INSTANCE_WITHIN :
248
+ this . appendDummyInput ( )
249
+ . appendField ( 'call' )
250
+ . appendField ( createFieldNonEditableText ( '' ) , pythonUtils . FIELD_FUNCTION_NAME ) ;
251
+ break ;
241
252
default :
242
253
throw new Error ( 'mrcVarKind must be "module", "static", "constructor", or "instance".' )
243
254
}
@@ -301,6 +312,14 @@ export const pythonFromBlock = function(
301
312
argStartIndex = 1 ; // Skip the self argument.
302
313
break ;
303
314
}
315
+ case FUNCTION_KIND_INSTANCE_WITHIN : {
316
+ const callPythonFunctionBlock = block as CallPythonFunctionBlock ;
317
+ const functionName = ( callPythonFunctionBlock . mrcActualFunctionName )
318
+ ? callPythonFunctionBlock . mrcActualFunctionName
319
+ : block . getFieldValue ( pythonUtils . FIELD_FUNCTION_NAME ) ;
320
+ code = 'self.' + functionName ;
321
+ break ;
322
+ }
304
323
}
305
324
code += '(' + generateCodeForArguments ( callPythonFunctionBlock , generator , argStartIndex ) + ')' ;
306
325
if ( block . outputConnection ) {
0 commit comments