@lcap/nasl-parser
Version:
Take Nasl text to Nasl AST with the help of generalized parsing.
367 lines (366 loc) • 14.3 kB
JSON
{
"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": []
}