SmallSense__SelectorNode.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 16 Sep 2013 16:38:23 +0100
changeset 82 de52d467a88e
parent 81 9ff3fb468c16
child 102 538fc4ef040c
permissions -rw-r--r--
Improvement in SmalltalkEditSupport: when completing a block, add dit after closing bracket Most of the time this is what user wants.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
81
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'jv:smallsense' }"
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
"{ NameSpace: SmallSense }"
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
ParseNode subclass:#SelectorNode
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	instanceVariableNames:'value'
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	classVariableNames:''
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
	poolDictionaries:''
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
	category:'SmallSense-Core'
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
!SelectorNode class methodsFor:'documentation'!
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
documentation
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
"
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    A (helper) node that represents a selector (or its part).
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    SelectorNodes are not directly created nor used by the
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    parser/compiler itself.
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
    Some custom subclasses (syntax highlighters for instance)
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    makes use of it.
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
    [author:]
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
        Jan Vrany <jan.vrany@fit.cvut.cz>
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    [instance variables:]
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    [class variables:]
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
    [see also:]
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
        SyntaxHighlighter2
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
"
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
! !
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
!SelectorNode class methodsFor:'instance creation'!
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
value: selector from: start to: end
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
    ^self new
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
        value: selector;
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
        startPosition:start endPosition: end
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    "Created: / 16-02-2012 / 20:56:22 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
! !
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
!SelectorNode methodsFor:'accessing'!
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
value
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
    ^ value
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
!
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
value:aString
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
    value := aString.
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
! !
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
!SelectorNode methodsFor:'testing'!
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
isSelector
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
    ^true
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
    "Created: / 16-02-2012 / 21:04:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
! !
9ff3fb468c16 Oops, added lost mehods.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65