scala / bug

Scala 2 bug reports only. Please, no questions — proper bug reports only.
https://scala-lang.org
232 stars 21 forks source link

Scaladoc can't handle Java methods with Scala inner classes as parameters #11340

Open marcospereira opened 7 years ago

marcospereira commented 7 years ago

See https://github.com/marcospereira/scaladoc-enumeration-bug

Running scaladoc directly results in the following output:

$ scaladoc -d target src/main/scala/com/acme/Foo.scala src/main/scala/com/acme/Bar.java src/main/scala/com/acme/Outer.scala
cat: /release: No such file or directory
src/main/scala/com/acme/Bar.java:10: error: not found: value Enumeration
    void a(Enumeration.Value mode);
           ^
src/main/scala/com/acme/Bar.java:15: error: not found: value Outer
    void b(Outer.Inner inner);
           ^
model contains 7 documentable templates
two errors found

And running sbt compile:doc:

$ sbt compile:doc
[info] Loading global plugins from /Users/marcospereira/.sbt/0.13/plugins
[info] Loading project definition from /Users/marcospereira/Lightbend/scaladoc-enumeration-bug/project
[info] Set current project to scaladoc-enumeration-bug (in build file:/Users/marcospereira/Lightbend/scaladoc-enumeration-bug/)
[info] Main Scala API documentation to /Users/marcospereira/Lightbend/scaladoc-enumeration-bug/target/scala-2.12/api...
[error] /Users/marcospereira/Lightbend/scaladoc-enumeration-bug/src/main/scala/com/acme/Bar.java:10: not found: value Enumeration
[error]     void a(Enumeration.Value mode);
[error]            ^
[error] /Users/marcospereira/Lightbend/scaladoc-enumeration-bug/src/main/scala/com/acme/Bar.java:15: not found: value Outer
[error]     void b(Outer.Inner inner);
[error]            ^
[info] No documentation generated with unsuccessful compiler run
[error] two errors found
[error] (compile:doc) Scaladoc generation failed
[error] Total time: 2 s, completed Apr 5, 2017 12:37:25 PM
w25r commented 6 years ago

I had this same problem in pure java with an enum defined within a class. I extracted it to a top level class to fix the issue, but seems like a limitation.