winIDEA SDK
test_get_functions.py
1# This script is licensed under BSD License, see file LICENSE.txt.
2#
3# (c) TASKING Germany GmbH, 2023
4
5import isystem.connect as ic
6
7
8winidea_id = ''
9
10
11def test_getFunctions():
12 connMgr = ic.ConnectionMgr()
13 connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
14
15 dataCtrl = ic.CDataController(connMgr)
16
17 funcVect = ic.FunctionVector()
18 dataCtrl.getFunctions(ic.CDataController.PARTITION_CURRENT, funcVect)
19
20 print(f"Available functions:")
21 for funcData in funcVect:
22 funcData: ic.CFunction
23 print(f"\tFunction: {funcData.getName()}")
24 print(f"\t\tQualified name: {funcData.getQualifiedName()}")
25
26 localVariables = [lv.getName() for lv in funcData.getLocalVars()]
27 print(f"\t\tLocal variables: {localVariables}")
28 parameters = [p.getName() for p in funcData.getParameters()]
29 print(f"\t\tParameters: {parameters}")
30 print(f"\t\tReturn type: {funcData.getReturnType()}")
31
32 # NOTE: Object 'funcData' is `ic.CFunction` object, explore other available methods.
33
34
35if __name__ == "__main__":
36 test_getFunctions()