1 2// All these examples contain various forms of statements 3// with missing semicolons. Each of these are valid and must 4// be accommodated. 5// 6// After running ctags: ctags -f tags 1880687.js 7// The following tags should be generated: 8// functions 9// a 10// aa 11// aa_sub1 [aa] 12// aa_sub2 [aa] 13// b 14// baz [f] 15// c 16// d 17// e 18// f 19// g 20// h 21// i 22// j 23// k 24// l 25// m 26// n 27// o 28// p 29// q 30// r 31// s 32// t 33// u 34// v 35// w 36// w_sub1 [w] 37// w_sub2 [w] 38// x 39// x_sub1 [x] 40// x_sub2 [x] 41// y 42// y_sub1 [y] 43// y_sub2 [y] 44// z 45// z_sub1 [z] 46// z_sub2 [z] 47// classes 48// MyClass 49// methods 50// MyClass_sub1 [MyClass] 51// MyClass_sub2 [MyClass] 52 53function a(flag){ 54 if(flag) 55 test(1); 56 else 57 test(2) 58} 59 60function b(){ 61 var b= 33; 62} 63 64function c(flag){ 65 if(flag) 66 test(1); 67} 68 69function d(){ 70 var b= 33; 71} 72 73function e(flag){ 74 if(flag) 75 test(1) 76} 77 78function f(){ 79 var b= 33; 80 if (foo) 81 bar(); 82 else 83 test(2); 84 function baz() { 85 } 86} 87 88function g(flag){ 89 if(flag) { 90 test(1) 91 } 92} 93 94function h(){ 95 var b= 33; 96} 97 98function i(flag){ 99 if(flag) { 100 test(1); 101 } 102} 103 104function j(){ 105 var b= 33; 106} 107 108function k(flag){ 109 if(flag) { 110 test(1); 111 } 112 else 113 flag = false; 114} 115 116function l(){ 117 var b= 33; 118} 119 120function m(flag){ 121 if(flag) { 122 test(1); 123 } 124 else { 125 flag = false; 126 } 127} 128 129function n(){ 130 var b= 33; 131} 132 133if (1) 134 l(); 135function o(){ 136 var b= 33; 137} 138 139if (1){ 140 l(); 141} 142function p(){ 143 var b= 33; 144} 145 146if (1){ 147 l(); 148} else 149 l(); 150function q(){ 151 var b= 33; 152} 153 154function r(flag){ 155 if (flag) { 156 value = 33 157 } 158} 159 160function s(){ 161 var b= 33; 162} 163 164function t(flag){ 165 if (flag) { 166 b= new Object() 167 } 168} 169 170function u(flag){ 171 if (flag) { 172 b= ({}) 173 } 174} 175 176function v(flag){ 177 if (flag) { 178 b= {} 179 } 180} 181 182function w(){ 183 function w_sub1(x){ 184 if (! x) 185 x = {foo:bar}; 186 187 var dummy1, dummy2; 188 } 189 function w_sub2(){ 190 } 191} 192 193MyClass = { 194 MyClass_sub1: function(x){ 195 if (! x) 196 x = { }; 197 198 var dummy3, dummy4; 199 }, 200 MyClass_sub2: function(x){ 201 var dummy5 = 42; 202 } 203}; 204 205function x(){ 206 function x_sub1(){ 207 while (1) 208 x_sub2() 209 } 210 function x_sub2(){ 211 } 212} 213 214function y(){ 215 function y_sub1(){ 216 while (1) { 217 y_sub2() 218 } 219 } 220 function y_sub2(){ 221 } 222} 223 224function z(){ 225 function z_sub1(){ 226 do { 227 z_sub2() 228 } while (0) 229 } 230 function z_sub2(){ 231 } 232} 233 234function aa(){ 235 function aa_sub1(){ 236 do 237 aa_sub2() 238 while (0) 239 } 240 function aa_sub2(){ 241 } 242} 243