Improve ctags callback API
[geany-mirror.git] / tests / ctags / js-class-related-unterminated.js
blob9a43ac961bd265cf0bdb1372f0c8ca99b966c1c9
2 var Cls = {
3   // add a member just so Cls is recognized as a class from the start
4   A: {}
7 Cls.B = function(a, b) {
8   this.a = a;
9   this.b = b;
12 Cls.B.Sub = function() {
13   this.a = 0
16 Cls.B.prototype.m1 = function(a) {
17   this.a = a;
18   if (a > 2) {
19     this.a *= 2
20   }
22 Cls.B.prototype.m2 = function(b) {
23   var a = b
25 Cls.B.prototype.m3 = function(c) {
26   this.c = c
28 Cls.B.prototype.m4 = function(d) {
29   this.d = d
31 Cls.B.prototype.m5 = function(e) {
32   /* this should rather be written `Cls.B.Sub.prototype.dyn1 = this.m6`, but
33    * then parser then thinks it's a child of this very scope.  it isn't really
34    * possible to fix this as the only reason it's actually not a child of the
35    * current scope is because it exists in the root scope but not in this one */
36   var Sub = Cls.B.Sub;
37   Sub.prototype.dyn1 = this.m4
39 Cls.B.prototype.m6 = function(f) {
42 Cls.C = function () {
43   this.a = 0;
46 Cls.C.prototype = {
47   n1: function() {
48     Cls.C.prototype = Cls.C.prototype
49   },
50   n2: function() {
51   }
54 function main() {
55   var c = new Cls.B(1, 2);
56   var d = new Cls.B.Sub();
57   print(d.dyn1);
58   c.m5();
59   print(d.dyn1);
62 main();