ProgrammingLanguage.st
branchjv
changeset 18120 e3a375d5f6a8
parent 18086 33a050555eb1
parent 17451 0885838cb562
child 18919 dbe023989a90
--- a/ProgrammingLanguage.st	Tue Feb 04 21:09:59 2014 +0100
+++ b/ProgrammingLanguage.st	Wed Apr 01 10:20:10 2015 +0100
@@ -11,6 +11,8 @@
 "
 "{ Package: 'stx:libbasic' }"
 
+"{ NameSpace: Smalltalk }"
+
 Object subclass:#ProgrammingLanguage
 	instanceVariableNames:''
 	classVariableNames:'LanguageQuerySignal'
@@ -253,7 +255,7 @@
     "Created: / 16-08-2009 / 10:42:40 / Jan Vrany <vranyj1@fel.cvut.cz>"
 ! !
 
-!ProgrammingLanguage methodsFor:'accessing - classes'!
+!ProgrammingLanguage methodsFor:'accessing-classes'!
 
 codeGeneratorClass
     "Answer a class suitable for generating code (such as getters, setters, etc.)
@@ -270,6 +272,16 @@
     "Created: / 21-08-2009 / 13:00:50 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
 
+compilerClassForInteractiveTools
+    "Answer a compiler class suitable for usage in interactive tools. 
+     Such class may better integrate into the IDE and register for undo/redo
+     and/or do more checks and so on. Defaults to #compilerClass"
+
+    ^ self compilerClass
+
+    "Created: / 05-08-2014 / 16:00:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 compilerWithBreakpointSupportClass
     "Answer a class suitable for compiling a source code with breakpoints
      in 'my' language. If there is non, return nil."
@@ -345,13 +357,22 @@
 !
 
 syntaxHighlighterClass
-    "Answers a class used by browser and debugger to colorze code.
+    "Answers a class used by browser and debugger to colorize code.
      It is OK to return nil, which means that the code is shown as-is"
 
     "return nil by default"
     ^nil
+!
+
+valuePrinterClass
+    "Answers a class used by the workspace to print a value.
+     If nil, the regular printOn: method is called for"
+
+    "return nil by default"
+    ^ nil
 ! !
 
+
 !ProgrammingLanguage methodsFor:'printing & storing'!
 
 printOn:aStream
@@ -410,6 +431,13 @@
 
 !ProgrammingLanguage methodsFor:'source queries'!
 
+commentStrings
+    ^ #(
+            '"/'          "/ EOL comment
+            ('"' '"')     "/ normal comment   
+        )
+!
+
 methodDefinitionTemplateForSelector:aSelector
     "given a selector, return a prototype definition string"
 
@@ -447,6 +475,12 @@
     "Created: / 17-03-2011 / 10:16:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+isJavaLike
+    "true iff this is the Java like language (Java or Ruby)"
+
+    ^ false
+!
+
 isProgrammingLanguage
 
     ^true
@@ -477,8 +511,9 @@
 !ProgrammingLanguage methodsFor:'utilities - file in/file out'!
 
 fileIn: aFilename
-
-    ^self sourceFileReaderClass fileIn: aFilename
+    Warning ignoreIn:[
+        ^self sourceFileReaderClass fileIn: aFilename
+    ].
 
     "Created: / 16-08-2009 / 13:28:17 / Jan Vrany <vranyj1@fel.cvut.cz>"
 !
@@ -538,11 +573,11 @@
 !ProgrammingLanguage class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ProgrammingLanguage.st,v 1.27 2013-08-21 14:01:32 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProgrammingLanguage.st,v 1.35 2015-02-08 03:40:54 cg Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/ProgrammingLanguage.st,v 1.27 2013-08-21 14:01:32 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ProgrammingLanguage.st,v 1.35 2015-02-08 03:40:54 cg Exp $'
 !
 
 version_SVN