tools/JavaSourceHighlighter.st
branchdevelopment
changeset 2741 a9ac61c2c454
parent 2738 a633a2e8e67e
child 2775 ddc68c69915a
--- a/tools/JavaSourceHighlighter.st	Fri Sep 20 10:57:50 2013 +0100
+++ b/tools/JavaSourceHighlighter.st	Sat Sep 21 05:23:41 2013 +0100
@@ -96,6 +96,18 @@
 
 !JavaSourceHighlighter class methodsFor:'formatting'!
 
+_formatClassDefinition:newCode line: ln number: lnr in:cls
+    ^self new formatClassDefinition:newCode line: ln number: lnr in:cls.
+
+    "Created: / 21-09-2013 / 04:22:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+_formatMethod:mthd source:newCode line: ln number: lnr in:cls using:syntaxPreferences
+    ^ self new formatMethod:mthd source:newCode line: ln number: lnr in:cls using:syntaxPreferences
+
+    "Created: / 21-09-2013 / 04:22:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 formatClass: javaClass
 
     ^self new formatClassDefinition: javaClass source in: javaClass
@@ -117,12 +129,6 @@
     "Created: / 04-08-2011 / 23:44:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-formatClassDefinition:newCode line: ln number: lnr in:cls
-    ^self new formatClassDefinition:newCode line: ln number: lnr in:cls.
-
-    "Created: / 04-08-2013 / 00:25:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
 formatExpression:source in:class
 
     ^self new formatExpression:source in:class
@@ -156,32 +162,11 @@
     ^self new formatMethod:mth source:source in:class using: preferences elementsInto: elements
 
     "Created: / 04-08-2011 / 23:42:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-formatMethod:mthd source:newCode line: ln number: lnr in:cls using:syntaxPreferences
-    ^ self new formatMethod:mthd source:newCode line: ln number: lnr in:cls using:syntaxPreferences
-
-    "Created: / 04-08-2013 / 00:26:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaSourceHighlighter methodsFor:'formatting'!
 
-formatClassDefinition:source in:class
-
-    ^ self format: source kind: #start in: class
-
-    "Created: / 04-08-2011 / 23:44:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-formatClassDefinition:source in:class elementsInto: els
-
-    sourceIndex := els.
-    ^self formatClassDefinition:source in:class
-
-    "Created: / 04-08-2011 / 23:44:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-formatClassDefinition:newCode line: line number: lnr in:cls
+_formatClassDefinition:newCode line: line number: lnr in:cls
     | scanner |
 
     line isEmptyOrNil ifTrue:[ ^  nil ].
@@ -199,8 +184,44 @@
     ].
     ^ sourceText
 
-    "Created: / 04-08-2013 / 00:25:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified (format): / 05-09-2013 / 02:54:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Created: / 21-09-2013 / 04:19:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+_formatMethod:mthd source:newCode line: line number: lnr in:cls using:syntaxPreferences
+    | scanner |
+
+    line isEmptyOrNil ifTrue:[ ^  nil ].
+
+    sourceText := line asText.
+    preferences := syntaxPreferences.
+    preferences isNil ifTrue:[
+        preferences := UserPreferences current.
+    ]. 
+    scanner := Scanner for: line asString.
+    scanner highlighter: self.
+    [
+        [ scanner nextToken ~~ #EOF ] whileTrue.
+    ] on: Error do:[
+
+    ].
+    ^ sourceText
+
+    "Created: / 21-09-2013 / 04:20:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+formatClassDefinition:source in:class
+
+    ^ self format: source kind: #start in: class
+
+    "Created: / 04-08-2011 / 23:44:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+formatClassDefinition:source in:class elementsInto: els
+
+    sourceIndex := els.
+    ^self formatClassDefinition:source in:class
+
+    "Created: / 04-08-2011 / 23:44:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 formatExpression:source in:class
@@ -315,7 +336,7 @@
     preferences isNil ifTrue:[
         preferences := UserPreferences current.
     ].
-    cacheIt := kind == #start and: [class notNil].
+    cacheIt := kind == #start and: [class notNil and:[class isJavaClass]].
     cacheIt ifTrue:[
         document := JavaSourceDocument cachedDocumentFor: class theNonMetaclass.
         document notNil ifTrue:[
@@ -377,7 +398,7 @@
     ]
 
     "Created: / 17-03-2012 / 14:02:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 19-09-2013 / 10:55:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 21-09-2013 / 04:46:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaSourceHighlighter methodsFor:'queries'!