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
304 private init noinit
do end
308 private init noinit
do end
311 class AModule super Prod end
312 class AModuledecl super Prod end
313 class AImport super Prod end
314 class AVisibility super Prod end
315 class AClassdef super Prod end
316 class AClasskind super Prod end
317 class AFormaldef super Prod end
318 class ASuperclass super Prod end
319 class APropdef super Prod end
320 class AAble super Prod end
321 class AMethid super Prod end
322 class ASignature super Prod end
323 class AParam super Prod end
324 class AClosureDecl super Prod end
325 class AType super Prod end
326 class ALabel super Prod end
327 class AExpr super Prod end
328 class AExprs super Prod end
329 class AAssignOp super Prod end
330 class AClosureDef super Prod end
331 class AClosureId super Prod end
332 class AModuleName super Prod end
333 class AExternCalls super Prod end
334 class AExternCall super Prod end
335 class AQualified super Prod end
336 class ADoc super Prod end
340 readable var _n_moduledecl
: nullable AModuledecl = null
341 readable var _n_imports
: List[AImport] = new List[AImport]
342 readable var _n_classdefs
: List[AClassdef] = new List[AClassdef]
346 readable var _n_doc
: nullable ADoc = null
347 readable var _n_kwmodule
: TKwmodule
348 readable var _n_name
: AModuleName
352 readable var _n_visibility
: AVisibility
353 readable var _n_kwimport
: TKwimport
354 readable var _n_name
: AModuleName
358 readable var _n_visibility
: AVisibility
359 readable var _n_kwimport
: TKwimport
360 readable var _n_kwend
: TKwend
362 class APublicVisibility
365 class APrivateVisibility
367 readable var _n_kwprivate
: TKwprivate
369 class AProtectedVisibility
371 readable var _n_kwprotected
: TKwprotected
373 class AIntrudeVisibility
375 readable var _n_kwintrude
: TKwintrude
379 readable var _n_doc
: nullable ADoc = null
380 readable var _n_kwredef
: nullable TKwredef = null
381 readable var _n_visibility
: AVisibility
382 readable var _n_classkind
: AClasskind
383 readable var _n_id
: nullable TClassid = null
384 readable var _n_formaldefs
: List[AFormaldef] = new List[AFormaldef]
385 readable var _n_superclasses
: List[ASuperclass] = new List[ASuperclass]
386 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
387 readable var _n_kwend
: TKwend
391 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
395 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
397 class AConcreteClasskind
399 readable var _n_kwclass
: TKwclass
401 class AAbstractClasskind
403 readable var _n_kwabstract
: TKwabstract
404 readable var _n_kwclass
: TKwclass
406 class AInterfaceClasskind
408 readable var _n_kwinterface
: TKwinterface
412 readable var _n_kwenum
: TKwenum
414 class AExternClasskind
416 readable var _n_kwextern
: TKwextern
420 readable var _n_id
: TClassid
421 readable var _n_type
: nullable AType = null
425 readable var _n_kwspecial
: nullable TKwspecial = null
426 readable var _n_kwsuper
: nullable TKwsuper = null
427 readable var _n_type
: AType
431 readable var _n_doc
: nullable ADoc = null
432 readable var _n_readable
: nullable AAble = null
433 readable var _n_writable
: nullable AAble = null
434 readable var _n_kwredef
: nullable TKwredef = null
435 readable var _n_visibility
: AVisibility
436 readable var _n_kwvar
: TKwvar
437 readable var _n_id
: nullable TAttrid = null
438 readable var _n_id2
: nullable TId = null
439 readable var _n_type
: nullable AType = null
440 readable var _n_expr
: nullable AExpr = null
444 readable var _n_doc
: nullable ADoc = null
445 readable var _n_kwredef
: nullable TKwredef = null
446 readable var _n_visibility
: AVisibility
447 readable var _n_methid
: AMethid
448 readable var _n_signature
: ASignature
450 class ADeferredMethPropdef
452 readable var _n_doc
: nullable ADoc = null
453 readable var _n_kwredef
: nullable TKwredef = null
454 readable var _n_visibility
: AVisibility
455 readable var _n_kwmeth
: TKwmeth
456 readable var _n_methid
: AMethid
457 readable var _n_signature
: ASignature
459 class AInternMethPropdef
461 readable var _n_doc
: nullable ADoc = null
462 readable var _n_kwredef
: nullable TKwredef = null
463 readable var _n_visibility
: AVisibility
464 readable var _n_kwmeth
: TKwmeth
465 readable var _n_methid
: AMethid
466 readable var _n_signature
: ASignature
468 class AExternMethPropdef
470 readable var _n_doc
: nullable ADoc = null
471 readable var _n_kwredef
: nullable TKwredef = null
472 readable var _n_visibility
: AVisibility
473 readable var _n_kwmeth
: TKwmeth
474 readable var _n_methid
: AMethid
475 readable var _n_signature
: ASignature
476 readable var _n_extern
: nullable TString = null
477 readable var _n_extern_calls
: nullable AExternCalls = null
479 class AConcreteMethPropdef
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_kwmeth
: TKwmeth
485 readable var _n_methid
: AMethid
486 readable var _n_signature
: ASignature
487 readable var _n_block
: nullable AExpr = null
489 class AConcreteInitPropdef
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_kwinit
: TKwinit
495 readable var _n_methid
: nullable AMethid = null
496 readable var _n_signature
: ASignature
497 readable var _n_block
: nullable AExpr = null
499 class AExternInitPropdef
501 readable var _n_doc
: nullable ADoc = null
502 readable var _n_kwredef
: nullable TKwredef = null
503 readable var _n_visibility
: AVisibility
504 readable var _n_kwnew
: TKwnew
505 readable var _n_methid
: nullable AMethid = null
506 readable var _n_signature
: ASignature
507 readable var _n_extern
: nullable TString = null
508 readable var _n_extern_calls
: nullable AExternCalls = null
510 class AMainMethPropdef
512 readable var _n_kwredef
: nullable TKwredef = null
513 readable var _n_block
: nullable AExpr = null
517 readable var _n_doc
: nullable ADoc = null
518 readable var _n_kwredef
: nullable TKwredef = null
519 readable var _n_visibility
: AVisibility
520 readable var _n_kwtype
: TKwtype
521 readable var _n_id
: TClassid
522 readable var _n_type
: AType
526 readable var _n_kwredef
: nullable TKwredef = null
527 readable var _n_kwreadable
: TKwreadable
531 readable var _n_kwredef
: nullable TKwredef = null
532 readable var _n_visibility
: nullable AVisibility = null
533 readable var _n_kwwritable
: TKwwritable
537 readable var _n_id
: TId
541 readable var _n_plus
: TPlus
545 readable var _n_minus
: TMinus
549 readable var _n_star
: TStar
553 readable var _n_slash
: TSlash
557 readable var _n_percent
: TPercent
561 readable var _n_eq
: TEq
565 readable var _n_ne
: TNe
569 readable var _n_le
: TLe
573 readable var _n_ge
: TGe
577 readable var _n_lt
: TLt
581 readable var _n_gt
: TGt
585 readable var _n_ll
: TLl
589 readable var _n_gg
: TGg
593 readable var _n_obra
: TObra
594 readable var _n_cbra
: TCbra
596 class AStarshipMethid
598 readable var _n_starship
: TStarship
602 readable var _n_id
: TId
603 readable var _n_assign
: TAssign
605 class ABraassignMethid
607 readable var _n_obra
: TObra
608 readable var _n_cbra
: TCbra
609 readable var _n_assign
: TAssign
613 readable var _n_opar
: nullable TOpar = null
614 readable var _n_params
: List[AParam] = new List[AParam]
615 readable var _n_cpar
: nullable TCpar = null
616 readable var _n_type
: nullable AType = null
617 readable var _n_closure_decls
: List[AClosureDecl] = new List[AClosureDecl]
621 readable var _n_id
: TId
622 readable var _n_type
: nullable AType = null
623 readable var _n_dotdotdot
: nullable TDotdotdot = null
627 readable var _n_kwbreak
: nullable TKwbreak = null
628 readable var _n_bang
: TBang
629 readable var _n_id
: TId
630 readable var _n_signature
: ASignature
631 readable var _n_expr
: nullable AExpr = null
635 readable var _n_kwnullable
: nullable TKwnullable = null
636 readable var _n_id
: TClassid
637 readable var _n_types
: List[AType] = new List[AType]
641 readable var _n_kwlabel
: TKwlabel
642 readable var _n_id
: TId
646 readable var _n_expr
: List[AExpr] = new List[AExpr]
647 readable var _n_kwend
: nullable TKwend = null
651 readable var _n_kwvar
: TKwvar
652 readable var _n_id
: TId
653 readable var _n_type
: nullable AType = null
654 readable var _n_assign
: nullable TAssign = null
655 readable var _n_expr
: nullable AExpr = null
659 readable var _n_kwreturn
: nullable TKwreturn = null
660 readable var _n_expr
: nullable AExpr = null
664 readable var _n_kwbreak
: TKwbreak
665 readable var _n_label
: nullable ALabel = null
666 readable var _n_expr
: nullable AExpr = null
670 readable var _n_kwabort
: TKwabort
674 readable var _n_kwcontinue
: nullable TKwcontinue = null
675 readable var _n_label
: nullable ALabel = null
676 readable var _n_expr
: nullable AExpr = null
680 readable var _n_kwdo
: TKwdo
681 readable var _n_block
: nullable AExpr = null
682 readable var _n_label
: nullable ALabel = null
686 readable var _n_kwif
: TKwif
687 readable var _n_expr
: AExpr
688 readable var _n_then
: nullable AExpr = null
689 readable var _n_else
: nullable AExpr = null
693 readable var _n_kwif
: TKwif
694 readable var _n_expr
: AExpr
695 readable var _n_kwthen
: TKwthen
696 readable var _n_then
: AExpr
697 readable var _n_kwelse
: TKwelse
698 readable var _n_else
: AExpr
702 readable var _n_kwwhile
: TKwwhile
703 readable var _n_expr
: AExpr
704 readable var _n_kwdo
: TKwdo
705 readable var _n_block
: nullable AExpr = null
706 readable var _n_label
: nullable ALabel = null
710 readable var _n_kwloop
: TKwloop
711 readable var _n_block
: nullable AExpr = null
712 readable var _n_label
: nullable ALabel = null
716 readable var _n_kwfor
: TKwfor
717 readable var _n_ids
: List[TId] = new List[TId]
718 readable var _n_expr
: AExpr
719 readable var _n_kwdo
: TKwdo
720 readable var _n_block
: nullable AExpr = null
721 readable var _n_label
: nullable ALabel = null
725 readable var _n_kwassert
: TKwassert
726 readable var _n_id
: nullable TId = null
727 readable var _n_expr
: AExpr
728 readable var _n_else
: nullable AExpr = null
732 readable var _n_kwonce
: TKwonce
733 readable var _n_expr
: AExpr
737 readable var _n_expr
: AExpr
741 readable var _n_expr
: AExpr
742 readable var _n_expr2
: AExpr
746 readable var _n_expr
: AExpr
747 readable var _n_expr2
: AExpr
751 readable var _n_expr
: AExpr
752 readable var _n_expr2
: AExpr
756 readable var _n_expr
: AExpr
757 readable var _n_expr2
: AExpr
761 readable var _n_kwnot
: TKwnot
762 readable var _n_expr
: AExpr
766 readable var _n_expr
: AExpr
767 readable var _n_expr2
: AExpr
771 readable var _n_expr
: AExpr
772 readable var _n_expr2
: AExpr
776 readable var _n_expr
: AExpr
777 readable var _n_expr2
: AExpr
781 readable var _n_expr
: AExpr
782 readable var _n_expr2
: AExpr
786 readable var _n_expr
: AExpr
787 readable var _n_expr2
: AExpr
791 readable var _n_expr
: AExpr
792 readable var _n_expr2
: AExpr
796 readable var _n_expr
: AExpr
797 readable var _n_expr2
: AExpr
801 readable var _n_expr
: AExpr
802 readable var _n_expr2
: AExpr
806 readable var _n_expr
: AExpr
807 readable var _n_expr2
: AExpr
811 readable var _n_expr
: AExpr
812 readable var _n_type
: AType
816 readable var _n_expr
: AExpr
817 readable var _n_expr2
: AExpr
821 readable var _n_expr
: AExpr
822 readable var _n_expr2
: AExpr
826 readable var _n_expr
: AExpr
827 readable var _n_expr2
: AExpr
831 readable var _n_expr
: AExpr
832 readable var _n_expr2
: AExpr
836 readable var _n_expr
: AExpr
837 readable var _n_expr2
: AExpr
841 readable var _n_expr
: AExpr
842 readable var _n_expr2
: AExpr
846 readable var _n_minus
: TMinus
847 readable var _n_expr
: AExpr
851 readable var _n_kwnew
: TKwnew
852 readable var _n_type
: AType
853 readable var _n_id
: nullable TId = null
854 readable var _n_args
: AExprs
858 readable var _n_expr
: AExpr
859 readable var _n_id
: TAttrid
861 class AAttrAssignExpr
863 readable var _n_expr
: AExpr
864 readable var _n_id
: TAttrid
865 readable var _n_assign
: TAssign
866 readable var _n_value
: AExpr
868 class AAttrReassignExpr
870 readable var _n_expr
: AExpr
871 readable var _n_id
: TAttrid
872 readable var _n_assign_op
: AAssignOp
873 readable var _n_value
: AExpr
877 readable var _n_expr
: AExpr
878 readable var _n_id
: TId
879 readable var _n_args
: AExprs
880 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
882 class ACallAssignExpr
884 readable var _n_expr
: AExpr
885 readable var _n_id
: TId
886 readable var _n_args
: AExprs
887 readable var _n_assign
: TAssign
888 readable var _n_value
: AExpr
890 class ACallReassignExpr
892 readable var _n_expr
: AExpr
893 readable var _n_id
: TId
894 readable var _n_args
: AExprs
895 readable var _n_assign_op
: AAssignOp
896 readable var _n_value
: AExpr
900 readable var _n_qualified
: nullable AQualified = null
901 readable var _n_kwsuper
: TKwsuper
902 readable var _n_args
: AExprs
906 readable var _n_expr
: AExpr
907 readable var _n_kwinit
: TKwinit
908 readable var _n_args
: AExprs
912 readable var _n_expr
: AExpr
913 readable var _n_args
: AExprs
914 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
918 readable var _n_expr
: AExpr
919 readable var _n_args
: AExprs
920 readable var _n_assign
: TAssign
921 readable var _n_value
: AExpr
923 class ABraReassignExpr
925 readable var _n_expr
: AExpr
926 readable var _n_args
: AExprs
927 readable var _n_assign_op
: AAssignOp
928 readable var _n_value
: AExpr
930 class AClosureCallExpr
932 readable var _n_id
: TId
933 readable var _n_args
: AExprs
934 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
938 readable var _n_id
: TId
942 readable var _n_id
: TId
943 readable var _n_assign
: TAssign
944 readable var _n_value
: AExpr
946 class AVarReassignExpr
948 readable var _n_id
: TId
949 readable var _n_assign_op
: AAssignOp
950 readable var _n_value
: AExpr
954 readable var _n_expr
: AExpr
955 readable var _n_expr2
: AExpr
959 readable var _n_obra
: TObra
960 readable var _n_expr
: AExpr
961 readable var _n_expr2
: AExpr
962 readable var _n_cbra
: TCbra
966 readable var _n_obra
: TObra
967 readable var _n_expr
: AExpr
968 readable var _n_expr2
: AExpr
969 readable var _n_cbra
: TObra
973 readable var _n_exprs
: AExprs
977 readable var _n_kwself
: TKwself
979 class AImplicitSelfExpr
984 readable var _n_kwtrue
: TKwtrue
988 readable var _n_kwfalse
: TKwfalse
992 readable var _n_kwnull
: TKwnull
996 readable var _n_number
: TNumber
1000 readable var _n_float
: TFloat
1004 readable var _n_char
: TChar
1008 readable var _n_string
: TString
1010 class AStartStringExpr
1012 readable var _n_string
: TStartString
1014 class AMidStringExpr
1016 readable var _n_string
: TMidString
1018 class AEndStringExpr
1020 readable var _n_string
: TEndString
1022 class ASuperstringExpr
1024 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1028 readable var _n_opar
: TOpar
1029 readable var _n_expr
: AExpr
1030 readable var _n_cpar
: TCpar
1034 readable var _n_expr
: AExpr
1035 readable var _n_kwas
: TKwas
1036 readable var _n_opar
: TOpar
1037 readable var _n_type
: AType
1038 readable var _n_cpar
: TCpar
1040 class AAsNotnullExpr
1042 readable var _n_expr
: AExpr
1043 readable var _n_kwas
: TKwas
1044 readable var _n_opar
: TOpar
1045 readable var _n_kwnot
: TKwnot
1046 readable var _n_kwnull
: TKwnull
1047 readable var _n_cpar
: TCpar
1049 class AIssetAttrExpr
1051 readable var _n_kwisset
: TKwisset
1052 readable var _n_expr
: AExpr
1053 readable var _n_id
: TAttrid
1055 class ADebugTypeExpr
1057 readable var _n_kwdebug
: TKwdebug
1058 readable var _n_kwtype
: TKwtype
1059 readable var _n_expr
: AExpr
1060 readable var _n_type
: AType
1064 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1068 readable var _n_opar
: TOpar
1069 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1070 readable var _n_cpar
: TCpar
1074 readable var _n_obra
: TObra
1075 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1076 readable var _n_cbra
: TCbra
1080 readable var _n_pluseq
: TPluseq
1082 class AMinusAssignOp
1084 readable var _n_minuseq
: TMinuseq
1088 readable var _n_bang
: TBang
1089 readable var _n_id
: AClosureId
1090 readable var _n_ids
: List[TId] = new List[TId]
1091 readable var _n_kwdo
: nullable TKwdo = null
1092 readable var _n_expr
: nullable AExpr = null
1093 readable var _n_label
: nullable ALabel = null
1095 class ASimpleClosureId
1097 readable var _n_id
: TId
1099 class ABreakClosureId
1101 readable var _n_kwbreak
: TKwbreak
1105 readable var _n_quad
: nullable TQuad = null
1106 readable var _n_path
: List[TId] = new List[TId]
1107 readable var _n_id
: TId
1111 readable var _n_kwimport
: TKwimport
1112 readable var _n_extern_calls
: List[AExternCall] = new List[AExternCall]
1117 class ASuperExternCall
1119 readable var _n_kwsuper
: TKwsuper
1121 class ALocalPropExternCall
1123 readable var _n_methid
: AMethid
1125 class AFullPropExternCall
1127 readable var _n_classid
: TClassid
1128 readable var _n_quad
: nullable TQuad = null
1129 readable var _n_methid
: AMethid
1131 class AInitPropExternCall
1133 readable var _n_classid
: TClassid
1135 class ACastAsExternCall
1137 readable var _n_from_type
: AType
1138 readable var _n_kwas
: TKwas
1139 readable var _n_to_type
: AType
1141 class AAsNullableExternCall
1143 readable var _n_type
: AType
1144 readable var _n_kwas
: TKwas
1145 readable var _n_kwnullable
: TKwnullable
1147 class AAsNotNullableExternCall
1149 readable var _n_type
: AType
1150 readable var _n_kwas
: TKwas
1151 readable var _n_kwnot
: TKwnot
1152 readable var _n_kwnullable
: TKwnullable
1156 readable var _n_id
: List[TId] = new List[TId]
1157 readable var _n_classid
: nullable TClassid = null
1161 readable var _n_comment
: List[TComment] = new List[TComment]
1166 readable var _n_base
: nullable AModule
1167 readable var _n_eof
: EOF
1169 n_base
: nullable AModule,