summaryrefslogtreecommitdiff
path: root/gitconfig.SAMPLE
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2016-04-12 10:59:58 +0200
committerLukas Rytz <lukas.rytz@gmail.com>2016-04-20 08:53:52 +0200
commit3fca034c51dd159ff077fdde7e3146b1e41cc925 (patch)
treeb68c166936621fe13a3ded46b36408ecb4db52de /gitconfig.SAMPLE
parent765eb29a769488d56f9ff2e4dde105961dbd55db (diff)
downloadscala-3fca034c51dd159ff077fdde7e3146b1e41cc925.tar.gz
scala-3fca034c51dd159ff077fdde7e3146b1e41cc925.tar.bz2
scala-3fca034c51dd159ff077fdde7e3146b1e41cc925.zip
Ensure ClassBTypes constructed from symbol and classfile are identical
A super call (invokespecial) to a default method T.m is only allowed if the interface T is a direct parent of the class. Super calls are introduced for example in Mixin when generating forwarder methods: trait T { override def clone(): Object = "hi" } trait U extends T class C extends U The class C gets a forwarder that invokes T.clone(). During code generation the interface T is added as direct parent to class C. Note that T is not a (direct) parent in the frontend type of class C. This commit stores interfaces that are added to a class during code generation in the InlineInfo classfile attribute. This allows filtering the interface list when constructing a ClassBType from a classfile.
Diffstat (limited to 'gitconfig.SAMPLE')
0 files changed, 0 insertions, 0 deletions