1 # Raw AST node hierarchy.
2 # This file was generated by SableCC (http://www.sablecc.org/).
7 # Root of the AST hierarchy
9 var _location
: nullable Location
11 # Location is set during AST building. Once built, location cannon be null
12 # However, manual instanciated nodes may need mode care
13 fun location
: Location do return _location
.as(not null)
16 # Ancestor of all tokens
21 # Ancestor of all productions
24 fun location
=(loc
: Location) do _location
= loc
295 private init noinit
do end
299 private init noinit
do end
302 class AModule super Prod end
303 class AModuledecl super Prod end
304 class AImport super Prod end
305 class AVisibility super Prod end
306 class AClassdef super Prod end
307 class AClasskind super Prod end
308 class AFormaldef super Prod end
309 class ASuperclass super Prod end
310 class APropdef super Prod end
311 class AAble super Prod end
312 class AMethid super Prod end
313 class ASignature super Prod end
314 class AParam super Prod end
315 class AClosureDecl super Prod end
316 class AType super Prod end
317 class ALabel super Prod end
318 class AExpr super Prod end
319 class AAssignOp super Prod end
320 class AClosureDef super Prod end
321 class AClosureId super Prod end
322 class AModuleName super Prod end
323 class AExternCalls super Prod end
324 class AExternCall super Prod end
325 class AQualified super Prod end
326 class ADoc super Prod end
330 readable var _n_moduledecl
: nullable AModuledecl = null
331 readable var _n_imports
: List[AImport] = new List[AImport]
332 readable var _n_classdefs
: List[AClassdef] = new List[AClassdef]
336 readable var _n_doc
: nullable ADoc = null
337 readable var _n_kwmodule
: TKwmodule
338 readable var _n_name
: AModuleName
342 readable var _n_visibility
: AVisibility
343 readable var _n_kwimport
: TKwimport
344 readable var _n_name
: AModuleName
348 readable var _n_visibility
: AVisibility
349 readable var _n_kwimport
: TKwimport
350 readable var _n_kwend
: TKwend
352 class APublicVisibility
355 class APrivateVisibility
357 readable var _n_kwprivate
: TKwprivate
359 class AProtectedVisibility
361 readable var _n_kwprotected
: TKwprotected
363 class AIntrudeVisibility
365 readable var _n_kwintrude
: TKwintrude
369 readable var _n_doc
: nullable ADoc = null
370 readable var _n_kwredef
: nullable TKwredef = null
371 readable var _n_visibility
: AVisibility
372 readable var _n_classkind
: AClasskind
373 readable var _n_id
: nullable TClassid = null
374 readable var _n_formaldefs
: List[AFormaldef] = new List[AFormaldef]
375 readable var _n_superclasses
: List[ASuperclass] = new List[ASuperclass]
376 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
377 readable var _n_kwend
: TKwend
381 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
385 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
387 class AConcreteClasskind
389 readable var _n_kwclass
: TKwclass
391 class AAbstractClasskind
393 readable var _n_kwabstract
: TKwabstract
394 readable var _n_kwclass
: TKwclass
396 class AInterfaceClasskind
398 readable var _n_kwinterface
: TKwinterface
402 readable var _n_kwenum
: TKwenum
404 class AExternClasskind
406 readable var _n_kwextern
: TKwextern
410 readable var _n_id
: TClassid
411 readable var _n_type
: nullable AType = null
415 readable var _n_kwspecial
: nullable TKwspecial = null
416 readable var _n_kwsuper
: nullable TKwsuper = null
417 readable var _n_type
: AType
421 readable var _n_doc
: nullable ADoc = null
422 readable var _n_readable
: nullable AAble = null
423 readable var _n_writable
: nullable AAble = null
424 readable var _n_kwredef
: nullable TKwredef = null
425 readable var _n_visibility
: AVisibility
426 readable var _n_kwvar
: TKwvar
427 readable var _n_id
: nullable TAttrid = null
428 readable var _n_id2
: nullable TId = null
429 readable var _n_type
: nullable AType = null
430 readable var _n_expr
: nullable AExpr = null
434 readable var _n_doc
: nullable ADoc = null
435 readable var _n_kwredef
: nullable TKwredef = null
436 readable var _n_visibility
: AVisibility
437 readable var _n_methid
: AMethid
438 readable var _n_signature
: ASignature
440 class ADeferredMethPropdef
442 readable var _n_doc
: nullable ADoc = null
443 readable var _n_kwredef
: nullable TKwredef = null
444 readable var _n_visibility
: AVisibility
445 readable var _n_kwmeth
: TKwmeth
446 readable var _n_methid
: AMethid
447 readable var _n_signature
: ASignature
449 class AInternMethPropdef
451 readable var _n_doc
: nullable ADoc = null
452 readable var _n_kwredef
: nullable TKwredef = null
453 readable var _n_visibility
: AVisibility
454 readable var _n_kwmeth
: TKwmeth
455 readable var _n_methid
: AMethid
456 readable var _n_signature
: ASignature
458 class AExternMethPropdef
460 readable var _n_doc
: nullable ADoc = null
461 readable var _n_kwredef
: nullable TKwredef = null
462 readable var _n_visibility
: AVisibility
463 readable var _n_kwmeth
: TKwmeth
464 readable var _n_methid
: AMethid
465 readable var _n_signature
: ASignature
466 readable var _n_extern
: nullable TString = null
467 readable var _n_extern_calls
: nullable AExternCalls = null
469 class AConcreteMethPropdef
471 readable var _n_doc
: nullable ADoc = null
472 readable var _n_kwredef
: nullable TKwredef = null
473 readable var _n_visibility
: AVisibility
474 readable var _n_kwmeth
: TKwmeth
475 readable var _n_methid
: AMethid
476 readable var _n_signature
: ASignature
477 readable var _n_block
: nullable AExpr = null
479 class AConcreteInitPropdef
481 readable var _n_doc
: nullable ADoc = null
482 readable var _n_kwredef
: nullable TKwredef = null
483 readable var _n_visibility
: AVisibility
484 readable var _n_kwinit
: TKwinit
485 readable var _n_methid
: nullable AMethid = null
486 readable var _n_signature
: ASignature
487 readable var _n_block
: nullable AExpr = null
489 class AExternInitPropdef
491 readable var _n_doc
: nullable ADoc = null
492 readable var _n_kwredef
: nullable TKwredef = null
493 readable var _n_visibility
: AVisibility
494 readable var _n_kwnew
: TKwnew
495 readable var _n_methid
: nullable AMethid = null
496 readable var _n_signature
: ASignature
497 readable var _n_extern
: nullable TString = null
498 readable var _n_extern_calls
: nullable AExternCalls = null
500 class AMainMethPropdef
502 readable var _n_kwredef
: nullable TKwredef = null
503 readable var _n_block
: nullable AExpr = null
507 readable var _n_doc
: nullable ADoc = null
508 readable var _n_kwredef
: nullable TKwredef = null
509 readable var _n_visibility
: AVisibility
510 readable var _n_kwtype
: TKwtype
511 readable var _n_id
: TClassid
512 readable var _n_type
: AType
516 readable var _n_kwredef
: nullable TKwredef = null
517 readable var _n_kwreadable
: TKwreadable
521 readable var _n_kwredef
: nullable TKwredef = null
522 readable var _n_visibility
: nullable AVisibility = null
523 readable var _n_kwwritable
: TKwwritable
527 readable var _n_id
: TId
531 readable var _n_plus
: TPlus
535 readable var _n_minus
: TMinus
539 readable var _n_star
: TStar
543 readable var _n_slash
: TSlash
547 readable var _n_percent
: TPercent
551 readable var _n_eq
: TEq
555 readable var _n_ne
: TNe
559 readable var _n_le
: TLe
563 readable var _n_ge
: TGe
567 readable var _n_lt
: TLt
571 readable var _n_gt
: TGt
575 readable var _n_ll
: TLl
579 readable var _n_gg
: TGg
583 readable var _n_obra
: TObra
584 readable var _n_cbra
: TCbra
586 class AStarshipMethid
588 readable var _n_starship
: TStarship
592 readable var _n_id
: TId
593 readable var _n_assign
: TAssign
595 class ABraassignMethid
597 readable var _n_obra
: TObra
598 readable var _n_cbra
: TCbra
599 readable var _n_assign
: TAssign
603 readable var _n_params
: List[AParam] = new List[AParam]
604 readable var _n_type
: nullable AType = null
605 readable var _n_closure_decls
: List[AClosureDecl] = new List[AClosureDecl]
609 readable var _n_id
: TId
610 readable var _n_type
: nullable AType = null
611 readable var _n_dotdotdot
: nullable TDotdotdot = null
615 readable var _n_kwbreak
: nullable TKwbreak = null
616 readable var _n_bang
: TBang
617 readable var _n_id
: TId
618 readable var _n_signature
: ASignature
619 readable var _n_expr
: nullable AExpr = null
623 readable var _n_kwnullable
: nullable TKwnullable = null
624 readable var _n_id
: TClassid
625 readable var _n_types
: List[AType] = new List[AType]
629 readable var _n_kwlabel
: TKwlabel
630 readable var _n_id
: TId
634 readable var _n_expr
: List[AExpr] = new List[AExpr]
635 readable var _n_kwend
: nullable TKwend = null
639 readable var _n_kwvar
: TKwvar
640 readable var _n_id
: TId
641 readable var _n_type
: nullable AType = null
642 readable var _n_assign
: nullable TAssign = null
643 readable var _n_expr
: nullable AExpr = null
647 readable var _n_kwreturn
: nullable TKwreturn = null
648 readable var _n_expr
: nullable AExpr = null
652 readable var _n_kwbreak
: TKwbreak
653 readable var _n_label
: nullable ALabel = null
654 readable var _n_expr
: nullable AExpr = null
658 readable var _n_kwabort
: TKwabort
662 readable var _n_kwcontinue
: nullable TKwcontinue = null
663 readable var _n_label
: nullable ALabel = null
664 readable var _n_expr
: nullable AExpr = null
668 readable var _n_kwdo
: TKwdo
669 readable var _n_block
: nullable AExpr = null
670 readable var _n_label
: nullable ALabel = null
674 readable var _n_kwif
: TKwif
675 readable var _n_expr
: AExpr
676 readable var _n_then
: nullable AExpr = null
677 readable var _n_else
: nullable AExpr = null
681 readable var _n_kwif
: TKwif
682 readable var _n_expr
: AExpr
683 readable var _n_kwthen
: TKwthen
684 readable var _n_then
: AExpr
685 readable var _n_kwelse
: TKwelse
686 readable var _n_else
: AExpr
690 readable var _n_kwwhile
: TKwwhile
691 readable var _n_expr
: AExpr
692 readable var _n_kwdo
: TKwdo
693 readable var _n_block
: nullable AExpr = null
694 readable var _n_label
: nullable ALabel = null
698 readable var _n_kwloop
: TKwloop
699 readable var _n_block
: nullable AExpr = null
700 readable var _n_label
: nullable ALabel = null
704 readable var _n_kwfor
: TKwfor
705 readable var _n_ids
: List[TId] = new List[TId]
706 readable var _n_expr
: AExpr
707 readable var _n_kwdo
: TKwdo
708 readable var _n_block
: nullable AExpr = null
709 readable var _n_label
: nullable ALabel = null
713 readable var _n_kwassert
: TKwassert
714 readable var _n_id
: nullable TId = null
715 readable var _n_expr
: AExpr
716 readable var _n_else
: nullable AExpr = null
720 readable var _n_kwonce
: TKwonce
721 readable var _n_expr
: AExpr
725 readable var _n_expr
: AExpr
729 readable var _n_expr
: AExpr
730 readable var _n_expr2
: AExpr
734 readable var _n_expr
: AExpr
735 readable var _n_expr2
: AExpr
739 readable var _n_expr
: AExpr
740 readable var _n_expr2
: AExpr
744 readable var _n_expr
: AExpr
745 readable var _n_expr2
: AExpr
749 readable var _n_kwnot
: TKwnot
750 readable var _n_expr
: AExpr
754 readable var _n_expr
: AExpr
755 readable var _n_expr2
: AExpr
759 readable var _n_expr
: AExpr
760 readable var _n_expr2
: AExpr
764 readable var _n_expr
: AExpr
765 readable var _n_expr2
: AExpr
769 readable var _n_expr
: AExpr
770 readable var _n_expr2
: AExpr
774 readable var _n_expr
: AExpr
775 readable var _n_expr2
: AExpr
779 readable var _n_expr
: AExpr
780 readable var _n_expr2
: AExpr
784 readable var _n_expr
: AExpr
785 readable var _n_expr2
: AExpr
789 readable var _n_expr
: AExpr
790 readable var _n_expr2
: AExpr
794 readable var _n_expr
: AExpr
795 readable var _n_expr2
: AExpr
799 readable var _n_expr
: AExpr
800 readable var _n_type
: AType
804 readable var _n_expr
: AExpr
805 readable var _n_expr2
: AExpr
809 readable var _n_expr
: AExpr
810 readable var _n_expr2
: AExpr
814 readable var _n_expr
: AExpr
815 readable var _n_expr2
: AExpr
819 readable var _n_expr
: AExpr
820 readable var _n_expr2
: AExpr
824 readable var _n_expr
: AExpr
825 readable var _n_expr2
: AExpr
829 readable var _n_expr
: AExpr
830 readable var _n_expr2
: AExpr
834 readable var _n_minus
: TMinus
835 readable var _n_expr
: AExpr
839 readable var _n_kwnew
: TKwnew
840 readable var _n_type
: AType
841 readable var _n_id
: nullable TId = null
842 readable var _n_args
: List[AExpr] = new List[AExpr]
846 readable var _n_expr
: AExpr
847 readable var _n_id
: TAttrid
849 class AAttrAssignExpr
851 readable var _n_expr
: AExpr
852 readable var _n_id
: TAttrid
853 readable var _n_assign
: TAssign
854 readable var _n_value
: AExpr
856 class AAttrReassignExpr
858 readable var _n_expr
: AExpr
859 readable var _n_id
: TAttrid
860 readable var _n_assign_op
: AAssignOp
861 readable var _n_value
: AExpr
865 readable var _n_expr
: AExpr
866 readable var _n_id
: TId
867 readable var _n_args
: List[AExpr] = new List[AExpr]
868 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
870 class ACallAssignExpr
872 readable var _n_expr
: AExpr
873 readable var _n_id
: TId
874 readable var _n_args
: List[AExpr] = new List[AExpr]
875 readable var _n_assign
: TAssign
876 readable var _n_value
: AExpr
878 class ACallReassignExpr
880 readable var _n_expr
: AExpr
881 readable var _n_id
: TId
882 readable var _n_args
: List[AExpr] = new List[AExpr]
883 readable var _n_assign_op
: AAssignOp
884 readable var _n_value
: AExpr
888 readable var _n_qualified
: nullable AQualified = null
889 readable var _n_kwsuper
: TKwsuper
890 readable var _n_args
: List[AExpr] = new List[AExpr]
894 readable var _n_expr
: AExpr
895 readable var _n_kwinit
: TKwinit
896 readable var _n_args
: List[AExpr] = new List[AExpr]
900 readable var _n_expr
: AExpr
901 readable var _n_args
: List[AExpr] = new List[AExpr]
902 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
906 readable var _n_expr
: AExpr
907 readable var _n_args
: List[AExpr] = new List[AExpr]
908 readable var _n_assign
: TAssign
909 readable var _n_value
: AExpr
911 class ABraReassignExpr
913 readable var _n_expr
: AExpr
914 readable var _n_args
: List[AExpr] = new List[AExpr]
915 readable var _n_assign_op
: AAssignOp
916 readable var _n_value
: AExpr
918 class AClosureCallExpr
920 readable var _n_id
: TId
921 readable var _n_args
: List[AExpr] = new List[AExpr]
922 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
926 readable var _n_id
: TId
930 readable var _n_id
: TId
931 readable var _n_assign
: TAssign
932 readable var _n_value
: AExpr
934 class AVarReassignExpr
936 readable var _n_id
: TId
937 readable var _n_assign_op
: AAssignOp
938 readable var _n_value
: AExpr
942 readable var _n_expr
: AExpr
943 readable var _n_expr2
: AExpr
947 readable var _n_expr
: AExpr
948 readable var _n_expr2
: AExpr
952 readable var _n_expr
: AExpr
953 readable var _n_expr2
: AExpr
957 readable var _n_exprs
: List[AExpr] = new List[AExpr]
961 readable var _n_kwself
: TKwself
963 class AImplicitSelfExpr
968 readable var _n_kwtrue
: TKwtrue
972 readable var _n_kwfalse
: TKwfalse
976 readable var _n_kwnull
: TKwnull
980 readable var _n_number
: TNumber
984 readable var _n_float
: TFloat
988 readable var _n_char
: TChar
992 readable var _n_string
: TString
994 class AStartStringExpr
996 readable var _n_string
: TStartString
1000 readable var _n_string
: TMidString
1002 class AEndStringExpr
1004 readable var _n_string
: TEndString
1006 class ASuperstringExpr
1008 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1012 readable var _n_expr
: AExpr
1016 readable var _n_expr
: AExpr
1017 readable var _n_kwas
: TKwas
1018 readable var _n_type
: AType
1020 class AAsNotnullExpr
1022 readable var _n_expr
: AExpr
1023 readable var _n_kwas
: TKwas
1024 readable var _n_kwnot
: TKwnot
1025 readable var _n_kwnull
: TKwnull
1027 class AIssetAttrExpr
1029 readable var _n_kwisset
: TKwisset
1030 readable var _n_expr
: AExpr
1031 readable var _n_id
: TAttrid
1035 readable var _n_pluseq
: TPluseq
1037 class AMinusAssignOp
1039 readable var _n_minuseq
: TMinuseq
1043 readable var _n_bang
: TBang
1044 readable var _n_id
: AClosureId
1045 readable var _n_ids
: List[TId] = new List[TId]
1046 readable var _n_kwdo
: nullable TKwdo = null
1047 readable var _n_expr
: nullable AExpr = null
1048 readable var _n_label
: nullable ALabel = null
1050 class ASimpleClosureId
1052 readable var _n_id
: TId
1054 class ABreakClosureId
1056 readable var _n_kwbreak
: TKwbreak
1060 readable var _n_quad
: nullable TQuad = null
1061 readable var _n_path
: List[TId] = new List[TId]
1062 readable var _n_id
: TId
1066 readable var _n_kwimport
: TKwimport
1067 readable var _n_extern_calls
: List[AExternCall] = new List[AExternCall]
1072 class ASuperExternCall
1074 readable var _n_kwsuper
: TKwsuper
1076 class ALocalPropExternCall
1078 readable var _n_methid
: AMethid
1080 class AFullPropExternCall
1082 readable var _n_classid
: TClassid
1083 readable var _n_quad
: nullable TQuad = null
1084 readable var _n_methid
: AMethid
1086 class AInitPropExternCall
1088 readable var _n_classid
: TClassid
1090 class ACastAsExternCall
1092 readable var _n_from_type
: AType
1093 readable var _n_kwas
: TKwas
1094 readable var _n_to_type
: AType
1096 class AAsNullableExternCall
1098 readable var _n_type
: AType
1099 readable var _n_kwas
: TKwas
1100 readable var _n_kwnullable
: TKwnullable
1102 class AAsNotNullableExternCall
1104 readable var _n_type
: AType
1105 readable var _n_kwas
: TKwas
1106 readable var _n_kwnot
: TKwnot
1107 readable var _n_kwnullable
: TKwnullable
1111 readable var _n_id
: List[TId] = new List[TId]
1112 readable var _n_classid
: nullable TClassid = null
1116 readable var _n_comment
: List[TComment] = new List[TComment]
1121 readable var _n_base
: nullable AModule
1122 readable var _n_eof
: EOF