Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Golang support #66

Open
daniel-santos opened this issue Feb 21, 2023 · 1 comment
Open

Add Golang support #66

daniel-santos opened this issue Feb 21, 2023 · 1 comment

Comments

@daniel-santos
Copy link

daniel-santos commented Feb 21, 2023

Hello. Go is a horrible language. But I somehow find myself needing to build a large and complex project in Go and I miss my UML tools.

I hacked up goplantuml (to fix bugs and such), but I still can't get any UML editors to import my model, even with plantuml -v -xmi:argo (classes aren't in their respective packages and the model gets screwed). I suppose that would be a separate issue, but I just want to ask about Go support. At the very minimum, having the Go primitives would be helpful.

These are the basic type "Kinds" and my hacked-up goplantuml works with Go's abstract syntax tree, which gives you the parsed syntax, but doesn't resolve any symbols. Amongst the Kinds, Bool through Complex128, (perhaps Array and Func?), Pointer, and UnsafePointer are the actual primitives and the rest are composite types. Slice and Map can probably be represented by a built-in template type.

Anyway, any pointers on at least setting up language support for Go to the extent of having the primitives? Thank you!

EDIT: Aww, it looks like ArgoUML lacks support for multiple return values -- is that correct?

@linustolke
Copy link
Member

The model used in argouml is very old. I don't think it updated to UML2.0. That is probaby the source of such lackings but I am not sure of the details.

If you have some specific adaptations to argouml for go, we should keep them in an argouml-go repo. Do you want me to set this up?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants