Package private modifier in Scala 2.8

Robin Green picture Robin Green · Jan 27, 2012 · Viewed 13.6k times · Source

If I try

private[com.company.foo] def bar(xml: XmlPath) = {

I get

[error]     ... ']' expected but '.' found.
[error]     private[com.
[error]                ^

What's with that? I can only make it package-private to com.*, or...?

Answer

Nikita Ignatov picture Nikita Ignatov · Jan 27, 2012

You can only define the enclosing package, within which the code is defined:

package com.company.foo

class Bar{
  private[foo] def bar(xml: XmlPath)
}    

and if you want to set it to company:

private[company] def bar(xml: XmlPath)