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
301 private init noinit
do end
305 private init noinit
do end
308 class AModule super Prod end
309 class AModuledecl super Prod end
310 class AImport super Prod end
311 class AVisibility super Prod end
312 class AClassdef super Prod end
313 class AClasskind super Prod end
314 class AFormaldef super Prod end
315 class ASuperclass super Prod end
316 class APropdef super Prod end
317 class AAble super Prod end
318 class AMethid super Prod end
319 class ASignature super Prod end
320 class AParam super Prod end
321 class AClosureDecl super Prod end
322 class AType super Prod end
323 class ALabel super Prod end
324 class AExpr super Prod end
325 class AExprs super Prod end
326 class AAssignOp super Prod end
327 class AClosureDef super Prod end
328 class AClosureId super Prod end
329 class AModuleName super Prod end
330 class AExternCalls super Prod end
331 class AExternCall super Prod end
332 class AQualified super Prod end
333 class ADoc super Prod end
337 readable var _n_moduledecl
: nullable AModuledecl = null
338 readable var _n_imports
: List[AImport] = new List[AImport]
339 readable var _n_classdefs
: List[AClassdef] = new List[AClassdef]
343 readable var _n_doc
: nullable ADoc = null
344 readable var _n_kwmodule
: TKwmodule
345 readable var _n_name
: AModuleName
349 readable var _n_visibility
: AVisibility
350 readable var _n_kwimport
: TKwimport
351 readable var _n_name
: AModuleName
355 readable var _n_visibility
: AVisibility
356 readable var _n_kwimport
: TKwimport
357 readable var _n_kwend
: TKwend
359 class APublicVisibility
362 class APrivateVisibility
364 readable var _n_kwprivate
: TKwprivate
366 class AProtectedVisibility
368 readable var _n_kwprotected
: TKwprotected
370 class AIntrudeVisibility
372 readable var _n_kwintrude
: TKwintrude
376 readable var _n_doc
: nullable ADoc = null
377 readable var _n_kwredef
: nullable TKwredef = null
378 readable var _n_visibility
: AVisibility
379 readable var _n_classkind
: AClasskind
380 readable var _n_id
: nullable TClassid = null
381 readable var _n_formaldefs
: List[AFormaldef] = new List[AFormaldef]
382 readable var _n_superclasses
: List[ASuperclass] = new List[ASuperclass]
383 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
384 readable var _n_kwend
: TKwend
388 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
392 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
394 class AConcreteClasskind
396 readable var _n_kwclass
: TKwclass
398 class AAbstractClasskind
400 readable var _n_kwabstract
: TKwabstract
401 readable var _n_kwclass
: TKwclass
403 class AInterfaceClasskind
405 readable var _n_kwinterface
: TKwinterface
409 readable var _n_kwenum
: TKwenum
411 class AExternClasskind
413 readable var _n_kwextern
: TKwextern
417 readable var _n_id
: TClassid
418 readable var _n_type
: nullable AType = null
422 readable var _n_kwspecial
: nullable TKwspecial = null
423 readable var _n_kwsuper
: nullable TKwsuper = null
424 readable var _n_type
: AType
428 readable var _n_doc
: nullable ADoc = null
429 readable var _n_readable
: nullable AAble = null
430 readable var _n_writable
: nullable AAble = null
431 readable var _n_kwredef
: nullable TKwredef = null
432 readable var _n_visibility
: AVisibility
433 readable var _n_kwvar
: TKwvar
434 readable var _n_id
: nullable TAttrid = null
435 readable var _n_id2
: nullable TId = null
436 readable var _n_type
: nullable AType = null
437 readable var _n_expr
: nullable AExpr = null
441 readable var _n_doc
: nullable ADoc = null
442 readable var _n_kwredef
: nullable TKwredef = null
443 readable var _n_visibility
: AVisibility
444 readable var _n_methid
: AMethid
445 readable var _n_signature
: ASignature
447 class ADeferredMethPropdef
449 readable var _n_doc
: nullable ADoc = null
450 readable var _n_kwredef
: nullable TKwredef = null
451 readable var _n_visibility
: AVisibility
452 readable var _n_kwmeth
: TKwmeth
453 readable var _n_methid
: AMethid
454 readable var _n_signature
: ASignature
456 class AInternMethPropdef
458 readable var _n_doc
: nullable ADoc = null
459 readable var _n_kwredef
: nullable TKwredef = null
460 readable var _n_visibility
: AVisibility
461 readable var _n_kwmeth
: TKwmeth
462 readable var _n_methid
: AMethid
463 readable var _n_signature
: ASignature
465 class AExternMethPropdef
467 readable var _n_doc
: nullable ADoc = null
468 readable var _n_kwredef
: nullable TKwredef = null
469 readable var _n_visibility
: AVisibility
470 readable var _n_kwmeth
: TKwmeth
471 readable var _n_methid
: AMethid
472 readable var _n_signature
: ASignature
473 readable var _n_extern
: nullable TString = null
474 readable var _n_extern_calls
: nullable AExternCalls = null
476 class AConcreteMethPropdef
478 readable var _n_doc
: nullable ADoc = null
479 readable var _n_kwredef
: nullable TKwredef = null
480 readable var _n_visibility
: AVisibility
481 readable var _n_kwmeth
: TKwmeth
482 readable var _n_methid
: AMethid
483 readable var _n_signature
: ASignature
484 readable var _n_block
: nullable AExpr = null
486 class AConcreteInitPropdef
488 readable var _n_doc
: nullable ADoc = null
489 readable var _n_kwredef
: nullable TKwredef = null
490 readable var _n_visibility
: AVisibility
491 readable var _n_kwinit
: TKwinit
492 readable var _n_methid
: nullable AMethid = null
493 readable var _n_signature
: ASignature
494 readable var _n_block
: nullable AExpr = null
496 class AExternInitPropdef
498 readable var _n_doc
: nullable ADoc = null
499 readable var _n_kwredef
: nullable TKwredef = null
500 readable var _n_visibility
: AVisibility
501 readable var _n_kwnew
: TKwnew
502 readable var _n_methid
: nullable AMethid = null
503 readable var _n_signature
: ASignature
504 readable var _n_extern
: nullable TString = null
505 readable var _n_extern_calls
: nullable AExternCalls = null
507 class AMainMethPropdef
509 readable var _n_kwredef
: nullable TKwredef = null
510 readable var _n_block
: nullable AExpr = null
514 readable var _n_doc
: nullable ADoc = null
515 readable var _n_kwredef
: nullable TKwredef = null
516 readable var _n_visibility
: AVisibility
517 readable var _n_kwtype
: TKwtype
518 readable var _n_id
: TClassid
519 readable var _n_type
: AType
523 readable var _n_kwredef
: nullable TKwredef = null
524 readable var _n_kwreadable
: TKwreadable
528 readable var _n_kwredef
: nullable TKwredef = null
529 readable var _n_visibility
: nullable AVisibility = null
530 readable var _n_kwwritable
: TKwwritable
534 readable var _n_id
: TId
538 readable var _n_plus
: TPlus
542 readable var _n_minus
: TMinus
546 readable var _n_star
: TStar
550 readable var _n_slash
: TSlash
554 readable var _n_percent
: TPercent
558 readable var _n_eq
: TEq
562 readable var _n_ne
: TNe
566 readable var _n_le
: TLe
570 readable var _n_ge
: TGe
574 readable var _n_lt
: TLt
578 readable var _n_gt
: TGt
582 readable var _n_ll
: TLl
586 readable var _n_gg
: TGg
590 readable var _n_obra
: TObra
591 readable var _n_cbra
: TCbra
593 class AStarshipMethid
595 readable var _n_starship
: TStarship
599 readable var _n_id
: TId
600 readable var _n_assign
: TAssign
602 class ABraassignMethid
604 readable var _n_obra
: TObra
605 readable var _n_cbra
: TCbra
606 readable var _n_assign
: TAssign
610 readable var _n_params
: List[AParam] = new List[AParam]
611 readable var _n_type
: nullable AType = null
612 readable var _n_closure_decls
: List[AClosureDecl] = new List[AClosureDecl]
616 readable var _n_id
: TId
617 readable var _n_type
: nullable AType = null
618 readable var _n_dotdotdot
: nullable TDotdotdot = null
622 readable var _n_kwbreak
: nullable TKwbreak = null
623 readable var _n_bang
: TBang
624 readable var _n_id
: TId
625 readable var _n_signature
: ASignature
626 readable var _n_expr
: nullable AExpr = null
630 readable var _n_kwnullable
: nullable TKwnullable = null
631 readable var _n_id
: TClassid
632 readable var _n_types
: List[AType] = new List[AType]
636 readable var _n_kwlabel
: TKwlabel
637 readable var _n_id
: TId
641 readable var _n_expr
: List[AExpr] = new List[AExpr]
642 readable var _n_kwend
: nullable TKwend = null
646 readable var _n_kwvar
: TKwvar
647 readable var _n_id
: TId
648 readable var _n_type
: nullable AType = null
649 readable var _n_assign
: nullable TAssign = null
650 readable var _n_expr
: nullable AExpr = null
654 readable var _n_kwreturn
: nullable TKwreturn = null
655 readable var _n_expr
: nullable AExpr = null
659 readable var _n_kwbreak
: TKwbreak
660 readable var _n_label
: nullable ALabel = null
661 readable var _n_expr
: nullable AExpr = null
665 readable var _n_kwabort
: TKwabort
669 readable var _n_kwcontinue
: nullable TKwcontinue = null
670 readable var _n_label
: nullable ALabel = null
671 readable var _n_expr
: nullable AExpr = null
675 readable var _n_kwdo
: TKwdo
676 readable var _n_block
: nullable AExpr = null
677 readable var _n_label
: nullable ALabel = null
681 readable var _n_kwif
: TKwif
682 readable var _n_expr
: AExpr
683 readable var _n_then
: nullable AExpr = null
684 readable var _n_else
: nullable AExpr = null
688 readable var _n_kwif
: TKwif
689 readable var _n_expr
: AExpr
690 readable var _n_kwthen
: TKwthen
691 readable var _n_then
: AExpr
692 readable var _n_kwelse
: TKwelse
693 readable var _n_else
: AExpr
697 readable var _n_kwwhile
: TKwwhile
698 readable var _n_expr
: AExpr
699 readable var _n_kwdo
: TKwdo
700 readable var _n_block
: nullable AExpr = null
701 readable var _n_label
: nullable ALabel = null
705 readable var _n_kwloop
: TKwloop
706 readable var _n_block
: nullable AExpr = null
707 readable var _n_label
: nullable ALabel = null
711 readable var _n_kwfor
: TKwfor
712 readable var _n_ids
: List[TId] = new List[TId]
713 readable var _n_expr
: AExpr
714 readable var _n_kwdo
: TKwdo
715 readable var _n_block
: nullable AExpr = null
716 readable var _n_label
: nullable ALabel = null
720 readable var _n_kwassert
: TKwassert
721 readable var _n_id
: nullable TId = null
722 readable var _n_expr
: AExpr
723 readable var _n_else
: nullable AExpr = null
727 readable var _n_kwonce
: TKwonce
728 readable var _n_expr
: AExpr
732 readable var _n_expr
: AExpr
736 readable var _n_expr
: AExpr
737 readable var _n_expr2
: 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_kwnot
: TKwnot
757 readable var _n_expr
: AExpr
761 readable var _n_expr
: AExpr
762 readable var _n_expr2
: 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_type
: AType
811 readable var _n_expr
: AExpr
812 readable var _n_expr2
: AExpr
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_minus
: TMinus
842 readable var _n_expr
: AExpr
846 readable var _n_kwnew
: TKwnew
847 readable var _n_type
: AType
848 readable var _n_id
: nullable TId = null
849 readable var _n_args
: AExprs
853 readable var _n_expr
: AExpr
854 readable var _n_id
: TAttrid
856 class AAttrAssignExpr
858 readable var _n_expr
: AExpr
859 readable var _n_id
: TAttrid
860 readable var _n_assign
: TAssign
861 readable var _n_value
: AExpr
863 class AAttrReassignExpr
865 readable var _n_expr
: AExpr
866 readable var _n_id
: TAttrid
867 readable var _n_assign_op
: AAssignOp
868 readable var _n_value
: AExpr
872 readable var _n_expr
: AExpr
873 readable var _n_id
: TId
874 readable var _n_args
: AExprs
875 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
877 class ACallAssignExpr
879 readable var _n_expr
: AExpr
880 readable var _n_id
: TId
881 readable var _n_args
: AExprs
882 readable var _n_assign
: TAssign
883 readable var _n_value
: AExpr
885 class ACallReassignExpr
887 readable var _n_expr
: AExpr
888 readable var _n_id
: TId
889 readable var _n_args
: AExprs
890 readable var _n_assign_op
: AAssignOp
891 readable var _n_value
: AExpr
895 readable var _n_qualified
: nullable AQualified = null
896 readable var _n_kwsuper
: TKwsuper
897 readable var _n_args
: AExprs
901 readable var _n_expr
: AExpr
902 readable var _n_kwinit
: TKwinit
903 readable var _n_args
: AExprs
907 readable var _n_expr
: AExpr
908 readable var _n_args
: AExprs
909 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
913 readable var _n_expr
: AExpr
914 readable var _n_args
: AExprs
915 readable var _n_assign
: TAssign
916 readable var _n_value
: AExpr
918 class ABraReassignExpr
920 readable var _n_expr
: AExpr
921 readable var _n_args
: AExprs
922 readable var _n_assign_op
: AAssignOp
923 readable var _n_value
: AExpr
925 class AClosureCallExpr
927 readable var _n_id
: TId
928 readable var _n_args
: AExprs
929 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
933 readable var _n_id
: TId
937 readable var _n_id
: TId
938 readable var _n_assign
: TAssign
939 readable var _n_value
: AExpr
941 class AVarReassignExpr
943 readable var _n_id
: TId
944 readable var _n_assign_op
: AAssignOp
945 readable var _n_value
: AExpr
949 readable var _n_expr
: AExpr
950 readable var _n_expr2
: AExpr
954 readable var _n_obra
: TObra
955 readable var _n_expr
: AExpr
956 readable var _n_expr2
: AExpr
957 readable var _n_cbra
: TCbra
961 readable var _n_obra
: TObra
962 readable var _n_expr
: AExpr
963 readable var _n_expr2
: AExpr
964 readable var _n_cbra
: TObra
968 readable var _n_exprs
: AExprs
972 readable var _n_kwself
: TKwself
974 class AImplicitSelfExpr
979 readable var _n_kwtrue
: TKwtrue
983 readable var _n_kwfalse
: TKwfalse
987 readable var _n_kwnull
: TKwnull
991 readable var _n_number
: TNumber
995 readable var _n_float
: TFloat
999 readable var _n_char
: TChar
1003 readable var _n_string
: TString
1005 class AStartStringExpr
1007 readable var _n_string
: TStartString
1009 class AMidStringExpr
1011 readable var _n_string
: TMidString
1013 class AEndStringExpr
1015 readable var _n_string
: TEndString
1017 class ASuperstringExpr
1019 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1023 readable var _n_opar
: TOpar
1024 readable var _n_expr
: AExpr
1025 readable var _n_cpar
: TCpar
1029 readable var _n_expr
: AExpr
1030 readable var _n_kwas
: TKwas
1031 readable var _n_opar
: TOpar
1032 readable var _n_type
: AType
1033 readable var _n_cpar
: TCpar
1035 class AAsNotnullExpr
1037 readable var _n_expr
: AExpr
1038 readable var _n_kwas
: TKwas
1039 readable var _n_opar
: TOpar
1040 readable var _n_kwnot
: TKwnot
1041 readable var _n_kwnull
: TKwnull
1042 readable var _n_cpar
: TCpar
1044 class AIssetAttrExpr
1046 readable var _n_kwisset
: TKwisset
1047 readable var _n_expr
: AExpr
1048 readable var _n_id
: TAttrid
1052 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1056 readable var _n_opar
: TOpar
1057 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1058 readable var _n_cpar
: TCpar
1062 readable var _n_obra
: TObra
1063 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1064 readable var _n_cbra
: TCbra
1068 readable var _n_pluseq
: TPluseq
1070 class AMinusAssignOp
1072 readable var _n_minuseq
: TMinuseq
1076 readable var _n_bang
: TBang
1077 readable var _n_id
: AClosureId
1078 readable var _n_ids
: List[TId] = new List[TId]
1079 readable var _n_kwdo
: nullable TKwdo = null
1080 readable var _n_expr
: nullable AExpr = null
1081 readable var _n_label
: nullable ALabel = null
1083 class ASimpleClosureId
1085 readable var _n_id
: TId
1087 class ABreakClosureId
1089 readable var _n_kwbreak
: TKwbreak
1093 readable var _n_quad
: nullable TQuad = null
1094 readable var _n_path
: List[TId] = new List[TId]
1095 readable var _n_id
: TId
1099 readable var _n_kwimport
: TKwimport
1100 readable var _n_extern_calls
: List[AExternCall] = new List[AExternCall]
1105 class ASuperExternCall
1107 readable var _n_kwsuper
: TKwsuper
1109 class ALocalPropExternCall
1111 readable var _n_methid
: AMethid
1113 class AFullPropExternCall
1115 readable var _n_classid
: TClassid
1116 readable var _n_quad
: nullable TQuad = null
1117 readable var _n_methid
: AMethid
1119 class AInitPropExternCall
1121 readable var _n_classid
: TClassid
1123 class ACastAsExternCall
1125 readable var _n_from_type
: AType
1126 readable var _n_kwas
: TKwas
1127 readable var _n_to_type
: AType
1129 class AAsNullableExternCall
1131 readable var _n_type
: AType
1132 readable var _n_kwas
: TKwas
1133 readable var _n_kwnullable
: TKwnullable
1135 class AAsNotNullableExternCall
1137 readable var _n_type
: AType
1138 readable var _n_kwas
: TKwas
1139 readable var _n_kwnot
: TKwnot
1140 readable var _n_kwnullable
: TKwnullable
1144 readable var _n_id
: List[TId] = new List[TId]
1145 readable var _n_classid
: nullable TClassid = null
1149 readable var _n_comment
: List[TComment] = new List[TComment]
1154 readable var _n_base
: nullable AModule
1155 readable var _n_eof
: EOF