ParseTreeIndex.st
branchjv
changeset 15566 184cea584be5
parent 13178 c9bf900fe729
parent 15469 a9f1c22fc39c
child 16797 4f240085a622
--- a/ParseTreeIndex.st	Sun Jan 12 23:30:25 2014 +0000
+++ b/ParseTreeIndex.st	Wed Apr 01 10:38:01 2015 +0100
@@ -11,15 +11,17 @@
 "
 "{ Package: 'stx:libtool' }"
 
+"{ NameSpace: Smalltalk }"
+
 SortedCollection subclass:#ParseTreeIndex
-	instanceVariableNames:'tree'
+	instanceVariableNames:'tree source'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'Interface-CodeView-Syntax'
 !
 
-Magnitude subclass:#Element
-	instanceVariableNames:'next prev node'
+SyntaxElement subclass:#Element
+	instanceVariableNames:''
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:ParseTreeIndex
@@ -63,6 +65,14 @@
 
 !ParseTreeIndex methodsFor:'accessing'!
 
+source
+    ^ source
+!
+
+source:something
+    source := something.
+!
+
 tree
     ^ tree
 !
@@ -113,21 +123,15 @@
 !ParseTreeIndex::Element methodsFor:'accessing'!
 
 assigned
-    ^false
+    | p |
+
+    ^ node isVariableNode 
+        and:[(p := node parent) notNil
+            and:[p isAssignment
+                and:[p variable == node]]].
 
     "Created: / 01-07-2013 / 21:53:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-firstElementInChain
-    |first prev|
-
-    first := self.
-    [ (prev := first previousElement) notNil ] whileTrue:[
-        first := prev.
-    ].
-    ^ first
-
-    "Created: / 21-08-2011 / 09:51:35 / cg"
+    "Modified: / 25-02-2014 / 20:52:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 name
@@ -136,59 +140,6 @@
     "Created: / 01-07-2013 / 21:56:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-next
-    ^ next
-!
-
-next:aSyntaxElement
-    next := aSyntaxElement.
-    next prev: self.
-
-    "Modified: / 14-02-2010 / 17:44:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-nextElement
-    ^ next
-
-    "Created: / 21-08-2011 / 09:47:11 / cg"
-!
-
-nextElement:aSyntaxElement
-    next := aSyntaxElement.
-    next prev: self.
-
-    "Modified: / 14-02-2010 / 17:44:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Created: / 21-08-2011 / 09:47:15 / cg"
-!
-
-node
-    ^ node
-!
-
-node:something
-    node := something.
-!
-
-prev
-    ^ prev
-!
-
-prev:aSyntaxElement
-    prev := aSyntaxElement.
-!
-
-previousElement
-    ^ prev
-
-    "Created: / 21-08-2011 / 09:47:23 / cg"
-!
-
-previousElement:aSyntaxElement
-    prev := aSyntaxElement.
-
-    "Created: / 21-08-2011 / 09:47:28 / cg"
-!
-
 start
     ^ node startPosition
 
@@ -199,6 +150,10 @@
     ^ node endPosition
 
     "Modified: / 16-02-2012 / 20:56:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+value
+    ^node name
 ! !
 
 !ParseTreeIndex::Element methodsFor:'comparing'!
@@ -231,15 +186,6 @@
     "Created: / 14-02-2010 / 13:30:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-!ParseTreeIndex::Element methodsFor:'double dispatching'!
-
-lessFromInteger:anInteger
-
-    ^self stop < anInteger
-
-    "Created: / 14-02-2010 / 13:49:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-
 !ParseTreeIndex::Element methodsFor:'printing & storing'!
 
 printOn:aStream
@@ -256,12 +202,6 @@
 
 !ParseTreeIndex::Element methodsFor:'testing'!
 
-isInstanceVariable
-    ^node isVariable and:[node isInstance]
-
-    "Created: / 01-07-2013 / 21:54:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
 isSelector
     ^ node class == SelectorNode
 
@@ -274,29 +214,15 @@
 
     "Created: / 21-08-2011 / 09:31:20 / cg"
     "Modified: / 16-02-2012 / 19:25:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-isVariable
-    ^ node isVariable
-
-    "Created: / 21-08-2011 / 09:09:00 / cg"
-    "Modified: / 16-02-2012 / 19:24:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-isVariableOrSelf
-    ^ self isVariable or:[self isSelf]
-
-    "Created: / 21-08-2011 / 09:31:33 / cg"
 ! !
 
 !ParseTreeIndex class methodsFor:'documentation'!
 
-version_HG
-
-    ^ '$Changeset: <not expanded> $'
+version
+    ^ '$Header: /cvs/stx/stx/libtool/ParseTreeIndex.st,v 1.9 2015-02-28 00:30:55 cg Exp $'
 !
 
-version_SVN
-    ^ '$Id: ParseTreeIndex.st 7911 2012-02-22 09:55:48Z vranyj1 $'
+version_CVS
+    ^ '$Header: /cvs/stx/stx/libtool/ParseTreeIndex.st,v 1.9 2015-02-28 00:30:55 cg Exp $'
 ! !