Hello,
Thanks for the feedback. There is indeed a bug : in your example, foo of C should not have been hidden.
We have fixed this in the last beta: https://dl.dropboxusercontent.com/u/13064071/plantuml.jar
More over, we have introduced some new notations {field} and {method} to override the guess made by PlantUML using () to determine what is a method and what is a field.
For example:
@startuml
hide empty fields
hide empty methods
class A {
a1
__
a2
__
a3
__
a4
}
class C {
{method} foo
foo2
}
class D {
{field} bar()
bar2()
}
@enduml
Is this better for you?