JavaClass.st
branchcvs_MAIN
changeset 3377 71c37cd3b94b
parent 3376 c4bc79f81544
child 3412 df11bb428463
--- a/JavaClass.st	Tue Feb 10 14:50:55 2015 +0100
+++ b/JavaClass.st	Tue Feb 17 16:16:50 2015 +0100
@@ -935,6 +935,7 @@
 !
 
 source
+    "Returns a source of the class as String or nil of no source is found along the Java's source paths."
     | sourceString stream |
     (sourceString := self sourceString) notNil ifTrue: [ ^ sourceString ].
     ^ [
@@ -956,6 +957,35 @@
 
     "Modified: / 30-07-1997 / 14:31:01 / cg"
     "Modified: / 07-12-2014 / 01:32:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified (comment): / 17-02-2015 / 13:43:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+sourceDecompiled
+    "Returns a decompiled source code as String."
+
+    | resources | 
+
+    resources := self classResources.
+
+    ^ String streamContents:[:s |
+        s nextPutAll: '/**'; cr.
+        s nextPutAll: ' * ' ; nextPutAll: (resources string: 'No source has been found along configured source path:'); cr.
+        s nextPutAll: ' * ' ; cr.
+        Java effectiveSourceDirectories do:[:d | 
+            s nextPutAll: ' *     '; nextPutAll: d asString; cr.
+        ].
+        s nextPutAll: ' * ' ; cr.
+        s nextPutAll: ' * ' ; nextPutAll: (resources string: 'You may add more source directories or archives by evaluating:'); cr.
+        s nextPutAll: ' * ' ; cr.
+        s nextPutAll: ' *     '; nextPutAll: 'Java addToSourceDirectories: ''/path/to/sources''.' ; cr.
+        s nextPutAll: ' */'; cr.                                                                       
+        JavaDecompiler definitionOf:self on:s
+    ]
+    "
+    JAVA java lang Object sourceDecompiled
+    "
+
+    "Created: / 17-02-2015 / 12:07:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 sourceFile
@@ -3515,11 +3545,11 @@
 !JavaClass class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libjava/JavaClass.st,v 1.138 2015-02-10 13:50:55 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaClass.st,v 1.139 2015-02-17 15:16:50 vrany Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libjava/JavaClass.st,v 1.138 2015-02-10 13:50:55 vrany Exp $'
+    ^ '$Header: /cvs/stx/stx/libjava/JavaClass.st,v 1.139 2015-02-17 15:16:50 vrany Exp $'
 !
 
 version_SVN