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_opar
: nullable TOpar = null
611 readable var _n_params
: List[AParam] = new List[AParam]
612 readable var _n_cpar
: nullable TCpar = null
613 readable var _n_type
: nullable AType = null
614 readable var _n_closure_decls
: List[AClosureDecl] = new List[AClosureDecl]
618 readable var _n_id
: TId
619 readable var _n_type
: nullable AType = null
620 readable var _n_dotdotdot
: nullable TDotdotdot = null
624 readable var _n_kwbreak
: nullable TKwbreak = null
625 readable var _n_bang
: TBang
626 readable var _n_id
: TId
627 readable var _n_signature
: ASignature
628 readable var _n_expr
: nullable AExpr = null
632 readable var _n_kwnullable
: nullable TKwnullable = null
633 readable var _n_id
: TClassid
634 readable var _n_types
: List[AType] = new List[AType]
638 readable var _n_kwlabel
: TKwlabel
639 readable var _n_id
: TId
643 readable var _n_expr
: List[AExpr] = new List[AExpr]
644 readable var _n_kwend
: nullable TKwend = null
648 readable var _n_kwvar
: TKwvar
649 readable var _n_id
: TId
650 readable var _n_type
: nullable AType = null
651 readable var _n_assign
: nullable TAssign = null
652 readable var _n_expr
: nullable AExpr = null
656 readable var _n_kwreturn
: nullable TKwreturn = null
657 readable var _n_expr
: nullable AExpr = null
661 readable var _n_kwbreak
: TKwbreak
662 readable var _n_label
: nullable ALabel = null
663 readable var _n_expr
: nullable AExpr = null
667 readable var _n_kwabort
: TKwabort
671 readable var _n_kwcontinue
: nullable TKwcontinue = null
672 readable var _n_label
: nullable ALabel = null
673 readable var _n_expr
: nullable AExpr = null
677 readable var _n_kwdo
: TKwdo
678 readable var _n_block
: nullable AExpr = null
679 readable var _n_label
: nullable ALabel = null
683 readable var _n_kwif
: TKwif
684 readable var _n_expr
: AExpr
685 readable var _n_then
: nullable AExpr = null
686 readable var _n_else
: nullable AExpr = null
690 readable var _n_kwif
: TKwif
691 readable var _n_expr
: AExpr
692 readable var _n_kwthen
: TKwthen
693 readable var _n_then
: AExpr
694 readable var _n_kwelse
: TKwelse
695 readable var _n_else
: AExpr
699 readable var _n_kwwhile
: TKwwhile
700 readable var _n_expr
: AExpr
701 readable var _n_kwdo
: TKwdo
702 readable var _n_block
: nullable AExpr = null
703 readable var _n_label
: nullable ALabel = null
707 readable var _n_kwloop
: TKwloop
708 readable var _n_block
: nullable AExpr = null
709 readable var _n_label
: nullable ALabel = null
713 readable var _n_kwfor
: TKwfor
714 readable var _n_ids
: List[TId] = new List[TId]
715 readable var _n_expr
: AExpr
716 readable var _n_kwdo
: TKwdo
717 readable var _n_block
: nullable AExpr = null
718 readable var _n_label
: nullable ALabel = null
722 readable var _n_kwassert
: TKwassert
723 readable var _n_id
: nullable TId = null
724 readable var _n_expr
: AExpr
725 readable var _n_else
: nullable AExpr = null
729 readable var _n_kwonce
: TKwonce
730 readable var _n_expr
: AExpr
734 readable var _n_expr
: AExpr
738 readable var _n_expr
: AExpr
739 readable var _n_expr2
: AExpr
743 readable var _n_expr
: AExpr
744 readable var _n_expr2
: AExpr
748 readable var _n_expr
: AExpr
749 readable var _n_expr2
: AExpr
753 readable var _n_expr
: AExpr
754 readable var _n_expr2
: AExpr
758 readable var _n_kwnot
: TKwnot
759 readable var _n_expr
: AExpr
763 readable var _n_expr
: AExpr
764 readable var _n_expr2
: AExpr
768 readable var _n_expr
: AExpr
769 readable var _n_expr2
: AExpr
773 readable var _n_expr
: AExpr
774 readable var _n_expr2
: AExpr
778 readable var _n_expr
: AExpr
779 readable var _n_expr2
: AExpr
783 readable var _n_expr
: AExpr
784 readable var _n_expr2
: AExpr
788 readable var _n_expr
: AExpr
789 readable var _n_expr2
: AExpr
793 readable var _n_expr
: AExpr
794 readable var _n_expr2
: AExpr
798 readable var _n_expr
: AExpr
799 readable var _n_expr2
: AExpr
803 readable var _n_expr
: AExpr
804 readable var _n_expr2
: AExpr
808 readable var _n_expr
: AExpr
809 readable var _n_type
: AType
813 readable var _n_expr
: AExpr
814 readable var _n_expr2
: AExpr
818 readable var _n_expr
: AExpr
819 readable var _n_expr2
: AExpr
823 readable var _n_expr
: AExpr
824 readable var _n_expr2
: AExpr
828 readable var _n_expr
: AExpr
829 readable var _n_expr2
: AExpr
833 readable var _n_expr
: AExpr
834 readable var _n_expr2
: AExpr
838 readable var _n_expr
: AExpr
839 readable var _n_expr2
: AExpr
843 readable var _n_minus
: TMinus
844 readable var _n_expr
: AExpr
848 readable var _n_kwnew
: TKwnew
849 readable var _n_type
: AType
850 readable var _n_id
: nullable TId = null
851 readable var _n_args
: AExprs
855 readable var _n_expr
: AExpr
856 readable var _n_id
: TAttrid
858 class AAttrAssignExpr
860 readable var _n_expr
: AExpr
861 readable var _n_id
: TAttrid
862 readable var _n_assign
: TAssign
863 readable var _n_value
: AExpr
865 class AAttrReassignExpr
867 readable var _n_expr
: AExpr
868 readable var _n_id
: TAttrid
869 readable var _n_assign_op
: AAssignOp
870 readable var _n_value
: AExpr
874 readable var _n_expr
: AExpr
875 readable var _n_id
: TId
876 readable var _n_args
: AExprs
877 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
879 class ACallAssignExpr
881 readable var _n_expr
: AExpr
882 readable var _n_id
: TId
883 readable var _n_args
: AExprs
884 readable var _n_assign
: TAssign
885 readable var _n_value
: AExpr
887 class ACallReassignExpr
889 readable var _n_expr
: AExpr
890 readable var _n_id
: TId
891 readable var _n_args
: AExprs
892 readable var _n_assign_op
: AAssignOp
893 readable var _n_value
: AExpr
897 readable var _n_qualified
: nullable AQualified = null
898 readable var _n_kwsuper
: TKwsuper
899 readable var _n_args
: AExprs
903 readable var _n_expr
: AExpr
904 readable var _n_kwinit
: TKwinit
905 readable var _n_args
: AExprs
909 readable var _n_expr
: AExpr
910 readable var _n_args
: AExprs
911 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
915 readable var _n_expr
: AExpr
916 readable var _n_args
: AExprs
917 readable var _n_assign
: TAssign
918 readable var _n_value
: AExpr
920 class ABraReassignExpr
922 readable var _n_expr
: AExpr
923 readable var _n_args
: AExprs
924 readable var _n_assign_op
: AAssignOp
925 readable var _n_value
: AExpr
927 class AClosureCallExpr
929 readable var _n_id
: TId
930 readable var _n_args
: AExprs
931 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
935 readable var _n_id
: TId
939 readable var _n_id
: TId
940 readable var _n_assign
: TAssign
941 readable var _n_value
: AExpr
943 class AVarReassignExpr
945 readable var _n_id
: TId
946 readable var _n_assign_op
: AAssignOp
947 readable var _n_value
: AExpr
951 readable var _n_expr
: AExpr
952 readable var _n_expr2
: AExpr
956 readable var _n_obra
: TObra
957 readable var _n_expr
: AExpr
958 readable var _n_expr2
: AExpr
959 readable var _n_cbra
: TCbra
963 readable var _n_obra
: TObra
964 readable var _n_expr
: AExpr
965 readable var _n_expr2
: AExpr
966 readable var _n_cbra
: TObra
970 readable var _n_exprs
: AExprs
974 readable var _n_kwself
: TKwself
976 class AImplicitSelfExpr
981 readable var _n_kwtrue
: TKwtrue
985 readable var _n_kwfalse
: TKwfalse
989 readable var _n_kwnull
: TKwnull
993 readable var _n_number
: TNumber
997 readable var _n_float
: TFloat
1001 readable var _n_char
: TChar
1005 readable var _n_string
: TString
1007 class AStartStringExpr
1009 readable var _n_string
: TStartString
1011 class AMidStringExpr
1013 readable var _n_string
: TMidString
1015 class AEndStringExpr
1017 readable var _n_string
: TEndString
1019 class ASuperstringExpr
1021 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1025 readable var _n_opar
: TOpar
1026 readable var _n_expr
: AExpr
1027 readable var _n_cpar
: TCpar
1031 readable var _n_expr
: AExpr
1032 readable var _n_kwas
: TKwas
1033 readable var _n_opar
: TOpar
1034 readable var _n_type
: AType
1035 readable var _n_cpar
: TCpar
1037 class AAsNotnullExpr
1039 readable var _n_expr
: AExpr
1040 readable var _n_kwas
: TKwas
1041 readable var _n_opar
: TOpar
1042 readable var _n_kwnot
: TKwnot
1043 readable var _n_kwnull
: TKwnull
1044 readable var _n_cpar
: TCpar
1046 class AIssetAttrExpr
1048 readable var _n_kwisset
: TKwisset
1049 readable var _n_expr
: AExpr
1050 readable var _n_id
: TAttrid
1054 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1058 readable var _n_opar
: TOpar
1059 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1060 readable var _n_cpar
: TCpar
1064 readable var _n_obra
: TObra
1065 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1066 readable var _n_cbra
: TCbra
1070 readable var _n_pluseq
: TPluseq
1072 class AMinusAssignOp
1074 readable var _n_minuseq
: TMinuseq
1078 readable var _n_bang
: TBang
1079 readable var _n_id
: AClosureId
1080 readable var _n_ids
: List[TId] = new List[TId]
1081 readable var _n_kwdo
: nullable TKwdo = null
1082 readable var _n_expr
: nullable AExpr = null
1083 readable var _n_label
: nullable ALabel = null
1085 class ASimpleClosureId
1087 readable var _n_id
: TId
1089 class ABreakClosureId
1091 readable var _n_kwbreak
: TKwbreak
1095 readable var _n_quad
: nullable TQuad = null
1096 readable var _n_path
: List[TId] = new List[TId]
1097 readable var _n_id
: TId
1101 readable var _n_kwimport
: TKwimport
1102 readable var _n_extern_calls
: List[AExternCall] = new List[AExternCall]
1107 class ASuperExternCall
1109 readable var _n_kwsuper
: TKwsuper
1111 class ALocalPropExternCall
1113 readable var _n_methid
: AMethid
1115 class AFullPropExternCall
1117 readable var _n_classid
: TClassid
1118 readable var _n_quad
: nullable TQuad = null
1119 readable var _n_methid
: AMethid
1121 class AInitPropExternCall
1123 readable var _n_classid
: TClassid
1125 class ACastAsExternCall
1127 readable var _n_from_type
: AType
1128 readable var _n_kwas
: TKwas
1129 readable var _n_to_type
: AType
1131 class AAsNullableExternCall
1133 readable var _n_type
: AType
1134 readable var _n_kwas
: TKwas
1135 readable var _n_kwnullable
: TKwnullable
1137 class AAsNotNullableExternCall
1139 readable var _n_type
: AType
1140 readable var _n_kwas
: TKwas
1141 readable var _n_kwnot
: TKwnot
1142 readable var _n_kwnullable
: TKwnullable
1146 readable var _n_id
: List[TId] = new List[TId]
1147 readable var _n_classid
: nullable TClassid = null
1151 readable var _n_comment
: List[TComment] = new List[TComment]
1156 readable var _n_base
: nullable AModule
1157 readable var _n_eof
: EOF