2016-03-03 23 views
9

Java'nın Javadoc'unda, bir yöntemin belgelerini {@inheritDoc} tag kullanarak bir alt sınıfta miras almanın bir yolu vardır.KDoc belgelerini nasıl alırım?

Kotlin'in KDoc'unda bunu yapmanın bir yolu var mı? miras üye kendi belgelerine sahip değilse bir miras birine bir taban üyesi

abstract class Base { 
    /** 
    * Some KDoc documentation here. 
    */ 
    abstract fun foo() 
} 

class Derived: Base() { 
    /** 
    * Here is all the documentation from Base#foo's KDoc inherited. 
    * 
    * And here goes something more in addition. 
    */ 
    override fun foo() { /* ... */ } 
} 
+0

İşe Yarar '{@inheritDoc}' çalışmıyor? Onu denedin mi? – CaseyB

+0

@CaseyB, evet, yaptım ve ne IntelliJ ne dokka onu anlıyor, sadece metin olarak gösteriyorlar. – hotkey

+2

Bulunduğumu belgeleyen hiçbir şey bulamadım ancak Kotlin Doc'un, geçersiz kılma konusunda hiçbir belge belirtilmediyse, bir işlevi geçersiz kılarken belgelemeyi miras bıraktığını söyleyebilirim. Şimdi merak ettiğim şey, temel belgelerin "nasıl genişletileceğini"/"içerdiğini" anlatmaktır ... – mfulton26

cevap

10

Dokka hep kopya belgeleri:

Temelde, ne yapmak istiyorum şudur. Temel üye belgelerini, devralınan üyede sağlanan ek metinle birleştirmenin bir yolu yoktur.

(bu kaçınılmaz süper yararsız ve gereksiz buldukları sadece /** @inheritdoc */ oluşan yorumların çoğalmasına yol açtığı için Dokka @inheritdoc Javadoc etiketini desteklemez.)

+4

Ancak, herhangi bir belge içermeyen, devralınan bir işlevin üzerinde Ctrl + Q 'tuşlarına bastığım için, herhangi bir gösterme yok, ancak temel işlev belirtildi ve ne zaman Ctrl + B' ye basıp 'Ctrl Bir temel fonksiyonda + Q ', dokümantasyon gösterilir. Belki bu bir ide-eklenti hatasıdır. – dimsuz

+1

@yole Bir java sınıfından/arabirimden geçersiz kılınan bir yöntemdeki hızlı belge kısayoluna bastığımda, temel sınıf/arabirimin bazı belgeleri olduğunda hiçbir belge göremiyorum. Bu gerçekten rahatsız edici. Bunun üzerinde açık bir sorun var mı? –

İlgili konular