There are some constructs that don't have equivalents in java. Examples would be
- named parameters
- instance private members
Where/How does Scala store the information necessary for this stuff (some kind of flag in the first case, the parameter names in the second case?
If I get it right this has to get stored in the byte code, since it works even if I just have a compiled library without the source code!?
Travis Brown
This information is captured in an annotation named ScalaSig
in the class file (see this answer for an example).
You can view the (not very human-friendly) annotation with javap -verbose
, or parse it using an internal API, but in general neither should be necessary.
来源:https://stackoverflow.com/questions/16456931/where-does-scala-store-information-that-cannot-be-represented-in-java