Skip to content

Syntax for class is not recognized #67

Open

Description

@Huy-Ngo

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

Activity

  1. jupe commented on Mar 29, 2021

    @jupe
    Owner

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

  2. jupe commented on May 8, 2021

    @jupe
    Owner

    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>> ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions