HTMLDocGenerator.st
changeset 4469 9d57ab1b91ff
parent 4450 c61c29ba44fa
child 4481 270f28476380
--- a/HTMLDocGenerator.st	Mon Aug 12 11:53:37 2019 +0200
+++ b/HTMLDocGenerator.st	Fri Aug 23 11:50:20 2019 +0200
@@ -1,5 +1,3 @@
-"{ Encoding: utf8 }"
-
 "
  COPYRIGHT (c) 1996 by Claus Gittinger
               All Rights Reserved
@@ -929,10 +927,24 @@
 !
 
 generateRefLineFor:ref forClass:aClass
-    |idx1 idx2 realRef ns nm href|
+    |idx1 idx2 realRef ns nm href selString clsName|
 
     outStream nextPutAll:'    '.
 
+    (ref startsWith:'#') ifTrue:[
+        idx2 := (ref indexOfSeparatorStartingAt:2).
+        idx2 == 0 ifTrue:[idx2 := ref size] ifFalse:[idx2 := idx2-1].
+        selString := ref copyFrom:2 to:idx2.
+        (idx1 := ref indexOfString:'method in ' caseSensitive:false) ~~ 0 ifTrue:[
+            clsName := ref copyFrom:idx1 + 'method in ' size.
+            clsName := clsName withoutSuffix:'.'.
+        ].
+        self generateClassDocReferenceFor:clsName 
+             text:('Implementation of: ',selString, ' in ',clsName) 
+             autoloading:nil.
+        ^ self
+    ].
+
     idx1 := ref indexOf:$:.
     idx2 := ref indexOf:$: startingAt:idx1+1.
 
@@ -991,9 +1003,14 @@
             self generateRefLineFor:l forClass:aClass.
             outStream cr.
         ] ifFalse:[
-            l do:[:ref |
-                self generateRefLineFor:ref forClass:aClass.
+            (l asString startsWith:'#') ifTrue:[
+                self generateRefLineFor:(l asStringWith:' ') forClass:aClass.
                 outStream cr.
+            ] ifFalse:[
+                l do:[:ref |
+                    self generateRefLineFor:ref forClass:aClass.
+                    outStream cr.
+                ].
             ].
         ].
     ].