--- 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 $'
! !