extensions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Mon, 11 Aug 2014 14:37:44 +0100
changeset 273 404662b42ddf
parent 270 51c4ee46f5c0
child 275 29e5621cd306
permissions -rw-r--r--
Added AbstractTestCase which saves/restores preferences in setUp/tearDown... ...so tests are not dependent on current settings. Required for some UI tests
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
249
8bc64027b189 Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
     1
"{ Package: 'stx:goodies/smallsense' }"!
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
!AssignmentNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
childNamesAndValuesDo:aBlock
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
    aBlock value: #variable   value: variable.
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
    aBlock value: #expression value: expression.
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
    "Modified: / 26-11-2011 / 10:39:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    12
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
!AssignmentNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    ^ expression inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    "Created: / 26-11-2011 / 12:38:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    21
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
!AssignmentNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
inferedType: aSmallSenseType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    ^ self shouldNotImplement
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    "Created: / 26-11-2011 / 12:37:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    30
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    31
!BlockNode methodsFor:'enumeration'!
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    32
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    33
childNamesAndValuesDo:aBlock
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    34
    "Enumerates all direct children and evaluates a block
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    35
     with its name (usually instVar name) and the node itself"
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    36
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    37
    aBlock value:'statements' value: statements
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    38
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    39
    "Created: / 20-09-2013 / 01:03:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    40
! !
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
    41
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    42
!ConfigurableFeatures class methodsFor:'queries-features'!
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    43
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    44
hasSmallSenseEnabled
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    45
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    46
    ^UserPreferences current smallSenseEnabled
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    47
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    48
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    49
    "
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    50
     ConfigurableFeatures hasSmallSenseEnabled
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    51
     ConfigurableFeatures includesFeature:'SmallSenseEnabled'
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    52
    "
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    53
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    54
    "Created: / 27-11-2011 / 17:22:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    55
! !
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
    56
273
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    57
!CustomTestCaseSetUpCodeGenerator methodsFor:'executing'!
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    58
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    59
buildForClass: class
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    60
    | source category superHasSetup current |
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    61
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    62
    current := class.
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    63
    superHasSetup := false.
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    64
    [ superHasSetup not and:[ current isNil not  and:[current name ~~ #TestCase]] ] whileTrue:[
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    65
        superHasSetup := current includesSelector: #setUp.
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    66
        current := current superclass.
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    67
    ].
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    68
    (superHasSetup and:[ current name ~~ #TestCase ]) ifTrue:[ 
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    69
        source := 'setUp
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    70
    super setUp.
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    71
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    72
    "Add your own code here..."
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    73
'.
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    74
        category := (current compiledMethodAt: #setUp) category.
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    75
    ] ifFalse:[ 
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    76
        source := 'setUp
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    77
    "Add your own code here..."
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    78
'.
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    79
        category := (TestCase compiledMethodAt: #setUp) category.
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    80
    ].
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    81
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    82
    builder createMethod
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    83
        class: class;
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    84
        source: source;
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    85
        category: category.
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    86
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    87
    "Created: / 05-08-2014 / 14:17:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    88
    "Modified: / 11-08-2014 / 14:20:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    89
! !
404662b42ddf Added AbstractTestCase which saves/restores preferences in setUp/tearDown...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 270
diff changeset
    90
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
    91
!DoWhatIMeanSupport methodsFor:'code completion - smallsense'!
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
    92
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
    93
smallSenseCodeCompletionForClass: classOrNilArg context: contextOrNil codeView: codeViewArg 
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
    94
    <swizzle: #codeCompletionForClass:context:codeView:>
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
    95
    "SmallSense version of #codeCompletionForClass:context:codeView:.
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
    96
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
    97
     When SmallSense is loaded, this method is swizzled as #codeCompletionForClass:context:codeView:.
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
    98
     into DoWhatIMeanSupport."
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
    99
    
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   100
    | p  node  text  items  mode |
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   101
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   102
    codeView := codeViewArg.
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   103
    
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   104
    "/ The respondsTo: hack is because CVS CodeView2 has no #mode method.
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   105
    
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   106
    mode := (codeView respondsTo: #mode) ifTrue: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   107
            codeView mode
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   108
        ] ifFalse: [ #method ].
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   109
    contextOrNil notNil ifTrue: [
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   110
        mode := #method.
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   111
    ].
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   112
    items := SmallSense::SmalltalkCompletion 
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   113
            resultSetFor: mode
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   114
            source: codeView contents
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   115
            class: classOrNilArg
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   116
            line: codeView cursorLine
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   117
            column: codeView cursorCol.
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   118
    items notEmptyOrNil ifTrue: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   119
        (p := items position) notNil ifTrue: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   120
            node := p node.
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   121
            node notNil ifTrue: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   122
                (node isVariable and: [ p isInNode ]) ifTrue: [
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   123
                    text := node name
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   124
                ] ifFalse: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   125
                    node isMessage ifTrue: [
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   126
                        text := node selector
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   127
                    ]
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   128
                ].
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   129
            ].
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   130
        ].
101
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   131
    ].
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   132
    SmallSense::CompletionWindow 
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   133
        openForView: codeView
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   134
        text: text
a300290bf8fc Classes renamed to better express theit purpose.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   135
        items: items.
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   136
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   137
    "Created: / 19-08-2013 / 15:01:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
75
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   138
    "Modified: / 02-09-2013 / 12:52:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
63
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   139
! !
fe86b749d233 Support for SmallSense code completion in debugger.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 60
diff changeset
   140
137
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   141
!EditTextView methodsFor:'accessing-behavior'!
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   142
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   143
autoIndent
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   144
    ^ autoIndent
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   145
! !
12232e62cf54 Fixes in electring snippets (both in API and Smalltalk snippets)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 106
diff changeset
   146
16
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   147
!HTMLDocumentView methodsFor:'actions'!
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   148
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   149
doQuickFix: quickFixNo
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   150
    | app |
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   151
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   152
    app := self application.
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   153
    app notNil ifTrue:[
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   154
	app doQuickFix: quickFixNo
16
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   155
    ].
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   156
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   157
    "Created: / 16-02-2012 / 14:18:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   158
! !
900fdba78fb2 Lint checking improved
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 15
diff changeset
   159
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   160
!MessageNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   161
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   162
childNamesAndValuesDo:aBlock
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   163
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   164
    aBlock value: #receiver value: receiver.
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   165
    argArray notNil ifTrue:[
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   166
	argArray withIndexDo:[:node :idx|
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   167
	    aBlock value: 'arg[' , idx printString , ']' value: node
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   168
	]
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   169
    ]
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   170
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   171
    "Modified: / 26-11-2011 / 12:10:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   172
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   173
106
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   174
!MessageNode methodsFor:'navigation-SmallSense'!
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   175
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   176
navigateToUsing: navigator
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   177
    navigator navigateToMessageNode: self.
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   178
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   179
    "Created: / 24-09-2013 / 10:04:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   180
! !
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   181
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   182
!Method methodsFor:'inspecting'!
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   183
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   184
inspector2TabParseTreeInspector
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   185
    ^ (self newInspector2Tab)
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   186
        label:'Parse Tree';
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   187
        priority:35;
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   188
        application:
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   189
                [
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   190
                    | src parser |
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   191
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   192
                    src := self source.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   193
                    parser := self parserClass parseMethod: src.
197
49a859d7aa94 Renamed ParseNodeInspector to ParseTreeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 196
diff changeset
   194
                    SmallSense::ParseTreeInspector new node:parser tree source:src.
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   195
                ];
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   196
        yourself
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   197
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   198
    "Created: / 09-04-2014 / 09:31:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
197
49a859d7aa94 Renamed ParseNodeInspector to ParseTreeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 196
diff changeset
   199
    "Modified: / 10-04-2014 / 08:58:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   200
! !
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   201
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   202
!Method methodsFor:'inspecting'!
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   203
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   204
inspector2Tabs
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   205
    ^ super inspector2Tabs , #(inspector2TabParseTreeInspector)
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   206
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   207
    "Created: / 09-04-2014 / 09:32:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   208
    "Modified: / 10-04-2014 / 08:47:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   209
! !
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   210
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   211
!ParseErrorNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   212
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   213
childNamesAndValuesDo:aBlock
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   214
    "superclass ParseNode says that I am responsible to implement this method"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   215
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   216
    ^ children withIndexDo:[:child :index |
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   217
        aBlock value:'child[' , index printString , ']' value: child
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   218
    ]
60
0daf99c34c5e Initial support for syntax-error tolerant parsing of Smalltalk.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 51
diff changeset
   219
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   220
    "Modified: / 20-09-2013 / 01:00:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   221
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   222
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   223
!ParseNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   224
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   225
childNamesAndValuesDo:aBlock
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   226
    "Enumerates all direct children and evaluates a block
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   227
     with its name (usually instVar name) and the node itself"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   228
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   229
    self class allInstVarNames withIndexDo:[:n :i|
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   230
        | v |
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   231
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   232
        v := self instVarAt: i.
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   233
        (v isKindOf: ParseNode) ifTrue:[
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   234
            aBlock value: n value: v
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   235
        ] ifFalse:[
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   236
            (v isSequenceable) ifTrue:[
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   237
                v withIndexDo:[ :v2 :i2|
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   238
                    (v2 isKindOf: ParseNode) ifTrue:[
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   239
                        aBlock value: (n, '[' , i2 printString , ']') value: v2.
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   240
                    ]
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   241
                ]
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   242
            ]
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   243
        ]
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   244
    ]
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   245
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   246
    "Created: / 26-11-2011 / 10:38:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
98
c21c3e61a377 Fixes for ParseNodeInspector. Display nodes with no source position info in red.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 80
diff changeset
   247
    "Modified: / 19-09-2013 / 18:18:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   248
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   249
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   250
!ParseNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   251
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   252
inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   253
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   254
    | t |
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   255
    t := self objectAttributeAt:#inferedType.
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   256
    t isNil ifTrue:[t := SmallSense::Type unknown].
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   257
    ^t
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   258
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   259
    "Created: / 26-11-2011 / 12:38:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   260
    "Modified: / 24-08-2013 / 20:46:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   261
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   262
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   263
!ParseNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   264
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   265
inferedType: aSmallSenseType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   266
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   267
    ^ self objectAttributeAt:#inferedType put: aSmallSenseType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   268
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   269
    "Created: / 26-11-2011 / 12:37:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   270
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   271
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   272
!ParseNode methodsFor:'testing'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   273
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   274
isSelector
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   275
    "return true, if this is a node for an selctors"
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   276
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   277
    ^ false
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   278
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   279
    "Created: / 22-02-2011 / 21:44:45 / Jakub <zelenja7@fel.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   280
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   281
102
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   282
!ParseNode methodsFor:'navigation-SmallSense'!
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   283
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   284
navigateToUsing:navigator
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   285
    "Nothing by default, to overwritten by subclasses"
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   286
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   287
    "Modified: / 24-09-2013 / 10:05:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   288
! !
538fc4ef040c CodeNavigation service refactored to support Java (not yet done, though)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 101
diff changeset
   289
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   290
!PrimaryNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   291
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   292
childNamesAndValuesDo:aBlock
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   293
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   294
    "Initionally left blank, primary nodes have no children"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   295
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   296
    "Modified: / 26-11-2011 / 11:49:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   297
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   298
150
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   299
!PrimitiveNode methodsFor:'accessing-SmallSense'!
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   300
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   301
inferedType
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   302
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   303
    ^ SmallSense::Type withClass: UndefinedObject "/ Not really true, should be 'void'
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   304
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   305
    "Created: / 08-12-2013 / 22:25:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   306
! !
f3e694a9aa12 Added PrimitiveNode>>inferredType as ingerited version is does not work.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 147
diff changeset
   307
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   308
!RBLintRule methodsFor:'accessing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   309
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   310
fixes: aSmallSenseQuickFixer
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   311
    "Adds all possible code fixes to given quick fixer.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   312
     Default is to do nothing, meaning that there are
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   313
     no quickfixes available"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   314
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   315
    "Created: / 01-02-2012 / 12:09:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   316
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   317
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   318
!RBTransformationRule methodsFor:'accessing'!
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   319
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   320
fixes: fixer
17
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   321
    | changes |
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   322
17
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   323
    changes := self changes.
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   324
    changes notEmptyOrNil ifTrue:[
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   325
	fixer fix
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   326
	    label:'Rewrite the code';
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   327
	    action: [ fixer apply:
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   328
		((ChangeSet withAll:self changes) name: self name)
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   329
	    ].
17
8443d79a77ac Improvements in background lint checker
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 16
diff changeset
   330
    ]
9
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   331
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   332
    "Created: / 01-02-2012 / 12:11:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 5
diff changeset
   333
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   334
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   335
!ReturnNode methodsFor:'enumeration'!
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   336
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   337
childNamesAndValuesDo:aBlock
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   338
    aBlock value: 'expression' value: expression.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   339
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   340
    "Created: / 10-04-2014 / 08:15:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   341
! !
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   342
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   343
!StatementNode methodsFor:'enumeration'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   344
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   345
childNamesAndValuesDo:aBlock
15
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   346
    | stmt index |
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   347
    stmt := self.
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   348
    index := 1.
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   349
    [ stmt notNil ] whileTrue:[
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   350
        | expr |
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   351
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   352
        stmt isReturnNode ifTrue:[ 
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   353
            expr := stmt.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   354
        ] ifFalse:[ 
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   355
            expr := stmt expression.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   356
        ].
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   357
        aBlock value: ('statement[%1]' bindWith: index) value: expr.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   358
        stmt := stmt nextStatement.
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   359
        index := index + 1.
15
23ecfbccccd5 Updates in SmallSenseParseNodeInspector
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 11
diff changeset
   360
    ]
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   361
196
47c92efe24e5 Fixes/improvements in ParseNodeInspector.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 177
diff changeset
   362
    "Modified: / 10-04-2014 / 08:13:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   363
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   364
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   365
!StatementNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   366
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   367
inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   368
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   369
    ^ expression inferedType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   370
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   371
    "Created: / 26-11-2011 / 12:38:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   372
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   373
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   374
!StatementNode methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   375
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   376
inferedType: aSmallSenseType
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   377
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   378
    ^ self shouldNotImplement
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   379
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   380
    "Created: / 26-11-2011 / 12:37:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   381
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   382
75
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   383
!Tools::CodeCompletionService class methodsFor:'testing'!
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   384
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   385
smallSenseIsUsefulFor:aCodeView
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   386
    "No old completion once there's SmallSense :-)"
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   387
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   388
    <swizzle: #isUsefulFor:>     
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   389
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   390
    ^ false.
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   391
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   392
    "Created: / 02-09-2013 / 12:58:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   393
! !
2046f40e5dde Fixes to make SmallSense code completion working on eXept CVS version (part 1)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 69
diff changeset
   394
42
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   395
!Tools::CodeHighlightingService class methodsFor:'instance creation'!
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   396
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   397
new
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   398
    "return an initialized instance"
99
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   399
    
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   400
    ^ (SmallSense::CodeHighlightingService ? self) basicNew initialize.
42
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   401
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   402
    "Created: / 27-07-2013 / 22:47:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
99
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   403
    "Modified: / 23-09-2013 / 14:32:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   404
! !
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   405
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   406
!Tools::CodeNavigationService class methodsFor:'instance creation'!
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   407
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   408
new
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   409
    "return an initialized instance"
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   410
    
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   411
    ^ (SmallSense::CodeNavigationService ? self) basicNew initialize.
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   412
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   413
    "Created: / 27-07-2013 / 22:47:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6943778c2db7 SyntaxHighlightingService renamed to CodeHighlightingService to match those in tools.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 98
diff changeset
   414
    "Modified: / 23-09-2013 / 14:32:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
42
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   415
! !
48307f46ff8e Edit support cut off to a new service. Added SmallSense syntax highlighting service.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 34
diff changeset
   416
64
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   417
!Tools::NavigationState methodsFor:'aspects - SmallSense'!
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   418
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   419
smallSenseSelectedClasses
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   420
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   421
    <swizzle: #selectedClasses>     
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   422
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   423
    selectedClasses isNil ifTrue:[
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   424
        selectedClasses := "SpecialValueHolder with:nil." nil asValue.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   425
        (ConfigurableFeatures includesFeature:'SmallSenseEnabled') ifTrue:[
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   426
            selectedClasses onChangeEvaluate:[
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   427
                selectedClasses value ? #() do:[:cls|
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   428
                    (Smalltalk at:#SmallSense::Manager) instance updateInfoForClass: cls.
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   429
                ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   430
            ]
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   431
        ]
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   432
    ].
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   433
    ^ selectedClasses
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   434
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   435
    "Created: / 24-08-2013 / 21:53:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   436
! !
2257d7223898 All classes moved to namespace SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 63
diff changeset
   437
147
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   438
!Tools::NewSystemBrowser methodsFor:'private-searching-smallsense'!
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   439
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   440
searchCompletionBlock_SmallSense
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   441
    "This returns a class/selector name completion block that uses
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   442
     standard DoWhatIMeanSupport"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   443
    
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   444
    ^ [:patternString | self smallSenseSearchCompletion:patternString ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   445
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   446
    "Created: / 25-11-2013 / 12:27:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   447
! !
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   448
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   449
!Tools::NewSystemBrowser methodsFor:'private-searching-smallsense'!
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   450
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   451
smallSenseSearchCompletion:patternString 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   452
    "/sorry, no method search yet"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   453
    
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   454
    ^ self smallSenseSearchCompletionNewForClass:patternString
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   455
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   456
    "Modified: / 04-08-2011 / 19:05:28 / cg"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   457
    "Created: / 04-12-2011 / 22:22:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   458
! !
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   459
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   460
!Tools::NewSystemBrowser methodsFor:'private-searching-smallsense'!
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   461
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   462
smallSenseSearchCompletionBlock
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   463
    "This returns a class/selector name completion block that uses
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   464
     standard DoWhatIMeanSupport"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   465
    
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   466
    ^ [:patternString | self smallSenseSearchCompletion:patternString ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   467
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   468
    "Modified: / 04-08-2011 / 19:05:28 / cg"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   469
    "Created: / 04-12-2011 / 22:13:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   470
! !
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   471
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   472
!Tools::NewSystemBrowser methodsFor:'private-searching-smallsense'!
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   473
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   474
smallSenseSearchCompletionEntryForClass:aClass showPrefix:showPrefix 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   475
    ^ (SmallSense::ClassPO new)
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   476
        klass:aClass;
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   477
        showPrefix:showPrefix.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   478
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   479
    "Created: / 06-04-2012 / 12:55:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   480
    "Modified: / 25-11-2013 / 12:16:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   481
! !
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   482
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   483
!Tools::NewSystemBrowser methodsFor:'private-searching-smallsense'!
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   484
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   485
smallSenseSearchCompletionNewForClass:patternString 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   486
    | env  pattern  matcher  matches  relax  withPrefix |
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   487
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   488
    patternString isEmptyOrNil ifTrue:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   489
        ^ #( '' #() )
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   490
    ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   491
    env := self theSingleSelectedNamespace ? #Smalltalk.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   492
    env = NavigatorModel nameListEntryForALL ifTrue:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   493
        env := #Smalltalk
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   494
    ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   495
    env := Smalltalk at:env.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   496
    withPrefix := patternString includes:$:.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   497
    pattern := StringPattern readFrom:patternString onError:[ ^ #( '' #() ) ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   498
    withPrefix ifTrue:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   499
        matcher := [:cls | pattern match:cls name ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   500
    ] ifFalse:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   501
        matcher := [:cls | pattern match:cls nameWithoutPrefix ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   502
    ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   503
    relax := 1.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   504
    [
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   505
        matches isEmptyOrNil and:[ relax <= 3 ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   506
    ] whileTrue:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   507
        matches := OrderedCollection new.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   508
        env 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   509
            keysDo:[:nm | 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   510
                | cls |
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   511
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   512
                cls := env at:nm.
270
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   513
                (cls notNil and:[ cls isBehavior and:[ (matches includesIdentical:cls) not ] ]) 
147
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   514
                        ifTrue:[
270
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   515
                            "cls isJavaClass"false ifTrue:[ 
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   516
                                cls isAnonymous ifFalse:[ 
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   517
                                    (matcher value:cls) ifTrue:[
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   518
                                        matches add:cls
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   519
                                    ].
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   520
                                ].
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   521
                            ] ifFalse:[
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   522
                                (matcher value:cls) ifTrue:[
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   523
                                    matches add:cls
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   524
                                ].
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   525
                            ]
147
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   526
                        ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   527
            ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   528
        relax := relax + 1.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   529
    ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   530
    matches isEmpty ifTrue:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   531
        ^ #( nil #() )
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   532
    ] ifFalse:[
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   533
        matches := matches 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   534
                collect:[:cls | 
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   535
                    self smallSenseSearchCompletionEntryForClass:cls showPrefix:withPrefix
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   536
                ].
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   537
        ^ {
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   538
            matches first.
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   539
            matches
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   540
        }
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   541
    ]
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   542
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   543
    "Created: / 06-04-2012 / 12:56:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
270
51c4ee46f5c0 Support for completion of Java catch clause (completes exception classes)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 255
diff changeset
   544
    "Modified: / 07-08-2014 / 13:10:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
147
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   545
! !
5c835893f71b New class search completion for browser's search bar moved to SmallSense.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 137
diff changeset
   546
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   547
!UserPreferences methodsFor:'accessing-SmallSense'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   548
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   549
smallSenseBackgroundLintEnabled
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   550
    "Return true if SmallSense background source checking is enabled"
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   551
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   552
    ^self at:#smallSenseBackgroundLintEnabled ifAbsent:[false]
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   553
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   554
    "Created: / 30-01-2012 / 19:59:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   555
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   556
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   557
!UserPreferences methodsFor:'accessing-SmallSense'!
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   558
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   559
smallSenseBackgroundLintEnabled: aBoolean
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   560
    "Return true if SmallSense background source checking is enabled"
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   561
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   562
    ^self at:#smallSenseBackgroundLintEnabled put: aBoolean
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   563
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   564
    "
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   565
	UserPreferences current smallSenseBackgroundLintEnabled
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   566
	UserPreferences current smallSenseBackgroundLintEnabled: true
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   567
	UserPreferences current smallSenseBackgroundLintEnabled: false
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   568
    "
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   569
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   570
    "Created: / 30-01-2012 / 20:00:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   571
! !
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   572
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   573
!UserPreferences methodsFor:'accessing-SmallSense'!
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   574
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   575
smallSenseBackgroundTypingEnabled
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   576
    "Return true if SmallSense background source checking is enabled"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   577
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   578
    ^self at:#smallSenseBackgroundTypingEnabled ifAbsent:[false]
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   579
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   580
    "Created: / 04-02-2012 / 21:41:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   581
! !
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   582
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   583
!UserPreferences methodsFor:'accessing-SmallSense'!
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   584
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   585
smallSenseBackgroundTypingEnabled: aBoolean
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   586
    "Return true if SmallSense background source checking is enabled"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   587
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   588
    ^self at:#smallSenseBackgroundTypingEnabled put: aBoolean
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   589
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   590
    "
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   591
	UserPreferences current smallSenseBackgroundTypingEnabled
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   592
	UserPreferences current smallSenseBackgroundTypingEnabled: true
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   593
	UserPreferences current smallSenseBackgroundTypingEnabled: false
11
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   594
    "
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   595
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   596
    "Created: / 04-02-2012 / 21:41:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   597
! !
17938f618c57 Added settings application
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 9
diff changeset
   598
5
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   599
!UserPreferences methodsFor:'accessing-SmallSense'!
9b296f3ad0a4 Added code critics (lint) window
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 0
diff changeset
   600
154
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   601
smallSenseCompleteIfUnambiguous
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   602
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   603
    ^self at:#smallSenseCompleteIfUnambiguous ifAbsent:[false]
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   604
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   605
    "Created: / 18-01-2014 / 23:08:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   606
! !
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   607
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   608
!UserPreferences methodsFor:'accessing-SmallSense'!
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   609
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   610
smallSenseCompleteIfUnambiguous: aBoolean
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   611
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   612
    ^self at:#smallSenseCompleteIfUnambiguous put: aBoolean.
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   613
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   614
    "
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   615
    UserPreferences current smallSenseCompleteIfUnambiguous
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   616
    UserPreferences current smallSenseCompleteIfUnambiguous: true.
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   617
    UserPreferences current smallSenseCompleteIfUnambiguous: false.
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   618
    "
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   619
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   620
    "Created: / 18-01-2014 / 23:08:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   621
! !
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   622
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   623
!UserPreferences methodsFor:'accessing-SmallSense'!
b96fbde91144 Support for auto-completion of unambigous items (such as instvars)
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 150
diff changeset
   624
177
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   625
smallSenseCompletionEnabled
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   626
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   627
    ^self at:#smallSenseCompletionEnabled ifAbsent:[self smallSenseEnabled]
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   628
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   629
    "Created: / 27-02-2014 / 09:29:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   630
! !
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   631
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   632
!UserPreferences methodsFor:'accessing-SmallSense'!
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   633
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   634
smallSenseCompletionEnabled: aBoolean
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   635
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   636
    ^self at:#smallSenseCompletionEnabled put: aBoolean
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   637
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   638
    "Created: / 27-02-2014 / 09:29:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   639
! !
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   640
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   641
!UserPreferences methodsFor:'accessing-SmallSense'!
be588b60f4b2 Added preference to enable/disable SmallSense completion.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 176
diff changeset
   642
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   643
smallSenseEnabled
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   644
    "Return true if SmallSense is enabled"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   645
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   646
    ^self at:#smallSenseEnabled ifAbsent:[false]
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   647
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   648
    "Created: / 27-11-2011 / 17:20:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   649
! !
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   650
20
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   651
!UserPreferences methodsFor:'accessing-SmallSense'!
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   652
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   653
smallSenseEnabled: aBoolean
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   654
    "enable/disable SmallSense"
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   655
23
75fba0a79b3f Fixes UserPreferences
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 20
diff changeset
   656
    ^self at:#smallSenseEnabled put: aBoolean.
20
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   657
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   658
    "
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   659
    UserPreferences current smallSenseEnabled.
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   660
    UserPreferences current smallSenseEnabled: true.
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   661
    UserPreferences current smallSenseEnabled: false.
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   662
    "
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   663
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   664
    "Created: / 02-04-2012 / 11:37:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   665
! !
65bee305e13f Added UserPreferences>>smallSenseEnabled:
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 19
diff changeset
   666
255
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   667
!UserPreferences methodsFor:'accessing-SmallSense-Smalltalk'!
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   668
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   669
smallSenseSmalltalkIndentOnPasteEnabled
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   670
    "Return true if SmallSense indent-on-paste is enabled for Smalltalk language"
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   671
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   672
    ^self at:#smallSenseSmalltalkIndentOnPasteEnabled ifAbsent:[false]
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   673
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   674
    "Created: / 19-07-2014 / 00:11:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   675
! !
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   676
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   677
!UserPreferences methodsFor:'accessing-SmallSense-Smalltalk'!
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   678
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   679
smallSenseSmalltalkIndentOnPasteEnabled: aBoolean
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   680
    "Set SmallSense indent-on-paste feature for Smalltalk"
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   681
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   682
    ^ self at:#smallSenseSmalltalkIndentOnPasteEnabled put: aBoolean
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   683
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   684
    "
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   685
    UserPreferences current smallSenseSmalltalkIndentOnPasteEnabled
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   686
    UserPreferences current smallSenseSmalltalkIndentOnPasteEnabled: true.
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   687
    UserPreferences current smallSenseSmalltalkIndentOnPasteEnabled: false.
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   688
    "
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   689
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   690
    "Created: / 19-07-2014 / 00:11:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   691
! !
c32b4a6595d6 Added preference to enable / disable indent-on-paste feature.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 249
diff changeset
   692
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   693
!VariableNode methodsFor:'queries'!
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   694
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   695
isGlobalOrPrivateClass
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   696
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   697
    ^ type == #GlobalVariable or:[type == #PrivateClass]
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   698
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   699
    "Created: / 27-11-2011 / 16:31:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   700
! !
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   701
106
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   702
!VariableNode methodsFor:'navigation-SmallSense'!
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   703
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   704
navigateToUsing: navigator
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   705
    navigator navigateToVariableNode: self.
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   706
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   707
    "Created: / 24-09-2013 / 10:04:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   708
! !
1ab781eac004 Even more support for Java
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 102
diff changeset
   709
100
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   710
!Workspace class methodsFor:'defaults - smallsense'!
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   711
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   712
smallSenseCodeCompletionServiceClass
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   713
    <swizzle: #codeCompletionServiceClass>
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   714
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   715
    ^ SmallSense::CodeCompletionService
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   716
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   717
    "Created: / 24-09-2013 / 00:29:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   718
! !
6d2fb43e661b Initial support for complete-as-you-type.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 99
diff changeset
   719
249
8bc64027b189 Package renamed to stx:goodies/smallsense
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 197
diff changeset
   720
!stx_goodies_smallsense class methodsFor:'documentation'!
0
893cc7b0ed1d copied smallsense from old /branches/jv
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   721
29
fe650a6e5704 Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   722
extensionsVersion_HG
fe650a6e5704 Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   723
fe650a6e5704 Moved NavigationState>>selectedClasses to package stx:libtool.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 24
diff changeset
   724
    ^ '$Changeset: <not expanded> $'
34
5be71b1d52ec SmallSenseResultItem ranemd to SmallSensePO.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 32
diff changeset
   725
! !