staruml / staruml-csharp Goto Github PK
View Code? Open in Web Editor NEWC# extension for StarUML
License: MIT License
C# extension for StarUML
License: MIT License
Hi,
Was just wondering if you guys plan on rendering this feature available for fields eventually (isReadOnly
). It would be nice to declare a field readonly (as below) by just checking that box.
private readonly string fieldName;
Thanks
Hi Folks, There are problems reverse engineering interfaces--I get methods with no names. I debugged the code and found out that the code for reverse engineering is expecting a certain data structure created via the parser, but it's not created correctly. So, I've modified the code, and it now "works"--or at least somewhat better. (1) IDENTIFIER_WITH_TEMPLATE is used in many places but the synthesized attribute is not handled consistently throughout the grammar, a good programming practice. The code has been changed to reflect this. (2) In CsharpCodeAnalyzer.prototype.translateMethod = function(...) { ... if (!isConstructor) { _operation.name = methodNode.name[0].name; }, that code expects for non-constructor methods the synthesized attribute to be of a particular form. In classes, this record is constructured through production variable-declarator (why variable-declarator?). I changed the code to create the expected synthesized attribute, and all works well now. (3) There's quite a bit of shift/reduce and reduce/reduce errors in the grammar, and I don't know how this Jison parser generator works in resolving the issues, nor how to add disambiguating information to correct these problems. I would highly recommend moving to a better parser generator, line Antlr, which has been under active development for decades, includes up-to-date grammars for Java, C#, etc., and generates a JavaScript target. (4) There really should be some unit tests. The complete code is attached, and based off of v0.9.1. (5) This is a great project, but it needs work. Keep it up, please!
staruml.csharp.zip
The code generated by the generator has array types for any UMLAttribute or UMLAssociationEnd objects with multiplicity 1. This behavior is specified on the front page of this project but quite unintuitive.
Are there plans to support higher versions, like C# 9.0 ?
I'm trying to generate code, which seems to be working but the namespace doesn't get generated.
am I doing something wrong or is this simply not supported?
The current version of StarUML will not allow this extension to install. The install button is greyed out with warning "This extension currently only works with older versions of StarUML"
I tried downloading a local copy of the extension and pointing StarUML's Extension Manager to the local folder but install failed with:
"Unknown Internal Error"
so, I probably did that wrong. I tried with the contents in a zip folder and an extracted folder.
Is there a way to update this extension to work with StarUML v5.0.2?
Please add support for new language features for reverse engineering. Currently the RE is failing for auto-properties with initial value setters. E.g.
public string PropertyName {get; set;} = "Initial Value";
line fails the entire class generation.
Are there tools to easily understand the parser code and submit a PR?
Thanks
Hi!
I've tried to reverse some code and no diagrams are generated at all, just the directory structure.
Hi,
I just started evaluating StarUML and wanted find out how well it is possible to generate C#-Code from models.
I made up a very simple model with just one interface 'I_Process' and one class 'Process', each having one operation
Run. The generation seems to work o.k.
When I add a few lines of code to Process.Run and reversed the files into the model then class file Process.cs seems to be ignored by the reverse process.
Maybe I'm just making a simple mistake.
created a class with an attribute and an operation. generates Java OK. CSharp Model dir is empty upon generation. :(
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.