copy/pastes syntactic class and trait defs from master to fix a bug

https://groups.google.com/d/msg/scala-language/C7Pm6ab1sPs/i9Dv0IWHZVYJ