I have a class with this code:
package shop.orders.services.email
private[services] class EmailService {...}
Then in a different package, I use that class:
package shop.ui
import shop.orders.services.email.EmailService
class PaymentConfirmation extends WithFacesContext {
var emailService: EmailService = null
Looking at the generated bytecode, there is no sign of any access modifier, which makes sense, as Java does not support such access restrictions. So what happens if I create a library containing code like block one, and attempt to compile block two against the library - there is no chance that the compiler will fail, since the information is lost. Or is it contained in something like a manifest?
I'm using Scala 2.9.2.