BrowserView.st
changeset 117 db21165ac0e1
parent 114 864a0967c0fe
child 118 5f130a3785bf
--- a/BrowserView.st	Wed Aug 16 17:36:40 1995 +0200
+++ b/BrowserView.st	Sat Aug 19 04:50:22 1995 +0200
@@ -29,7 +29,7 @@
 COPYRIGHT (c) 1989 by Claus Gittinger
 	     All Rights Reserved
 
-$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.16 1995-08-15 21:25:46 claus Exp $
+$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.17 1995-08-19 02:49:43 claus Exp $
 '!
 
 !BrowserView class methodsFor:'documentation'!
@@ -50,7 +50,7 @@
 
 version
 "
-$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.16 1995-08-15 21:25:46 claus Exp $
+$Header: /cvs/stx/stx/libtool/BrowserView.st,v 1.17 1995-08-19 02:49:43 claus Exp $
 "
 !
 
@@ -3849,7 +3849,8 @@
 	].
 	labels := #(
 			'inspect method'
-			'decompile '
+			'compile to machine code'
+			'decompile'
 			'-'
 			'make private'
 			'make protected'
@@ -3857,6 +3858,7 @@
 		   ).
 	selectors := #(
 			methodInspect
+			methodSTCCompile
 			methodDecompile
 			nil
 			methodMakePrivate
@@ -4063,6 +4065,15 @@
 	    m disable:#methodMakePublic
 	].
     ].
+    currentMethod notNil ifTrue:[
+	(currentMethod code notNil
+	or:[Compiler canCreateMachineCode not]) ifTrue:[
+	    m disable:#methodSTCCompile
+	].
+	currentMethod byteCode isNil ifTrue:[
+	    m disable:#methodDecompile
+	].
+    ].
     ^ m
 !
 
@@ -4391,6 +4402,22 @@
     currentMethod inspect.
 !
 
+methodSTCCompile
+    "compile the current method to machine code.
+     This is not supported on all machines, and never supported in
+     the demo version."
+
+    |prev|
+
+    self checkMethodSelected ifFalse:[^ self].
+    prev := Compiler stcCompilation:#always.
+    [
+	codeView accept.
+    ] valueNowOrOnUnwindDo:[
+	Compiler stcCompilation:prev
+    ].
+!
+
 methodDecompile
     "decompile the current methods bytecodes.
      The Decompiler is delivered as an extra, and not normally
@@ -4405,7 +4432,9 @@
 	].
     ].
     Decompiler isLoaded ifFalse:[
-	Smalltalk fileIn:'/phys/clam/claus/work/libcomp/not_delivered/Decomp.st'.
+	Smalltalk 
+	    fileIn:'/phys/clam/claus/work/libcomp/not_delivered/Decomp.st'
+	    logged:false.
     ].
     Decompiler isLoaded ifFalse:[
 	^ self warn:'No decompiler available'.