Avatar
いやーエグいなーこれ TypeDecl::getDeclaredInterfaceType()TypeDecl::getInterfaceType() -> getMetatypeInstanceType()InterfaceTypeRequest::evaluate()MetatypeType::get(NominalTypeDecl::getDeclaredInterfaceType()) (edited)
8:29 PM
TypeDeclはinterface typeを剥がす動作をしてるのに、 Interface Type Requestを挟んで、 NominalTypeDeclはdeclared interface typeをラップする動作に反転してるし、 NominalTypeDeclはTypeDeclを継承しているのに、 virtualメソッドじゃないから同名だけど特に関係なく実装されている
8:30 PM
lib/AST は全然 virtual 見かけないし、基本的に仮想関数呼び出しは使ってないっぽいな