diff --git a/core/src/main/scala/nz/co/bottech/scala2plantuml/DiagramModifications.scala b/core/src/main/scala/nz/co/bottech/scala2plantuml/DiagramModifications.scala index f3209ba..6260229 100644 --- a/core/src/main/scala/nz/co/bottech/scala2plantuml/DiagramModifications.scala +++ b/core/src/main/scala/nz/co/bottech/scala2plantuml/DiagramModifications.scala @@ -144,7 +144,6 @@ private[scala2plantuml] object DiagramModifications { assert(names.isEmpty) def typeParameterSymbols(parameters: Seq[TypeParameter]): Seq[String] = parameters.flatMap(parameter => parameter.symbol +: parameter.parentSymbols) - // TODO: This might be overkill. All the symbols we care about should be types. def elementSymbols(element: ClassDiagramElement): Seq[String] = element match { case typ: Type => typ.symbol +: typ.parentSymbols ++: typeParameterSymbols(typ.typeParameters) @@ -161,8 +160,8 @@ private[scala2plantuml] object DiagramModifications { symbolName(parameter.symbol) +: parameter.parentSymbols.map(symbolName) } elementName +: typeParameterNames - case member: Member => Seq(member.symbol -> member.displayName) - case _: Aggregation => Seq.empty + case member: Member => Seq(member.symbol -> member.displayName) + case aggregation: Aggregation => Seq(symbolName(aggregation.aggregator), symbolName(aggregation.aggregated)) } } val newNames = options.naming match { diff --git a/core/src/test/scala/nz/co/bottech/scala2plantuml/MethodParameterTests.scala b/core/src/test/scala/nz/co/bottech/scala2plantuml/MethodParameterTests.scala new file mode 100644 index 0000000..bf552d8 --- /dev/null +++ b/core/src/test/scala/nz/co/bottech/scala2plantuml/MethodParameterTests.scala @@ -0,0 +1,20 @@ +package nz.co.bottech.scala2plantuml + +import utest.{test, TestSuite, Tests} + +object MethodParameterTests extends TestSuite with ClassDiagramTests { + + override protected val exampleDir: String = "methodparameters" + + val tests: Tests = Tests { + test("parameter with type alias") { + success( + "Foo.", + """class Foo { + | + {static} {method} foo + |} + |Foo o-- "package$Bar"""".stripMargin + ) + } + } +} diff --git a/core/src/test/scala/nz/co/bottech/scala2plantuml/examples/methodparameters/Foo.scala b/core/src/test/scala/nz/co/bottech/scala2plantuml/examples/methodparameters/Foo.scala new file mode 100644 index 0000000..7582738 --- /dev/null +++ b/core/src/test/scala/nz/co/bottech/scala2plantuml/examples/methodparameters/Foo.scala @@ -0,0 +1,6 @@ +package nz.co.bottech.scala2plantuml.examples.methodparameters + +object Foo { + + def foo(bar: Bar): String = bar +} diff --git a/core/src/test/scala/nz/co/bottech/scala2plantuml/examples/methodparameters/package.scala b/core/src/test/scala/nz/co/bottech/scala2plantuml/examples/methodparameters/package.scala new file mode 100644 index 0000000..8f7b091 --- /dev/null +++ b/core/src/test/scala/nz/co/bottech/scala2plantuml/examples/methodparameters/package.scala @@ -0,0 +1,6 @@ +package nz.co.bottech.scala2plantuml.examples + +package object methodparameters { + + type Bar = String +}