UNPKG

@lcap/nasl-parser

Version:

Take Nasl text to Nasl AST with the help of generalized parsing.

367 lines (366 loc) 14.3 kB
{ "concept": "Logic", "name": "LCAPGetRoleNameList", "description": "获取所有的角色名称", "params": [ { "concept": "Param", "name": "roleName", "typeAnnotation": { "concept": "TypeAnnotation", "typeKind": "primitive", "typeNamespace": "nasl.core", "typeName": "String" } } ], "returns": [ { "concept": "Return", "name": "result" } ], "variables": [ { "concept": "Variable", "name": "search", "typeAnnotation": { "concept": "TypeAnnotation", "typeKind": "generic", "typeNamespace": "nasl.collection", "typeName": "List", "typeArguments": [ { "concept": "TypeAnnotation", "typeKind": "reference", "typeNamespace": "app.structures", "typeName": "LCAPRole" } ] } } ], "body": [ { "concept": "Start", "label": "开始", "folded": false }, { "concept": "IfStatement", "label": "条件分支", "folded": false, "test": { "concept": "CallFunction", "calleeNamespace": "nasl.util", "calleeName": "HasValue", "folded": false, "typeArguments": [], "arguments": [ { "concept": "Argument", "keyword": "param1", "folded": false, "expression": { "concept": "Identifier", "name": "search", "folded": false } } ] }, "consequent": [ { "concept": "Assignment", "folded": false, "left": { "concept": "Identifier", "name": "result", "folded": false }, "right": { "concept": "CallFunction", "calleeNamespace": "nasl.util", "calleeName": "ListTransform", "folded": false, "typeArguments": [], "arguments": [ { "concept": "Argument", "keyword": "list", "folded": false, "expression": { "concept": "Identifier", "name": "search", "folded": false } }, { "concept": "Argument", "keyword": "by", "folded": false, "expression": { "concept": "AnonymousFunction", "folded": false, "body": { "concept": "MemberExpression", "folded": false, "offsetX": -72.09468841552734, "offsetY": 496.43359375, "object": { "concept": "Identifier", "name": "item", "folded": false }, "property": { "concept": "Identifier", "name": "name", "folded": false } }, "params": [ { "concept": "Param", "name": "item", "typeAnnotation": null } ] } } ] } } ], "alternate": [ { "concept": "Assignment", "folded": false, "left": { "concept": "Identifier", "name": "result", "folded": false }, "right": { "concept": "NewList", "folded": false, "typeAnnotation": { "concept": "TypeAnnotation", "typeKind": "generic", "typeNamespace": "nasl.collection", "typeName": "List", "inferred": false, "typeArguments": [ { "concept": "TypeAnnotation", "typeKind": "primitive", "typeNamespace": "nasl.core", "typeName": "String" } ] }, "items": [] } } ] }, { "concept": "Assignment", "folded": false, "left": { "concept": "Identifier", "name": "result", "folded": false }, "right": { "concept": "CallFunction", "calleeNamespace": "nasl.util", "calleeName": "ListTransform", "folded": false, "typeArguments": [], "arguments": [ { "concept": "Argument", "keyword": "list", "folded": false, "expression": { "concept": "Identifier", "name": "result", "folded": false } }, { "concept": "Argument", "keyword": "by", "folded": false, "expression": { "concept": "AnonymousFunction", "folded": false, "body": { "concept": "CallFunction", "calleeNamespace": "nasl.util", "calleeName": "ToLower", "folded": false, "offsetX": -300.60546875, "offsetY": 689.21875, "typeArguments": [], "arguments": [ { "concept": "Argument", "keyword": "str1", "folded": false, "expression": { "concept": "Identifier", "name": "item", "folded": false } } ] }, "params": [ { "concept": "Param", "name": "item", "typeAnnotation": null } ] } } ] } }, { "concept": "IfStatement", "label": "条件分支", "folded": false, "test": { "concept": "CallFunction", "calleeNamespace": "nasl.util", "calleeName": "HasValue", "folded": false, "typeArguments": [], "arguments": [ { "concept": "Argument", "keyword": "param1", "folded": false, "expression": { "concept": "Identifier", "name": "roleName", "folded": false } } ] }, "consequent": [ { "concept": "IfStatement", "label": "条件分支", "folded": false, "test": { "concept": "CallFunction", "calleeNamespace": "nasl.util", "calleeName": "Contains", "folded": false, "typeArguments": [], "arguments": [ { "concept": "Argument", "keyword": "list", "folded": false, "expression": { "concept": "Identifier", "name": "result", "folded": false } }, { "concept": "Argument", "keyword": "item", "folded": false, "expression": { "concept": "CallFunction", "calleeNamespace": "nasl.util", "calleeName": "ToLower", "folded": false, "typeArguments": [], "arguments": [ { "concept": "Argument", "keyword": "str1", "folded": false, "expression": { "concept": "Identifier", "name": "roleName", "folded": false } } ] } } ] }, "consequent": [ { "concept": "CallFunction", "calleeNamespace": "nasl.util", "calleeName": "Add", "folded": false, "typeArguments": [], "arguments": [ { "concept": "Argument", "keyword": "list", "folded": false, "expression": { "concept": "Identifier", "name": "result", "folded": false } }, { "concept": "Argument", "keyword": "item", "folded": false, "expression": { "concept": "Identifier", "name": "roleName", "folded": false } } ] } ], "alternate": [] } ], "alternate": [] }, { "concept": "CallFunction", "calleeNamespace": "nasl.util", "calleeName": "ListDistinct", "folded": false, "typeArguments": [], "arguments": [ { "concept": "Argument", "keyword": "list", "folded": false, "expression": { "concept": "Identifier", "name": "result", "folded": false, "offsetX": -17, "offsetY": 1726 } } ] }, { "concept": "End", "label": "结束", "folded": false } ], "playground": [] }