diff --git a/src/engine/analyzer/python/common/python-analyzer.ts b/src/engine/analyzer/python/common/python-analyzer.ts index 427ad6df..c1fba6e0 100644 --- a/src/engine/analyzer/python/common/python-analyzer.ts +++ b/src/engine/analyzer/python/common/python-analyzer.ts @@ -246,6 +246,21 @@ class PythonAnalyzer extends (Analyzer as any) { return SymbolValue(new_node) } + /** + * + * @param fclos + * @param argvalues + * @param state + * @param node + * @param scope + */ + executeSingleCall(fclos: any, argvalues: any, state: any, node: any, scope: any) { + if (fclos.decorators?.some((d: any) => d.name === 'classmethod') && argvalues[0]?.vtype === 'undefine') { + argvalues[0] = fclos._this + } + return super.executeSingleCall(fclos, argvalues, state, node, scope) + } + /** * * @param scope