diff --git a/plantuml/parser/integration_test/class_diagram/class_diagram_cpp_members/class_diagram_cpp_members.puml b/plantuml/parser/integration_test/class_diagram/class_diagram_cpp_members/class_diagram_cpp_members.puml new file mode 100644 index 0000000..0c554de --- /dev/null +++ b/plantuml/parser/integration_test/class_diagram/class_diagram_cpp_members/class_diagram_cpp_members.puml @@ -0,0 +1,27 @@ +' ******************************************************************************* +' Copyright (c) 2026 Contributors to the Eclipse Foundation +' +' See the NOTICE file(s) distributed with this work for additional +' information regarding copyright ownership. +' +' This program and the accompanying materials are made available under the +' terms of the Apache License Version 2.0 which is available at +' https://www.apache.org/licenses/LICENSE-2.0 +' +' SPDX-License-Identifier: Apache-2.0 +' ******************************************************************************* +@startuml class_diagram_cpp_members + +package cpp_case { + class ServiceImpl { + + ~ServiceImpl() + + operator()(amp::stop_token) : ResultBlank + + Submit(callable, arguments) + + Submit(CallableType&&, ArgumentTypes&&) : auto + + operator->() : Result* + + Visit(visitor : amp::callback) + + VisitUnnamed(amp::callback) + } +} + +@enduml diff --git a/plantuml/parser/integration_test/class_diagram/class_diagram_cpp_members/output.json b/plantuml/parser/integration_test/class_diagram/class_diagram_cpp_members/output.json new file mode 100644 index 0000000..9135210 --- /dev/null +++ b/plantuml/parser/integration_test/class_diagram/class_diagram_cpp_members/output.json @@ -0,0 +1,130 @@ +{ + "class_diagram_cpp_members.puml": { + "name": "class_diagram_cpp_members", + "entities": [ + { + "id": "cpp_case.ServiceImpl", + "name": "ServiceImpl", + "enclosing_namespace_id": "cpp_case", + "entity_type": "Class", + "type_aliases": [], + "methods": [ + { + "name": "~ServiceImpl", + "return_type": null, + "visibility": "public", + "parameters": [], + "template_parameters": null, + "modifiers": [ + "Destructor" + ] + }, + { + "name": "operator()", + "return_type": "ResultBlank", + "visibility": "public", + "parameters": [ + { + "name": "", + "param_type": "amp::stop_token", + "is_variadic": false + } + ], + "template_parameters": null, + "modifiers": [] + }, + { + "name": "Submit", + "return_type": null, + "visibility": "public", + "parameters": [ + { + "name": "callable", + "param_type": null, + "is_variadic": false + }, + { + "name": "arguments", + "param_type": null, + "is_variadic": false + } + ], + "template_parameters": [ + "CallableType", + "ArgumentTypes..." + ], + "modifiers": [] + }, + { + "name": "Submit", + "return_type": "auto", + "visibility": "public", + "parameters": [ + { + "name": "", + "param_type": "CallableType&&", + "is_variadic": false + }, + { + "name": "", + "param_type": "ArgumentTypes&&", + "is_variadic": false + } + ], + "template_parameters": [ + "T" + ], + "modifiers": [] + }, + { + "name": "operator->", + "return_type": "Result*", + "visibility": "public", + "parameters": [], + "template_parameters": null, + "modifiers": [] + }, + { + "name": "Visit", + "return_type": null, + "visibility": "public", + "parameters": [ + { + "name": "visitor", + "param_type": "amp::callback", + "is_variadic": false + } + ], + "template_parameters": null, + "modifiers": [] + }, + { + "name": "VisitUnnamed", + "return_type": null, + "visibility": "public", + "parameters": [ + { + "name": "", + "param_type": "amp::callback", + "is_variadic": false + } + ], + "template_parameters": null, + "modifiers": [] + } + ], + "template_parameters": null, + "enum_literals": [], + "source_file": "class_diagram_cpp_members", + "source_line": 16, + "variables": [], + "relationships": [] + } + ], + "relationships": [], + "source_files": [ + "class_diagram_cpp_members" + ], + "version": null + } +} diff --git a/plantuml/parser/integration_test/class_diagram/class_diagram_file_level_constructs/class_diagram_file_level_constructs.puml b/plantuml/parser/integration_test/class_diagram/class_diagram_file_level_constructs/class_diagram_file_level_constructs.puml new file mode 100644 index 0000000..81f8f26 --- /dev/null +++ b/plantuml/parser/integration_test/class_diagram/class_diagram_file_level_constructs/class_diagram_file_level_constructs.puml @@ -0,0 +1,48 @@ +' ******************************************************************************* +' Copyright (c) 2026 Contributors to the Eclipse Foundation +' +' See the NOTICE file(s) distributed with this work for additional +' information regarding copyright ownership. +' +' This program and the accompanying materials are made available under the +' terms of the Apache License Version 2.0 which is available at +' https://www.apache.org/licenses/LICENSE-2.0 +' +' SPDX-License-Identifier: Apache-2.0 +' ******************************************************************************* +@startuml class_diagram_file_level_constructs + +title File-level Syntax Coverage + +set namespaceSeparator :: + +together { + class GroupedA + class GroupedB +} + +legend top left +|= Color |= Meaning | +| <#Lavender> | Internal | +end legend + +note top of GroupedA : top-level note coverage + +package sample::file_level #Lavender +{ + interface IActivateTask [[cd_activate_task.puml]] { + + Execute(amp::stop_token) : ResultBlank + } + + class "<