@@ -361,6 +361,13 @@ def self?.three: -> bool
361
361
assert_equal :a , m . name
362
362
assert_nil m . ivar_name
363
363
assert_equal parse_type ( "Integer" ) , m . type
364
+
365
+ ivar = m . ivar
366
+ assert_instance_of Members ::InstanceVariable , ivar
367
+ assert_equal :@a , ivar . name # Inferred from the attribute name
368
+ assert_equal m . type , ivar . type
369
+ assert_equal m . location , ivar . location
370
+ assert_equal m . comment , ivar . comment
364
371
end
365
372
366
373
module_decl . members [ 11 ] . yield_self do |m |
@@ -369,6 +376,13 @@ def self?.three: -> bool
369
376
assert_equal :a , m . name
370
377
assert_equal :@A , m . ivar_name
371
378
assert_equal parse_type ( "String" ) , m . type
379
+
380
+ ivar = m . ivar
381
+ assert_instance_of Members ::InstanceVariable , ivar
382
+ assert_equal :@A , ivar . name # Explicitly given ivar name
383
+ assert_equal m . type , ivar . type
384
+ assert_equal m . location , ivar . location
385
+ assert_equal m . comment , ivar . comment
372
386
end
373
387
374
388
module_decl . members [ 12 ] . yield_self do |m |
@@ -377,6 +391,8 @@ def self?.three: -> bool
377
391
assert_equal :a , m . name
378
392
assert_equal false , m . ivar_name
379
393
assert_equal parse_type ( "bool" ) , m . type
394
+
395
+ assert_nil m . ivar # The instance variable was explicitly skipped
380
396
end
381
397
382
398
module_decl . members [ 13 ] . yield_self do |m |
@@ -385,6 +401,13 @@ def self?.three: -> bool
385
401
assert_equal :b , m . name
386
402
assert_nil m . ivar_name
387
403
assert_equal parse_type ( "Integer" ) , m . type
404
+
405
+ ivar = m . ivar
406
+ assert_instance_of Members ::InstanceVariable , ivar
407
+ assert_equal :@b , ivar . name # Inferred from the attribute name
408
+ assert_equal m . type , ivar . type
409
+ assert_equal m . location , ivar . location
410
+ assert_equal m . comment , ivar . comment
388
411
end
389
412
390
413
module_decl . members [ 14 ] . yield_self do |m |
@@ -393,6 +416,13 @@ def self?.three: -> bool
393
416
assert_equal :b , m . name
394
417
assert_equal :@B , m . ivar_name
395
418
assert_equal parse_type ( "String" ) , m . type
419
+
420
+ ivar = m . ivar
421
+ assert_instance_of Members ::InstanceVariable , ivar
422
+ assert_equal :@B , ivar . name # Explicitly given ivar name
423
+ assert_equal m . type , ivar . type
424
+ assert_equal m . location , ivar . location
425
+ assert_equal m . comment , ivar . comment
396
426
end
397
427
398
428
module_decl . members [ 15 ] . yield_self do |m |
@@ -401,6 +431,8 @@ def self?.three: -> bool
401
431
assert_equal :b , m . name
402
432
assert_equal false , m . ivar_name
403
433
assert_equal parse_type ( "bool" ) , m . type
434
+
435
+ assert_nil m . ivar # The instance variable was explicitly skipped
404
436
end
405
437
406
438
module_decl . members [ 16 ] . yield_self do |m |
@@ -409,6 +441,13 @@ def self?.three: -> bool
409
441
assert_equal :c , m . name
410
442
assert_nil m . ivar_name
411
443
assert_equal parse_type ( "Integer" ) , m . type
444
+
445
+ ivar = m . ivar
446
+ assert_instance_of Members ::InstanceVariable , ivar
447
+ assert_equal :@c , ivar . name # Inferred from the attribute name
448
+ assert_equal m . type , ivar . type
449
+ assert_equal m . location , ivar . location
450
+ assert_equal m . comment , ivar . comment
412
451
end
413
452
414
453
module_decl . members [ 17 ] . yield_self do |m |
@@ -417,6 +456,13 @@ def self?.three: -> bool
417
456
assert_equal :c , m . name
418
457
assert_equal :@C , m . ivar_name
419
458
assert_equal parse_type ( "String" ) , m . type
459
+
460
+ ivar = m . ivar
461
+ assert_instance_of Members ::InstanceVariable , ivar
462
+ assert_equal :@C , ivar . name # Explicitly given ivar name
463
+ assert_equal m . type , ivar . type
464
+ assert_equal m . location , ivar . location
465
+ assert_equal m . comment , ivar . comment
420
466
end
421
467
422
468
module_decl . members [ 18 ] . yield_self do |m |
@@ -425,6 +471,8 @@ def self?.three: -> bool
425
471
assert_equal :c , m . name
426
472
assert_equal false , m . ivar_name
427
473
assert_equal parse_type ( "bool" ) , m . type
474
+
475
+ assert_nil m . ivar # The instance variable was explicitly skipped
428
476
end
429
477
end
430
478
end
0 commit comments