extensions.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Tue, 24 Sep 2013 23:18:24 +0200
branchinitialV
changeset 1180 01c6be61f29c
parent 648 f6fc4fd5e4ed
child 722 944c5b4027b9
permissions -rw-r--r--
checkin from stx browser
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
445
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
     1
"{ Package: 'stx:libjavascript' }"!
208
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
     2
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
     3
!AbstractTime methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
     4
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
     5
getDate
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
     6
    "return the day of the month (1..31)"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
     7
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
     8
    ^ self asDate day
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
     9
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    10
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    11
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    12
	evaluate:'Date.now.getDate;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    13
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    14
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    15
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    16
!AbstractTime methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    17
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    18
getDay
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    19
    "return the day of the week (0..6); Sunday is 0"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    20
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    21
    ^ self asDate dayOfWeek - 1
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    22
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    23
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    24
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    25
	evaluate:'Date.now.getDay;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    26
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    27
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    28
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    29
!AbstractTime methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    30
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    31
getFullYear
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    32
    "return the year"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    33
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    34
    ^ self asDate year
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    35
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    36
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    37
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    38
	evaluate:'Date.now.getFullYear;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    39
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    40
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    41
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    42
!AbstractTime methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    43
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    44
getHours
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    45
    "return the hours (0..24)"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    46
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    47
    ^ self asTime hours
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    48
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    49
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    50
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    51
	evaluate:'Date.now.getHours;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    52
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    53
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    54
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    55
!AbstractTime methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    56
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    57
getMinutes
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    58
    "return the minutes (0..60)"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    59
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    60
    ^ self asTime minutes
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    61
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    62
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    63
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    64
	evaluate:'Date.now.getMinutes;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    65
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    66
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    67
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    68
!AbstractTime methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    69
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    70
getMonth
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    71
    "return the day of the month (1..12)"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    72
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    73
    ^ self asDate month
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    74
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    75
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    76
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
    77
	evaluate:'Date.now.getMonth;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    78
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    79
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    80
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    81
!AbstractTime methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
    82
445
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
    83
js_add: aNumberOrString
345
6c23a6037266 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 338
diff changeset
    84
    "For JavaScript only:
6c23a6037266 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 338
diff changeset
    85
     Generated for +-operator in javascript."
6c23a6037266 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 338
diff changeset
    86
445
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
    87
    ^ aNumberOrString js_addFromTime:self
467
f0476429665d added: #js_addFromTime:
Michael Beyl <mb@exept.de>
parents: 445
diff changeset
    88
    "/^ self + aNumberOrString
445
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
    89
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
    90
    "Modified: / 19-05-2010 / 13:47:11 / cg"
345
6c23a6037266 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 338
diff changeset
    91
! !
6c23a6037266 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 338
diff changeset
    92
6c23a6037266 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 338
diff changeset
    93
!AbstractTime methodsFor:'Javascript support'!
6c23a6037266 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 338
diff changeset
    94
467
f0476429665d added: #js_addFromTime:
Michael Beyl <mb@exept.de>
parents: 445
diff changeset
    95
js_addFromTime: aTime
f0476429665d added: #js_addFromTime:
Michael Beyl <mb@exept.de>
parents: 445
diff changeset
    96
    "For JavaScript only:
f0476429665d added: #js_addFromTime:
Michael Beyl <mb@exept.de>
parents: 445
diff changeset
    97
     Generated for +-operator in javascript."
f0476429665d added: #js_addFromTime:
Michael Beyl <mb@exept.de>
parents: 445
diff changeset
    98
f0476429665d added: #js_addFromTime:
Michael Beyl <mb@exept.de>
parents: 445
diff changeset
    99
    ^ aTime + self
f0476429665d added: #js_addFromTime:
Michael Beyl <mb@exept.de>
parents: 445
diff changeset
   100
! !
f0476429665d added: #js_addFromTime:
Michael Beyl <mb@exept.de>
parents: 445
diff changeset
   101
f0476429665d added: #js_addFromTime:
Michael Beyl <mb@exept.de>
parents: 445
diff changeset
   102
!AbstractTime methodsFor:'Javascript support'!
f0476429665d added: #js_addFromTime:
Michael Beyl <mb@exept.de>
parents: 445
diff changeset
   103
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   104
js_getMilliseconds
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   105
    "return the millieconds (0..999)"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   106
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   107
    ^ self asTime milliseconds
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   108
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   109
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   110
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   111
	evaluate:'Date.now.js_getMilliseconds;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   112
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   113
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   114
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   115
!AbstractTime methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   116
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   117
js_getSeconds
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   118
    "return the seconds (0..60)"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   119
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   120
    ^ self asTime seconds
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   121
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   122
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   123
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   124
	evaluate:'Date.now.getSeconds;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   125
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   126
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   127
208
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
   128
!ArithmeticValue methodsFor:'JavaScript support'!
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
   129
445
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   130
js_add: aNumberOrString
208
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
   131
    "For JavaScript only:
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
   132
     Generated for +-operator in javascript."
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
   133
445
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   134
    ^ aNumberOrString js_addFromNumber:self
208
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
   135
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
   136
    "Created: / 08-08-2006 / 11:06:23 / cg"
445
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   137
    "Modified: / 19-05-2010 / 13:46:47 / cg"
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   138
! !
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   139
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   140
!ArithmeticValue methodsFor:'JavaScript support'!
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   141
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   142
js_addFromNumber:aNumber
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   143
    "For JavaScript only:
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   144
     Generated for +-operator in javascript."
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   145
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   146
    ^ aNumber + self
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   147
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   148
    "Created: / 19-05-2010 / 13:47:42 / cg"
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   149
! !
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   150
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   151
!ArithmeticValue methodsFor:'JavaScript support'!
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   152
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   153
js_addFromTime: aTime
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   154
    "For JavaScript only:
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   155
     Generated for +-operator in javascript."
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   156
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   157
    ^ aTime + self
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   158
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   159
    "Created: / 19-05-2010 / 13:48:44 / cg"
208
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
   160
! !
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
   161
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   162
!Behavior methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   163
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   164
js_new
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   165
    "redefinable JS-new"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   166
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   167
    ^ self new
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   168
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   169
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   170
!Behavior methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   171
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   172
js_new:argument
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   173
    "redefinable JS-new:"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   174
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   175
    ^ self new:argument
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   176
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   177
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   178
!Block methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   179
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   180
typeof
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   181
    "return a string describing what I am"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   182
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   183
    ^ 'function'
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   184
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   185
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   186
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   187
	evaluate:'''hello''.typeof()'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   188
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   189
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   190
	evaluate:'(function (a,b) { return a; }).typeof();'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   191
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   192
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   193
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   194
!Boolean methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   195
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   196
typeof
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   197
    "return a string describing what I am"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   198
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   199
    ^ 'boolean'
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   200
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   201
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   202
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   203
	evaluate:'''hello''.typeof()'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   204
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   205
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   206
	evaluate:'false.typeof();'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   207
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   208
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   209
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   210
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   211
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   212
charAt0:index
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   213
    "returns the n'th character, using a 0-based indexing scheme (sigh)"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   214
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   215
    ^ ( self at:(index-1) ) asString.
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   216
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   217
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   218
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   219
	evaluate:'''hello''.charAt0(0)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   220
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   221
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   222
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   223
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   224
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   225
charAt1:index
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   226
    "returns the n'th character, using a 1-based indexing scheme (sigh)"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   227
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   228
    ^ ( self at:index ) asString.
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   229
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   230
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   231
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   232
	evaluate:'''hello''.charAt1(1)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   233
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   234
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   235
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   236
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   237
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   238
charCodeAt0:index
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   239
    "returns the code of the n'th character, using a 0-based indexing scheme (sigh)"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   240
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   241
    ^ ( self at:(index-1) ) codePoint.
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   242
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   243
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   244
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   245
	evaluate:'''hello''.charCodeAt0(0)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   246
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   247
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   248
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   249
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   250
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   251
charCodeAt1:index
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   252
    "returns the code of the n'th character, using a 1-based indexing scheme (sigh)"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   253
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   254
    ^ ( self at:index ) codePoint.
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   255
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   256
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   257
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   258
	evaluate:'''hello''.charCodeAt1(1)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   259
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   260
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   261
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   262
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   263
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   264
indexOf0:aCharacter
317
64c9d7b55c18 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 316
diff changeset
   265
    "returns the index of aCharacter, using a 0-based indexing scheme; -1 if not found (sigh)"
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   266
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   267
    aCharacter isCharacter ifFalse:[
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   268
	self assert:aCharacter size == 1.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   269
	^ self indexOf0:(aCharacter at:1)
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   270
    ].
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   271
    ^ (self indexOf:aCharacter) - 1
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   272
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   273
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   274
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   275
	evaluate:'''hello''.indexOf0(''l'')'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   276
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   277
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   278
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   279
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   280
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   281
indexOf1:aCharacter
317
64c9d7b55c18 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 316
diff changeset
   282
    "returns the index of aCharacter, using a 1-based indexing scheme; 0 if not found (sigh)"
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   283
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   284
    aCharacter isCharacter ifFalse:[
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   285
	self assert:aCharacter size == 1.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   286
	^ self indexOf1:(aCharacter at:1)
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   287
    ].
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   288
    ^ (self indexOf:aCharacter)
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   289
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   290
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   291
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   292
	evaluate:'''hello''.indexOf0(''l'')'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   293
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   294
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   295
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   296
!CharacterArray methodsFor:'JavaScript support'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   297
445
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   298
js_add:something
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   299
    "For JavaScript only:
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   300
     Generated for +-operator in javascript."
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   301
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   302
    ^ something js_addFromString:self
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   303
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   304
    "Created: / 19-05-2010 / 13:50:28 / cg"
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   305
! !
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   306
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   307
!CharacterArray methodsFor:'JavaScript support'!
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   308
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   309
js_addFromNumber:aNumber
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   310
    "For JavaScript only:
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   311
     Generated for +-operator in javascript."
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   312
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   313
    ^ aNumber printString , self
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   314
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   315
    "Created: / 19-05-2010 / 13:49:34 / cg"
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   316
! !
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   317
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   318
!CharacterArray methodsFor:'JavaScript support'!
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   319
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   320
js_addFromString:aString
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   321
    "For JavaScript only:
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   322
     Generated for +-operator in javascript."
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   323
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   324
    ^ aString , self
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   325
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   326
    "Created: / 19-05-2010 / 13:50:42 / cg"
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   327
! !
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   328
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   329
!CharacterArray methodsFor:'JavaScript support'!
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   330
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   331
js_addFromTime:aTime
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   332
    "For JavaScript only:
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   333
     Generated for +-operator in javascript."
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   334
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   335
    ^ aTime printString , self
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   336
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   337
    "Created: / 19-05-2010 / 13:49:46 / cg"
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   338
! !
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   339
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   340
!CharacterArray methodsFor:'JavaScript support'!
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   341
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   342
lastIndexOf0:aCharacter
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   343
    "returns the last index of aCharacter, using a 0-based indexing scheme; -1 if not found (sigh)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   344
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   345
    aCharacter isCharacter ifFalse:[
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   346
	self assert:aCharacter size == 1.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   347
	^ self lastIndexOf0:(aCharacter at:1)
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   348
    ].
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   349
    ^ (self lastIndexOf:aCharacter) - 1
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   350
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   351
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   352
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   353
	evaluate:'''hello''.lastIndexOf0(''l'')'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   354
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   355
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   356
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   357
!CharacterArray methodsFor:'JavaScript support'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   358
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   359
lastIndexOf1:aCharacter
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   360
    "returns the last index of aCharacter, using a 1-based indexing scheme; 0 if not found (sigh)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   361
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   362
    aCharacter isCharacter ifFalse:[
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   363
	self assert:aCharacter size == 1.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   364
	^ self lastIndexOf1:(aCharacter at:1)
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   365
    ].
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   366
    ^ (self lastIndexOf:aCharacter)
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   367
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   368
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   369
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   370
	evaluate:'''hello''.lastIndexOf1(''l'')'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   371
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   372
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   373
208
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
   374
!CharacterArray methodsFor:'JavaScript support'!
e58820d9061c js_add extension
Claus Gittinger <cg@exept.de>
parents: 207
diff changeset
   375
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   376
quote
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   377
    "wraps the receiver into quotes"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   378
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   379
    ^ '"',self,'"'
318
a065166e2ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 317
diff changeset
   380
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   381
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   382
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   383
	evaluate:'''hello''.quote'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   384
    "
318
a065166e2ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 317
diff changeset
   385
! !
a065166e2ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 317
diff changeset
   386
a065166e2ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 317
diff changeset
   387
!CharacterArray methodsFor:'JavaScript support'!
a065166e2ba8 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 317
diff changeset
   388
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   389
split:separator
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   390
    "splits into an array of substrings"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   391
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   392
    separator isCharacter ifTrue:[
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   393
	^ self asCollectionOfSubstringsSeparatedBy:separator
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   394
    ].
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   395
    (separator isString and:[separator size == 1]) ifTrue:[
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   396
	^ self asCollectionOfSubstringsSeparatedBy:(separator first)
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   397
    ].
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   398
    ^ self asCollectionOfSubstringsSeparatedByAll:separator
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   399
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   400
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   401
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   402
	evaluate:'''bla-fasel-suelz''.split(''-'')'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   403
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   404
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   405
	evaluate:'''bla - fasel - suelz''.split('' - '')'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   406
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   407
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   408
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   409
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   410
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   411
substr0:index _:count
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   412
    "extracts a substring, using a 0-based indexing scheme (sigh)"
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   413
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   414
    ^ self copyFrom:(index+1) to:(index+count)
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   415
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   416
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   417
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   418
	evaluate:'''helloWorld''.substr0(3,4)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   419
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   420
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   421
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   422
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   423
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   424
substr1:index _:count
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   425
    "extracts a substring, using a 1-based indexing scheme (sigh)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   426
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   427
    ^ self copyFrom:index to:(index-1+count)
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   428
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   429
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   430
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   431
	evaluate:'''helloWorld''.substr1(3,4)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   432
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   433
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   434
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   435
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   436
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   437
substring0:index1
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   438
    "extracts a substring, using a 0-based indexing scheme (sigh)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   439
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   440
    ^ self copyFrom:(index1+1)
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   441
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   442
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   443
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   444
	evaluate:'''helloWorld''.substring0(3)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   445
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   446
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   447
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   448
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   449
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   450
substring0:index1 _:index2
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   451
    "extracts a substring, using a 0-based indexing scheme (sigh)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   452
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   453
    ^ self copyFrom:(index1+1) to:(index2+1)
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   454
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   455
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   456
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   457
	evaluate:'''helloWorld''.substring0(3,6)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   458
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   459
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   460
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   461
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   462
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   463
substring1:index1
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   464
    "extracts a substring, using a 1-based indexing scheme (sigh)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   465
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   466
    ^ self copyFrom:index1
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   467
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   468
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   469
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   470
	evaluate:'''helloWorld''.substring1(3)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   471
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   472
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   473
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   474
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   475
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   476
substring1:index1 _:index2
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   477
    "extracts a substring, using a 1-based indexing scheme (sigh)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   478
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   479
    ^ self copyFrom:index1 to:index2
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   480
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   481
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   482
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   483
	evaluate:'''helloWorld''.substring1(3,6)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   484
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   485
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   486
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   487
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   488
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   489
toLowerCase
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   490
    "returns a copy of the receiver with all chars in lower case"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   491
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   492
    ^ self asLowercase
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   493
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   494
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   495
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   496
	evaluate:'''HeLLo''.toLowerCase'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   497
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   498
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   499
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   500
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   501
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   502
toUpperCase
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   503
    "returns a copy of the receiver with all chars in upper case"
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   504
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   505
    ^ self asUppercase
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   506
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   507
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   508
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   509
	evaluate:'''HeLLo''.toUpperCase'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   510
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   511
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   512
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   513
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   514
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   515
trim
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   516
    "returns a copy of the receiver with all leading and trailing whiteSpace removed"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   517
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   518
    ^ self withoutSeparators
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   519
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   520
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   521
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   522
	evaluate:'''    He LLo   ''.trim'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   523
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   524
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   525
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   526
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   527
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   528
trimLeft
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   529
    "returns a copy of the receiver with all leading whiteSpace removed"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   530
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   531
    ^ self withoutLeadingSeparators
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   532
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   533
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   534
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   535
	evaluate:'''    HeLLo   ''.trimLeft'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   536
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   537
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   538
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   539
!CharacterArray methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   540
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   541
trimRight
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   542
    "returns a copy of the receiver with all trailing whiteSpace removed"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   543
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   544
    ^ self withoutTrailingSeparators
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   545
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   546
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   547
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   548
	evaluate:'''    HeLLo   ''.trimRight'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   549
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   550
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   551
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   552
!CharacterArray methodsFor:'JavaScript support'!
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   553
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   554
typeof
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   555
    "return a string describing what I am"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   556
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   557
    ^ 'string'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   558
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   559
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   560
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   561
	evaluate:'''hello''.typeof()'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   562
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   563
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   564
	evaluate:'1234.typeof()'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   565
    "
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   566
! !
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   567
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   568
!Collection methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   569
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   570
length
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   571
    "returns the length of the string"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   572
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   573
    ^ self size
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   574
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   575
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   576
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   577
	evaluate:'''hello''.length'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   578
    "
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   579
! !
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   580
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   581
!Collection class methodsFor:'JS syntactic sugar'!
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   582
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   583
with:el1 _:el2
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   584
    "for JS easy syntax - allows: Array.with(el1, el2,...)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   585
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   586
    ^ self with:el1 with:el2
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   587
! !
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   588
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   589
!Collection class methodsFor:'JS syntactic sugar'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   590
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   591
with:el1 _:el2 _:el3
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   592
    "for JS easy syntax - allows: Array.with(el1, el2,...)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   593
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   594
    ^ self with:el1 with:el2 with:el3
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   595
! !
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   596
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   597
!Collection class methodsFor:'JS syntactic sugar'!
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   598
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   599
with:el1 _:el2 _:el3 _:el4
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   600
    "for JS easy syntax - allows: Array.with(el1, el2,...)"
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   601
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   602
    ^ self with:el1 with:el2 with:el3 with:el4
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   603
! !
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   604
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   605
!Collection class methodsFor:'JS syntactic sugar'!
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   606
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   607
with:el1 _:el2 _:el3 _:el4 _:el5
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   608
    "for JS easy syntax - allows: Array.with(el1, el2,...)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   609
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   610
    ^ self with:el1 with:el2 with:el3 with:el4 with:el5
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   611
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   612
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   613
!Collection class methodsFor:'JS syntactic sugar'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   614
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   615
with:el1 _:el2 _:el3 _:el4 _:el5 _:el6
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   616
    "for JS easy syntax - allows: Array.with(el1, el2,...)"
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   617
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   618
    ^ self with:el1 with:el2 with:el3 with:el4 with:el5 with:el6
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   619
! !
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   620
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   621
!Collection class methodsFor:'JS syntactic sugar'!
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   622
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   623
with:el1 _:el2 _:el3 _:el4 _:el5 _:el6 _:el7
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   624
    "for JS easy syntax - allows: Array.with(el1, el2,...)"
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   625
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   626
    ^ self with:el1 with:el2 with:el3 with:el4 with:el5 with:el6 with:el7
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   627
! !
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   628
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   629
!Collection class methodsFor:'JS syntactic sugar'!
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   630
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   631
with:el1 _:el2 _:el3 _:el4 _:el5 _:el6 _:el7 _:el8
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   632
    "for JS easy syntax - allows: Array.with(el1, el2,...)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   633
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   634
    ^ self with:el1 with:el2 with:el3 with:el4 with:el5 with:el6 with:el7 with:el8
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   635
! !
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
   636
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   637
!Date class methodsFor:'Javascript support'!
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   638
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   639
js_new:aString
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   640
    "return a parsed dateobejct"
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   641
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   642
    Timestamp readFrom:aString
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   643
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   644
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   645
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   646
	evaluate:'(new Date(''July 21, 1983 01:15:00''));'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   647
    "
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   648
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   649
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   650
!Date class methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   651
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   652
now
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   653
    "return the current date"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   654
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   655
    ^ Timestamp now
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   656
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   657
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   658
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   659
	evaluate:'Date.now.getDate;'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   660
    "
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   661
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   662
469
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   663
!GenericException class methodsFor:'instance creation'!
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   664
470
Claus Gittinger <cg@exept.de>
parents: 469
diff changeset
   665
js_new:errorString
Claus Gittinger <cg@exept.de>
parents: 469
diff changeset
   666
    "sent from js in:
469
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   667
        throw new Error(msg)
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   668
    "
470
Claus Gittinger <cg@exept.de>
parents: 469
diff changeset
   669
Claus Gittinger <cg@exept.de>
parents: 469
diff changeset
   670
    ^ self new
Claus Gittinger <cg@exept.de>
parents: 469
diff changeset
   671
        errorString:errorString
469
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   672
470
Claus Gittinger <cg@exept.de>
parents: 469
diff changeset
   673
    "
Claus Gittinger <cg@exept.de>
parents: 469
diff changeset
   674
     (Error js_new:'hello') raise
Claus Gittinger <cg@exept.de>
parents: 469
diff changeset
   675
    "
Claus Gittinger <cg@exept.de>
parents: 469
diff changeset
   676
Claus Gittinger <cg@exept.de>
parents: 469
diff changeset
   677
    "Modified: / 28-06-2010 / 17:49:24 / cg"
469
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   678
! !
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   679
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   680
!Number methodsFor:'Javascript support'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   681
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   682
toExponential:nDigits
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   683
    "return a string representing the number in exponential notation"
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   684
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   685
    self assert:(nDigits isInteger).
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   686
    self assert:(nDigits between:0 and:50).
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   687
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   688
    ^ self asFloat printfPrintString:('%.',nDigits printString,'f')
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   689
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   690
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   691
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   692
	evaluate:'new Number(10000);'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   693
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   694
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   695
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   696
	evaluate:'(new Number(10000)).toExponential(1)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   697
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   698
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   699
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   700
!Number methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   701
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   702
toExponential:nDigits _:nDigitsAfter
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   703
    "return a string representing the number in exponential notation"
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   704
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   705
    self assert:(nDigits isInteger).
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   706
    self assert:(nDigits between:0 and:50).
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   707
    self assert:(nDigitsAfter isInteger).
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   708
    self assert:(nDigitsAfter between:0 and:50).
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   709
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   710
    ^ self asFloat printfPrintString:('%',nDigits printString,'.',nDigitsAfter printString,'f')
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   711
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   712
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   713
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   714
	evaluate:'(new Number(10000)).toExponential(4,2)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   715
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   716
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   717
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   718
!Number methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   719
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   720
toFixed:nDigits
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   721
    "return a string representing the number in fixed notation"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   722
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   723
    self assert:(nDigits isInteger).
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   724
    self assert:(nDigits between:0 and:50).
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   725
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   726
    ^ (self asFixedPoint:nDigits) printString
313
1600aabf5fea checkin from browser
Claus Gittinger <cg@exept.de>
parents: 311
diff changeset
   727
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   728
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   729
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   730
	evaluate:'(new Number(10000)).toFixed(10)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   731
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   732
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   733
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   734
!Number methodsFor:'Javascript support'!
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   735
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   736
typeof
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   737
    "return a string describing what I am"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   738
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   739
    ^ 'number'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   740
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   741
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   742
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   743
	evaluate:'''hello''.typeof()'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   744
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   745
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   746
	evaluate:'1234.typeof();'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   747
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   748
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   749
	evaluate:'typeof (1234)'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   750
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   751
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   752
	evaluate:'typeof 1234'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   753
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   754
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   755
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   756
!Number class methodsFor:'Javascript support'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   757
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   758
MAX_VALUE
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   759
    "in expecco/stx-JS, there is no MAX_VALUE;
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   760
     return something useful (simulate 64bits)"
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   761
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   762
    ^ 16r7FFFFFFFFFFFFFFF
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   763
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   764
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   765
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   766
	evaluate:'Number.MAX_VALUE;'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   767
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   768
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   769
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   770
!Number class methodsFor:'Javascript support'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   771
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   772
MIN_VALUE
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   773
    "in expecco/stx-JS, there is no MIN_VALUE;
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   774
     return something useful (simulate 64bits)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   775
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   776
    ^ -16r8000000000000000
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   777
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   778
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   779
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   780
	evaluate:'Number.MIN_VALUE;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   781
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   782
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   783
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   784
!Number class methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   785
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   786
NEGATIVE_INFINITY
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   787
    "return the special 'negative infinity' value"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   788
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   789
    ^ Float negativeInfinity
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   790
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   791
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   792
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   793
	evaluate:'Number.NEGATIVE_INFINITY;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   794
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   795
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   796
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   797
!Number class methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   798
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   799
NaN
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   800
    "return the special 'not a number' value"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   801
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   802
    ^ Float NaN
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   803
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   804
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   805
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   806
	evaluate:'Number.NaN;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   807
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   808
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   809
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   810
!Number class methodsFor:'Javascript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   811
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   812
POSITIVE_INFINITY
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   813
    "return the special 'positive infinity' value"
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   814
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   815
    ^ Float infinity
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   816
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   817
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   818
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   819
	evaluate:'Number.POSITIVE_INFINITY;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   820
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   821
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   822
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   823
!Number class methodsFor:'Javascript support'!
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   824
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   825
js_new:argument
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   826
    ^ argument
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   827
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   828
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   829
     JavaScriptParser
469
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   830
        evaluate:'new Number(100)'
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   831
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   832
     JavaScriptParser
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   833
        evaluate:'new Error(''hello'')'
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   834
    "
469
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   835
Claus Gittinger <cg@exept.de>
parents: 467
diff changeset
   836
    "Modified: / 28-06-2010 / 17:27:52 / cg"
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   837
! !
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   838
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   839
!Object methodsFor:'Javascript support'!
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   840
445
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   841
js_addFromString:aString
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   842
    "For JavaScript only:
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   843
     Generated for +-operator in javascript."
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   844
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   845
    ^ aString , self printString
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   846
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   847
    "Created: / 19-05-2010 / 13:51:24 / cg"
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   848
! !
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   849
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   850
!Object methodsFor:'Javascript support'!
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   851
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   852
typeof
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   853
    "return a string describing what I am"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   854
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   855
    ^ 'object'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   856
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   857
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   858
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   859
	evaluate:'''hello''.typeof()'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   860
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   861
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   862
	evaluate:'1234.typeof()'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   863
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   864
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   865
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   866
!SequenceableCollection methodsFor:'JavaScript support'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   867
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   868
concat:aCollection
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   869
    "returns a new collection consisting of the concatenation of the receiver and the argument"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   870
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   871
    ^ self , aCollection
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   872
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   873
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   874
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   875
	evaluate:'''hello''.concat(''world'')'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   876
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   877
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   878
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   879
!SequenceableCollection methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   880
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   881
every:filterFunction
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   882
    "return true, if filterFunction returns true for all elements"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   883
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   884
    ^ self conform:filterFunction
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   885
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   886
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   887
!SequenceableCollection methodsFor:'JavaScript support'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   888
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   889
filter:filterFunction
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   890
    "select elements for which filterFunction returns true"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   891
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   892
    ^ self select:filterFunction
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   893
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   894
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   895
!SequenceableCollection methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   896
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   897
forEach:function
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   898
    "apply function for each element"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   899
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   900
    ^ self do:function
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   901
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   902
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   903
!SequenceableCollection methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   904
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   905
indexOf0:anElement
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   906
    "returns the index of anElement, using a 0-based indexing scheme; 0 if not found (sigh)"
319
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   907
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   908
    ^ (self indexOf:anElement)-1
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   909
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   910
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   911
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   912
	evaluate:'[10,20,30,40].indexOf0(20)'
319
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   913
    "
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   914
! !
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   915
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   916
!SequenceableCollection methodsFor:'JavaScript support'!
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   917
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   918
indexOf1:anElement
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   919
    "returns the index of anElement, using a 1-based indexing scheme; 0 if not found (sigh)"
319
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   920
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   921
    ^ (self indexOf:anElement)
319
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   922
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   923
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   924
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   925
	evaluate:'[10,20,30,40].indexOf1(20)'
319
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   926
    "
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   927
! !
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   928
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   929
!SequenceableCollection methodsFor:'JavaScript support'!
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   930
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   931
join:separator
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   932
    "joins the strings of the receiver into a single string"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   933
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   934
    ^ self asStringWith:separator
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   935
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   936
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   937
!SequenceableCollection methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   938
338
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   939
js_add: aCollection
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   940
    "For JavaScript only:
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   941
     Alternative string-concatenation.
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   942
     Generated for +-operator in javascript."
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   943
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   944
    ^ self , aCollection
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   945
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   946
    "
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   947
     'hello' + $1   - fails in ST
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   948
     'hello' + '1'  - fails in ST
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   949
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   950
     'hello' js_add: $1   - ok in JS
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   951
     'hello' js_add: '1'  - ok in JS
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   952
    "
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   953
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   954
    "Created: / 08-08-2006 / 11:05:45 / cg"
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   955
! !
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   956
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   957
!SequenceableCollection methodsFor:'JavaScript support'!
8ef9a9ea61ed checkin from browser
Claus Gittinger <cg@exept.de>
parents: 337
diff changeset
   958
445
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   959
js_map:function
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   960
    "return a new collection collecting the results of applying function to each
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   961
     element in sequence"
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   962
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   963
    ^ self collect:function
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   964
! !
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   965
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   966
!SequenceableCollection methodsFor:'JavaScript support'!
5b96e383f224 double dispatching for '+' (add/string concatenation) operator.
Claus Gittinger <cg@exept.de>
parents: 419
diff changeset
   967
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   968
lastIndexOf0:anElement
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   969
    "returns the last index of anElement, using a 0-based indexing scheme; 0 if not found (sigh)"
319
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   970
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   971
    ^ (self lastIndexOf:anElement)-1
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   972
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   973
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   974
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   975
	evaluate:'[10,20,30,20,40].lastIndexOf0(20)'
319
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   976
    "
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   977
! !
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   978
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   979
!SequenceableCollection methodsFor:'JavaScript support'!
d2b739b22f3a *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 318
diff changeset
   980
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   981
lastIndexOf1:anElement
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   982
    "returns the last index of anElement, using a 1-based indexing scheme; 0 if not found (sigh)"
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   983
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   984
    ^ (self lastIndexOf:anElement)
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   985
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   986
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   987
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   988
	evaluate:'[10,20,30,20,40].lastIndexOf1(20)'
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   989
    "
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   990
! !
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   991
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   992
!SequenceableCollection methodsFor:'JavaScript support'!
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
   993
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   994
pop
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   995
    "removes and returns the last element of the collection"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   996
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
   997
    ^ self removeLast
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   998
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
   999
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1000
!SequenceableCollection methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1001
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1002
push:value
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1003
    "adds value at the end of the collection; returns the new size"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1004
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1005
    self addLast:value.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1006
    ^ self size.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1007
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1008
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1009
!SequenceableCollection methodsFor:'JavaScript support'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1010
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1011
reduce0:filterFunction
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1012
    "apply function against two values, reducing from left to right.
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1013
     Function must be declared as: f(previousValue, currentValue, index, arr).
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1014
     Pass 0-based indices to the filter."
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1015
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1016
    |accum|
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1017
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1018
    accum := self first.
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1019
    2 to:self size do:[:idx |
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1020
	|current|
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1021
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1022
	current := self at:idx.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1023
	accum := filterFunction value:accum value:current value:(idx-1) value:self.
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1024
    ].
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1025
    ^ accum.
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1026
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1027
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1028
     #(1 2 3 4 5 6 7 8 9 10) reduce0:[:prev :this :idx :arr | prev + this]
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1029
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1030
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1031
	evaluate:'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1032
[0,1,2,3,4].reduce(function(previousValue, currentValue, index, array){
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1033
  return previousValue + currentValue;
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1034
});
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1035
'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1036
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1037
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1038
	evaluate:'[0,1,2,3,4].length;'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1039
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1040
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1041
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1042
!SequenceableCollection methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1043
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1044
reduce0:filterFunction _:initialValue
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1045
    "apply function against two values, reducing from left to right.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1046
     Function must be declared as: f(previousValue, currentValue, index, arr).
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1047
     Pass 0-based indices to the filter."
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1048
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1049
    |accum|
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1050
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1051
    accum := initialValue.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1052
    1 to:self size do:[:idx |
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1053
	|current|
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1054
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1055
	current := self at:idx.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1056
	accum := filterFunction value:accum value:current value:(idx-1) value:self.
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1057
    ].
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1058
    ^ accum.
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1059
! !
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1060
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1061
!SequenceableCollection methodsFor:'JavaScript support'!
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1062
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1063
reduce1:filterFunction
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1064
    "apply function against two values, reducing from left to right.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1065
     Function must be declared as: f(previousValue, currentValue, index, arr).
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1066
     Pass 1-based indices to the filter."
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1067
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1068
    |accum|
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1069
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1070
    accum := self first.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1071
    2 to:self size do:[:idx |
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1072
	|current|
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1073
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1074
	current := self at:idx.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1075
	accum := filterFunction value:accum value:current value:idx value:self.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1076
    ].
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1077
    ^ accum.
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1078
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1079
    "
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1080
     #(1 2 3 4 5 6 7 8 9 10) reduce1:[:prev :this :idx :arr | prev + this]
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1081
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1082
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1083
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1084
!SequenceableCollection methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1085
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1086
reduce1:filterFunction _:initialValue
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1087
    "apply function against two values, reducing from left to right.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1088
     Function must be declared as: f(previousValue, currentValue, index, arr).
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1089
     Pass 1-based indices to the filter."
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1090
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1091
    |accum|
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1092
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1093
    accum := initialValue.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1094
    1 to:self size do:[:idx |
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1095
	|current|
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1096
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1097
	current := self at:idx.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1098
	accum := filterFunction value:accum value:current value:idx value:self.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1099
    ].
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1100
    ^ accum.
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1101
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1102
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1103
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1104
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1105
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1106
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1107
!SequenceableCollection methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1108
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1109
shift
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1110
    "removes and returns the first element of the collection"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1111
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1112
    ^ self removeFirst
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1113
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1114
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1115
!SequenceableCollection methodsFor:'JavaScript support'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1116
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1117
slice0:index1 _:index2
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1118
    "extracts a subcollection, using a 0-based indexing scheme"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1119
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1120
    ^ self copyFrom:(index1+1) to:(index2+1)
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1121
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1122
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1123
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1124
	evaluate:'''hello''.slice0(1,3)'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1125
    "
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1126
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1127
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1128
!SequenceableCollection methodsFor:'JavaScript support'!
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1129
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1130
slice1:index1 _:index2
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1131
    "extracts a subcollection, using a 1-based indexing scheme"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1132
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1133
    ^ self copyFrom:index1 to:index2
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1134
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1135
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1136
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1137
	evaluate:'''hello''.slice0(1,3)'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1138
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1139
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1140
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1141
!SequenceableCollection methodsFor:'JavaScript support'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1142
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1143
some:filterFunction
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1144
    "return true, if filterfunction returns true for any element"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1145
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1146
    ^ self contains:filterFunction
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1147
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1148
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1149
!SequenceableCollection methodsFor:'JavaScript support'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1150
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1151
unshift:arg
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1152
    "adds an element to the beginning of the collection"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1153
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1154
    self addFirst:arg.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1155
    ^ self size
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1156
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1157
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1158
!Stream methodsFor:'JS syntactic sugar'!
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1159
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1160
show:aString _:arg1
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1161
    "for JS easy syntax - allows: Transcript.show('format %1', arg1)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1162
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1163
    self show:(aString bindWith:arg1).
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1164
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1165
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1166
!Stream methodsFor:'JS syntactic sugar'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1167
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1168
show:aString _:arg1 _:arg2
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1169
    "for JS easy syntax - allows: Transcript.show('format %1 %2', arg1, arg2)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1170
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1171
    self show:(aString bindWith:arg1 with:arg2).
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1172
! !
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1173
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1174
!Stream methodsFor:'JS syntactic sugar'!
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1175
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1176
show:aString _:arg1 _:arg2 _:arg3
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1177
    "for JS easy syntax - allows: Transcript.show('format %1 %2', arg1,...)"
268
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1178
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1179
    self show:(aString bindWith:arg1 with:arg2 with:arg3).
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1180
! !
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1181
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1182
!Stream methodsFor:'JS syntactic sugar'!
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1183
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1184
show:aString _:arg1 _:arg2 _:arg3 _:arg4
268
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1185
    "for JS easy syntax - allows: Transcript.show('format %1 %2', arg1,...)"
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1186
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1187
    self show:(aString bindWith:arg1 with:arg2 with:arg3 with:arg4).
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1188
! !
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1189
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1190
!Stream methodsFor:'JS syntactic sugar'!
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1191
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1192
show:aString _:arg1 _:arg2 _:arg3 _:arg4 _:arg5
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1193
    "for JS easy syntax - allows: Transcript.show('format %1 %2', arg1,...)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1194
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1195
    self show:(aString bindWith:arg1 with:arg2 with:arg3 with:arg4 with:arg5).
268
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1196
! !
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1197
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1198
!Stream methodsFor:'JS syntactic sugar'!
b3bf0feaf0e7 syntactic sugar for stream-show
Claus Gittinger <cg@exept.de>
parents: 267
diff changeset
  1199
479
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1200
show:aString _:arg1 _:arg2 _:arg3 _:arg4 _:arg5 _:arg6
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1201
    "for JS easy syntax - allows: Transcript.show('format %1 %2', arg1,...)"
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1202
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1203
    self show:(aString bindWith:arg1 with:arg2 with:arg3 with:arg4 with:arg5 with:arg6).
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1204
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1205
    "Created: / 19-08-2010 / 15:39:12 / cg"
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1206
! !
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1207
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1208
!Stream methodsFor:'JS syntactic sugar'!
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1209
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1210
showCR:aString _:arg1
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1211
    "for JS easy syntax - allows: Transcript.showCR('format %1', arg1)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1212
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1213
    self showCR:(aString bindWith:arg1).
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1214
! !
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1215
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1216
!Stream methodsFor:'JS syntactic sugar'!
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1217
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1218
showCR:aString _:arg1 _:arg2
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1219
    "for JS easy syntax - allows: Transcript.showCR('format %1 %2', arg1, arg2)"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1220
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1221
    self showCR:(aString bindWith:arg1 with:arg2).
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1222
! !
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1223
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1224
!Stream methodsFor:'JS syntactic sugar'!
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1225
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1226
showCR:aString _:arg1 _:arg2 _:arg3
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1227
    "for JS easy syntax - allows: Transcript.showCR('format %1 %2', arg1,...)"
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1228
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1229
    self showCR:(aString bindWith:arg1 with:arg2 with:arg3).
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1230
! !
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1231
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1232
!Stream methodsFor:'JS syntactic sugar'!
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1233
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1234
showCR:aString _:arg1 _:arg2 _:arg3 _:arg4
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1235
    "for JS easy syntax - allows: Transcript.showCR('format %1 %2', arg1,...)"
267
5463b84d9bf0 syntactic sugar for stream-showCR and collection-with
Claus Gittinger <cg@exept.de>
parents: 208
diff changeset
  1236
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1237
    self showCR:(aString bindWith:arg1 with:arg2 with:arg3 with:arg4).
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1238
! !
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1239
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1240
!Stream methodsFor:'JS syntactic sugar'!
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1241
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1242
showCR:aString _:arg1 _:arg2 _:arg3 _:arg4 _:arg5
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1243
    "for JS easy syntax - allows: Transcript.showCR('format %1 %2', arg1,...)"
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1244
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1245
    self showCR:(aString bindWith:arg1 with:arg2 with:arg3 with:arg4 with:arg5).
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1246
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1247
479
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1248
!Stream methodsFor:'JS syntactic sugar'!
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1249
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1250
showCR:aString _:arg1 _:arg2 _:arg3 _:arg4 _:arg5 _:arg6
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1251
    "for JS easy syntax - allows: Transcript.showCR('format %1 %2', arg1,...)"
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1252
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1253
    self showCR:(aString bindWith:arg1 with:arg2 with:arg3 with:arg4 with:arg5 with:arg6).
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1254
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1255
    "Created: / 19-08-2010 / 15:38:59 / cg"
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1256
! !
cac2213de078 another show/showCR (6 args)
Claus Gittinger <cg@exept.de>
parents: 470
diff changeset
  1257
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1258
!String class methodsFor:'Javascript support'!
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1259
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1260
fromCharCode:code
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1261
    "return a string consisitng of a single character, given its code"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1262
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1263
    |char|
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1264
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1265
    char := Character value:code.
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1266
    ^ char stringSpecies with:char
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1267
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1268
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1269
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1270
	evaluate:'String.fromCharCode(97)'
310
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1271
    "
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1272
! !
cdfe8ae2c5e3 Math, Date, String and Array compatibility
Claus Gittinger <cg@exept.de>
parents: 276
diff changeset
  1273
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1274
!UndefinedObject methodsFor:'Javascript support'!
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1275
337
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1276
typeof
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1277
    "return a string describing what I am"
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1278
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1279
    ^ 'undefined'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1280
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1281
    "
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1282
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1283
	evaluate:'''hello''.typeof()'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1284
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1285
     JavaScriptParser
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1286
	evaluate:'null.typeof();'
2e519b9375f3 oops - repair
Claus Gittinger <cg@exept.de>
parents: 336
diff changeset
  1287
    "
336
ba970fe9b11d js_add in SeqColl.
Claus Gittinger <cg@exept.de>
parents: 335
diff changeset
  1288
! !
419
5d5f32268282 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  1289
5d5f32268282 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  1290
!stx_libjavascript class methodsFor:'documentation'!
5d5f32268282 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  1291
5d5f32268282 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  1292
extensionsVersion_CVS
5d5f32268282 *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 358
diff changeset
  1293
    ^ '$Header$'
648
f6fc4fd5e4ed Added JavaScriptParseNodeVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 535
diff changeset
  1294
! !
f6fc4fd5e4ed Added JavaScriptParseNodeVisitor
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 535
diff changeset
  1295