puml2code icon indicating copy to clipboard operation
puml2code copied to clipboard

Syntax for class is not recognized

Open Huy-Ngo opened this issue 5 years ago • 2 comments

Description

  • Type: Bug

Bug

puml2code version

$ git describe --tags
v0.7.0-5-ga66c113
$ puml2code -V
0.1.0

Expected Behavior

The syntax used in PlantUML doc can be parsed.

Actual Behavior

Error:

Error: line: 3 column: 28: SyntaxError: Expected [ \t], [\n], or [\r\n] but "{" found.
    at PlantUmlToCode.generate (/home/xarvos/github/puml2code/src/index.js:86:15)
    at async execute (/home/xarvos/github/puml2code/src/cli.js:53:20)

Steps to Reproduce

  • Run npm install
  • Write a file with this code:
@startuml
skinparam classAttributeIconSize 0
class Animal <<interface>> {
    - name
    - age
    + move()
}

class Dog {
    - breed
    + bark()
}

Animal <|-- Dog
@enduml
  • Run bin/puml2code -i path/to/file.puml -l java

Huy-Ngo avatar Sep 14 '20 10:09 Huy-Ngo

parser probably doesn’t understand <<interface>> property at the moment.

jupe avatar Mar 29 '21 18:03 jupe

if you just need interface class, please use interface instead of class like this:

@startuml
skinparam classAttributeIconSize 0
interface Animal {
    - name
    - age
    + move()
}

class Dog {
    - breed
    + bark()
}

Animal <|-- Dog
@enduml

This at least works: https://app.circleci.com/pipelines/github/jupe/puml2code/330/workflows/09bee73e-6967-485e-9bb9-cadc3dd97716/jobs/1030 is there reason to use class Animal <<interface>> ?

jupe avatar May 08 '21 19:05 jupe