JavaScriptCompletionParser.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 24 Sep 2013 23:18:24 +0200
branchinitialV
changeset 1180 01c6be61f29c
parent 708 e579a063d162
child 725 1654323dc2fd
permissions -rw-r--r--
checkin from stx browser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
692
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:libjavascript' }"
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
JavaScriptParser subclass:#JavaScriptCompletionParser
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:'nodeRewriteHook'
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'Languages-JavaScript-Compiling & Parsing'
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
!JavaScriptCompletionParser methodsFor:'accessing'!
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
nodeRewriteHook
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
    ^ nodeRewriteHook
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
!
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
nodeRewriteHook:oneArgBlock
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
    nodeRewriteHook := oneArgBlock.
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
! !
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
701
740af7ecc058 Support for completing variables.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 692
diff changeset
    21
!JavaScriptCompletionParser methodsFor:'error handling'!
740af7ecc058 Support for completing variables.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 692
diff changeset
    22
740af7ecc058 Support for completing variables.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 692
diff changeset
    23
parseError:aMessage position:position to:endPos
740af7ecc058 Support for completing variables.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 692
diff changeset
    24
740af7ecc058 Support for completing variables.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 692
diff changeset
    25
    "Created: / 23-09-2013 / 21:10:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
740af7ecc058 Support for completing variables.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 692
diff changeset
    26
! !
740af7ecc058 Support for completing variables.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 692
diff changeset
    27
692
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
!JavaScriptCompletionParser methodsFor:'initialization'!
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
initialize
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
    "Invoked when a new instance is created."
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
    "/ please change as required (and remove this comment)
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
    super initialize.
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
    nodeRewriteHook := [:node | node ].
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
    "Modified: / 23-09-2013 / 13:33:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
! !
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
!JavaScriptCompletionParser methodsFor:'parsing-expressions'!
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
expression
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
    ^ nodeRewriteHook value: super expression.
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
    "Created: / 16-06-2011 / 14:58:11 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    "Modified: / 05-07-2011 / 21:11:38 / cg"
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
    "Modified: / 23-09-2013 / 13:32:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
!
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
708
e579a063d162 Minor fixes, making StatementBlockNode obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 701
diff changeset
    51
newExpression
e579a063d162 Minor fixes, making StatementBlockNode obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 701
diff changeset
    52
    | node |
e579a063d162 Minor fixes, making StatementBlockNode obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 701
diff changeset
    53
e579a063d162 Minor fixes, making StatementBlockNode obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 701
diff changeset
    54
    node := super newExpression.
e579a063d162 Minor fixes, making StatementBlockNode obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 701
diff changeset
    55
    node classOrFunc: (nodeRewriteHook value: node classOrFunc).
e579a063d162 Minor fixes, making StatementBlockNode obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 701
diff changeset
    56
    ^ node
e579a063d162 Minor fixes, making StatementBlockNode obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 701
diff changeset
    57
e579a063d162 Minor fixes, making StatementBlockNode obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 701
diff changeset
    58
    "Created: / 24-09-2013 / 17:58:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e579a063d162 Minor fixes, making StatementBlockNode obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 701
diff changeset
    59
!
e579a063d162 Minor fixes, making StatementBlockNode obsolete.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 701
diff changeset
    60
692
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
primaryExpression
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
    ^ nodeRewriteHook value: super primaryExpression.
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
    "Created: / 22-07-2013 / 15:37:04 / cg"
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    "Modified: / 23-09-2013 / 13:34:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
!
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
unaryExpression
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
    ^ nodeRewriteHook value: super unaryExpression.
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
    "Created: / 05-07-2011 / 23:08:54 / cg"
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    "Modified: / 23-09-2013 / 13:34:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
! !
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
!JavaScriptCompletionParser class methodsFor:'documentation'!
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
version
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    78
    ^ '$Header$'
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
!
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
version_CVS
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
    ^ '$Header$'
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
! !
bb649e9d94bc initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84