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
302 class TExternCodeSegment
307 private init noinit
do end
311 private init noinit
do end
314 class AModule super Prod end
315 class AModuledecl super Prod end
316 class AImport super Prod end
317 class AVisibility super Prod end
318 class AClassdef super Prod end
319 class AClasskind super Prod end
320 class AFormaldef super Prod end
321 class ASuperclass super Prod end
322 class APropdef super Prod end
323 class AAble super Prod end
324 class AMethid super Prod end
325 class ASignature super Prod end
326 class AParam super Prod end
327 class AClosureDecl super Prod end
328 class AType super Prod end
329 class ALabel super Prod end
330 class AExpr super Prod end
331 class AExprs super Prod end
332 class AAssignOp super Prod end
333 class AClosureDef super Prod end
334 class AClosureId super Prod end
335 class AModuleName super Prod end
336 class AExternCalls super Prod end
337 class AExternCall super Prod end
338 class AInLanguage super Prod end
339 class AExternCodeBlock super Prod end
340 class AQualified super Prod end
341 class ADoc super Prod end
345 readable var _n_moduledecl
: nullable AModuledecl = null
346 readable var _n_imports
: List[AImport] = new List[AImport]
347 readable var _n_extern_code_blocks
: List[AExternCodeBlock] = new List[AExternCodeBlock]
348 readable var _n_classdefs
: List[AClassdef] = new List[AClassdef]
352 readable var _n_doc
: nullable ADoc = null
353 readable var _n_kwmodule
: TKwmodule
354 readable var _n_name
: AModuleName
358 readable var _n_visibility
: AVisibility
359 readable var _n_kwimport
: TKwimport
360 readable var _n_name
: AModuleName
364 readable var _n_visibility
: AVisibility
365 readable var _n_kwimport
: TKwimport
366 readable var _n_kwend
: TKwend
368 class APublicVisibility
371 class APrivateVisibility
373 readable var _n_kwprivate
: TKwprivate
375 class AProtectedVisibility
377 readable var _n_kwprotected
: TKwprotected
379 class AIntrudeVisibility
381 readable var _n_kwintrude
: TKwintrude
385 readable var _n_doc
: nullable ADoc = null
386 readable var _n_kwredef
: nullable TKwredef = null
387 readable var _n_visibility
: AVisibility
388 readable var _n_classkind
: AClasskind
389 readable var _n_id
: nullable TClassid = null
390 readable var _n_formaldefs
: List[AFormaldef] = new List[AFormaldef]
391 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
392 readable var _n_superclasses
: List[ASuperclass] = new List[ASuperclass]
393 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
394 readable var _n_kwend
: TKwend
398 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
402 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
404 class AConcreteClasskind
406 readable var _n_kwclass
: TKwclass
408 class AAbstractClasskind
410 readable var _n_kwabstract
: TKwabstract
411 readable var _n_kwclass
: TKwclass
413 class AInterfaceClasskind
415 readable var _n_kwinterface
: TKwinterface
419 readable var _n_kwenum
: TKwenum
421 class AExternClasskind
423 readable var _n_kwextern
: TKwextern
427 readable var _n_id
: TClassid
428 readable var _n_type
: nullable AType = null
432 readable var _n_kwspecial
: nullable TKwspecial = null
433 readable var _n_kwsuper
: nullable TKwsuper = null
434 readable var _n_type
: AType
438 readable var _n_doc
: nullable ADoc = null
439 readable var _n_readable
: nullable AAble = null
440 readable var _n_writable
: nullable AAble = null
441 readable var _n_kwredef
: nullable TKwredef = null
442 readable var _n_visibility
: AVisibility
443 readable var _n_kwvar
: TKwvar
444 readable var _n_id
: nullable TAttrid = null
445 readable var _n_id2
: nullable TId = null
446 readable var _n_type
: nullable AType = null
447 readable var _n_expr
: nullable AExpr = null
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_methid
: AMethid
455 readable var _n_signature
: ASignature
457 class ADeferredMethPropdef
459 readable var _n_doc
: nullable ADoc = null
460 readable var _n_kwredef
: nullable TKwredef = null
461 readable var _n_visibility
: AVisibility
462 readable var _n_kwmeth
: TKwmeth
463 readable var _n_methid
: AMethid
464 readable var _n_signature
: ASignature
466 class AInternMethPropdef
468 readable var _n_doc
: nullable ADoc = null
469 readable var _n_kwredef
: nullable TKwredef = null
470 readable var _n_visibility
: AVisibility
471 readable var _n_kwmeth
: TKwmeth
472 readable var _n_methid
: AMethid
473 readable var _n_signature
: ASignature
475 class AExternMethPropdef
477 readable var _n_doc
: nullable ADoc = null
478 readable var _n_kwredef
: nullable TKwredef = null
479 readable var _n_visibility
: AVisibility
480 readable var _n_kwmeth
: TKwmeth
481 readable var _n_methid
: AMethid
482 readable var _n_signature
: ASignature
483 readable var _n_extern
: nullable TString = null
484 readable var _n_extern_calls
: nullable AExternCalls = null
485 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
487 class AConcreteMethPropdef
489 readable var _n_doc
: nullable ADoc = null
490 readable var _n_kwredef
: nullable TKwredef = null
491 readable var _n_visibility
: AVisibility
492 readable var _n_kwmeth
: TKwmeth
493 readable var _n_methid
: AMethid
494 readable var _n_signature
: ASignature
495 readable var _n_block
: nullable AExpr = null
497 class AConcreteInitPropdef
499 readable var _n_doc
: nullable ADoc = null
500 readable var _n_kwredef
: nullable TKwredef = null
501 readable var _n_visibility
: AVisibility
502 readable var _n_kwinit
: TKwinit
503 readable var _n_methid
: nullable AMethid = null
504 readable var _n_signature
: ASignature
505 readable var _n_block
: nullable AExpr = null
507 class AExternInitPropdef
509 readable var _n_doc
: nullable ADoc = null
510 readable var _n_kwredef
: nullable TKwredef = null
511 readable var _n_visibility
: AVisibility
512 readable var _n_kwnew
: TKwnew
513 readable var _n_methid
: nullable AMethid = null
514 readable var _n_signature
: ASignature
515 readable var _n_extern
: nullable TString = null
516 readable var _n_extern_calls
: nullable AExternCalls = null
517 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
519 class AMainMethPropdef
521 readable var _n_kwredef
: nullable TKwredef = null
522 readable var _n_block
: nullable AExpr = null
526 readable var _n_doc
: nullable ADoc = null
527 readable var _n_kwredef
: nullable TKwredef = null
528 readable var _n_visibility
: AVisibility
529 readable var _n_kwtype
: TKwtype
530 readable var _n_id
: TClassid
531 readable var _n_type
: AType
535 readable var _n_kwredef
: nullable TKwredef = null
536 readable var _n_kwreadable
: TKwreadable
540 readable var _n_kwredef
: nullable TKwredef = null
541 readable var _n_visibility
: nullable AVisibility = null
542 readable var _n_kwwritable
: TKwwritable
546 readable var _n_id
: TId
550 readable var _n_plus
: TPlus
554 readable var _n_minus
: TMinus
558 readable var _n_star
: TStar
562 readable var _n_slash
: TSlash
566 readable var _n_percent
: TPercent
570 readable var _n_eq
: TEq
574 readable var _n_ne
: TNe
578 readable var _n_le
: TLe
582 readable var _n_ge
: TGe
586 readable var _n_lt
: TLt
590 readable var _n_gt
: TGt
594 readable var _n_ll
: TLl
598 readable var _n_gg
: TGg
602 readable var _n_obra
: TObra
603 readable var _n_cbra
: TCbra
605 class AStarshipMethid
607 readable var _n_starship
: TStarship
611 readable var _n_id
: TId
612 readable var _n_assign
: TAssign
614 class ABraassignMethid
616 readable var _n_obra
: TObra
617 readable var _n_cbra
: TCbra
618 readable var _n_assign
: TAssign
622 readable var _n_opar
: nullable TOpar = null
623 readable var _n_params
: List[AParam] = new List[AParam]
624 readable var _n_cpar
: nullable TCpar = null
625 readable var _n_type
: nullable AType = null
626 readable var _n_closure_decls
: List[AClosureDecl] = new List[AClosureDecl]
630 readable var _n_id
: TId
631 readable var _n_type
: nullable AType = null
632 readable var _n_dotdotdot
: nullable TDotdotdot = null
636 readable var _n_kwbreak
: nullable TKwbreak = null
637 readable var _n_bang
: TBang
638 readable var _n_id
: TId
639 readable var _n_signature
: ASignature
640 readable var _n_expr
: nullable AExpr = null
644 readable var _n_kwnullable
: nullable TKwnullable = null
645 readable var _n_id
: TClassid
646 readable var _n_types
: List[AType] = new List[AType]
650 readable var _n_kwlabel
: TKwlabel
651 readable var _n_id
: TId
655 readable var _n_expr
: List[AExpr] = new List[AExpr]
656 readable var _n_kwend
: nullable TKwend = null
660 readable var _n_kwvar
: TKwvar
661 readable var _n_id
: TId
662 readable var _n_type
: nullable AType = null
663 readable var _n_assign
: nullable TAssign = null
664 readable var _n_expr
: nullable AExpr = null
668 readable var _n_kwreturn
: nullable TKwreturn = null
669 readable var _n_expr
: nullable AExpr = null
673 readable var _n_kwbreak
: TKwbreak
674 readable var _n_label
: nullable ALabel = null
675 readable var _n_expr
: nullable AExpr = null
679 readable var _n_kwabort
: TKwabort
683 readable var _n_kwcontinue
: nullable TKwcontinue = null
684 readable var _n_label
: nullable ALabel = null
685 readable var _n_expr
: nullable AExpr = null
689 readable var _n_kwdo
: TKwdo
690 readable var _n_block
: nullable AExpr = null
691 readable var _n_label
: nullable ALabel = null
695 readable var _n_kwif
: TKwif
696 readable var _n_expr
: AExpr
697 readable var _n_then
: nullable AExpr = null
698 readable var _n_else
: nullable AExpr = null
702 readable var _n_kwif
: TKwif
703 readable var _n_expr
: AExpr
704 readable var _n_kwthen
: TKwthen
705 readable var _n_then
: AExpr
706 readable var _n_kwelse
: TKwelse
707 readable var _n_else
: AExpr
711 readable var _n_kwwhile
: TKwwhile
712 readable var _n_expr
: AExpr
713 readable var _n_kwdo
: TKwdo
714 readable var _n_block
: nullable AExpr = null
715 readable var _n_label
: nullable ALabel = null
719 readable var _n_kwloop
: TKwloop
720 readable var _n_block
: nullable AExpr = null
721 readable var _n_label
: nullable ALabel = null
725 readable var _n_kwfor
: TKwfor
726 readable var _n_ids
: List[TId] = new List[TId]
727 readable var _n_expr
: AExpr
728 readable var _n_kwdo
: TKwdo
729 readable var _n_block
: nullable AExpr = null
730 readable var _n_label
: nullable ALabel = null
734 readable var _n_kwassert
: TKwassert
735 readable var _n_id
: nullable TId = null
736 readable var _n_expr
: AExpr
737 readable var _n_else
: nullable AExpr = null
741 readable var _n_kwonce
: TKwonce
742 readable var _n_expr
: AExpr
746 readable var _n_expr
: AExpr
750 readable var _n_expr
: AExpr
751 readable var _n_expr2
: AExpr
755 readable var _n_expr
: AExpr
756 readable var _n_expr2
: AExpr
760 readable var _n_expr
: AExpr
761 readable var _n_expr2
: AExpr
765 readable var _n_expr
: AExpr
766 readable var _n_expr2
: AExpr
770 readable var _n_kwnot
: TKwnot
771 readable var _n_expr
: AExpr
775 readable var _n_expr
: AExpr
776 readable var _n_expr2
: AExpr
780 readable var _n_expr
: AExpr
781 readable var _n_expr2
: AExpr
785 readable var _n_expr
: AExpr
786 readable var _n_expr2
: AExpr
790 readable var _n_expr
: AExpr
791 readable var _n_expr2
: AExpr
795 readable var _n_expr
: AExpr
796 readable var _n_expr2
: AExpr
800 readable var _n_expr
: AExpr
801 readable var _n_expr2
: AExpr
805 readable var _n_expr
: AExpr
806 readable var _n_expr2
: AExpr
810 readable var _n_expr
: AExpr
811 readable var _n_expr2
: AExpr
815 readable var _n_expr
: AExpr
816 readable var _n_expr2
: AExpr
820 readable var _n_expr
: AExpr
821 readable var _n_type
: AType
825 readable var _n_expr
: AExpr
826 readable var _n_expr2
: AExpr
830 readable var _n_expr
: AExpr
831 readable var _n_expr2
: AExpr
835 readable var _n_expr
: AExpr
836 readable var _n_expr2
: AExpr
840 readable var _n_expr
: AExpr
841 readable var _n_expr2
: AExpr
845 readable var _n_expr
: AExpr
846 readable var _n_expr2
: AExpr
850 readable var _n_expr
: AExpr
851 readable var _n_expr2
: AExpr
855 readable var _n_minus
: TMinus
856 readable var _n_expr
: AExpr
860 readable var _n_kwnew
: TKwnew
861 readable var _n_type
: AType
862 readable var _n_id
: nullable TId = null
863 readable var _n_args
: AExprs
867 readable var _n_expr
: AExpr
868 readable var _n_id
: TAttrid
870 class AAttrAssignExpr
872 readable var _n_expr
: AExpr
873 readable var _n_id
: TAttrid
874 readable var _n_assign
: TAssign
875 readable var _n_value
: AExpr
877 class AAttrReassignExpr
879 readable var _n_expr
: AExpr
880 readable var _n_id
: TAttrid
881 readable var _n_assign_op
: AAssignOp
882 readable var _n_value
: AExpr
886 readable var _n_expr
: AExpr
887 readable var _n_id
: TId
888 readable var _n_args
: AExprs
889 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
891 class ACallAssignExpr
893 readable var _n_expr
: AExpr
894 readable var _n_id
: TId
895 readable var _n_args
: AExprs
896 readable var _n_assign
: TAssign
897 readable var _n_value
: AExpr
899 class ACallReassignExpr
901 readable var _n_expr
: AExpr
902 readable var _n_id
: TId
903 readable var _n_args
: AExprs
904 readable var _n_assign_op
: AAssignOp
905 readable var _n_value
: AExpr
909 readable var _n_qualified
: nullable AQualified = null
910 readable var _n_kwsuper
: TKwsuper
911 readable var _n_args
: AExprs
915 readable var _n_expr
: AExpr
916 readable var _n_kwinit
: TKwinit
917 readable var _n_args
: AExprs
921 readable var _n_expr
: AExpr
922 readable var _n_args
: AExprs
923 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
927 readable var _n_expr
: AExpr
928 readable var _n_args
: AExprs
929 readable var _n_assign
: TAssign
930 readable var _n_value
: AExpr
932 class ABraReassignExpr
934 readable var _n_expr
: AExpr
935 readable var _n_args
: AExprs
936 readable var _n_assign_op
: AAssignOp
937 readable var _n_value
: AExpr
939 class AClosureCallExpr
941 readable var _n_id
: TId
942 readable var _n_args
: AExprs
943 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
947 readable var _n_id
: TId
951 readable var _n_id
: TId
952 readable var _n_assign
: TAssign
953 readable var _n_value
: AExpr
955 class AVarReassignExpr
957 readable var _n_id
: TId
958 readable var _n_assign_op
: AAssignOp
959 readable var _n_value
: AExpr
963 readable var _n_expr
: AExpr
964 readable var _n_expr2
: AExpr
968 readable var _n_obra
: TObra
969 readable var _n_expr
: AExpr
970 readable var _n_expr2
: AExpr
971 readable var _n_cbra
: TCbra
975 readable var _n_obra
: TObra
976 readable var _n_expr
: AExpr
977 readable var _n_expr2
: AExpr
978 readable var _n_cbra
: TObra
982 readable var _n_exprs
: AExprs
986 readable var _n_kwself
: TKwself
988 class AImplicitSelfExpr
993 readable var _n_kwtrue
: TKwtrue
997 readable var _n_kwfalse
: TKwfalse
1001 readable var _n_kwnull
: TKwnull
1005 readable var _n_number
: TNumber
1009 readable var _n_float
: TFloat
1013 readable var _n_char
: TChar
1017 readable var _n_string
: TString
1019 class AStartStringExpr
1021 readable var _n_string
: TStartString
1023 class AMidStringExpr
1025 readable var _n_string
: TMidString
1027 class AEndStringExpr
1029 readable var _n_string
: TEndString
1031 class ASuperstringExpr
1033 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1037 readable var _n_opar
: TOpar
1038 readable var _n_expr
: AExpr
1039 readable var _n_cpar
: TCpar
1043 readable var _n_expr
: AExpr
1044 readable var _n_kwas
: TKwas
1045 readable var _n_opar
: TOpar
1046 readable var _n_type
: AType
1047 readable var _n_cpar
: TCpar
1049 class AAsNotnullExpr
1051 readable var _n_expr
: AExpr
1052 readable var _n_kwas
: TKwas
1053 readable var _n_opar
: TOpar
1054 readable var _n_kwnot
: TKwnot
1055 readable var _n_kwnull
: TKwnull
1056 readable var _n_cpar
: TCpar
1058 class AIssetAttrExpr
1060 readable var _n_kwisset
: TKwisset
1061 readable var _n_expr
: AExpr
1062 readable var _n_id
: TAttrid
1064 class ADebugTypeExpr
1066 readable var _n_kwdebug
: TKwdebug
1067 readable var _n_kwtype
: TKwtype
1068 readable var _n_expr
: AExpr
1069 readable var _n_type
: AType
1073 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1077 readable var _n_opar
: TOpar
1078 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1079 readable var _n_cpar
: TCpar
1083 readable var _n_obra
: TObra
1084 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1085 readable var _n_cbra
: TCbra
1089 readable var _n_pluseq
: TPluseq
1091 class AMinusAssignOp
1093 readable var _n_minuseq
: TMinuseq
1097 readable var _n_bang
: TBang
1098 readable var _n_id
: AClosureId
1099 readable var _n_ids
: List[TId] = new List[TId]
1100 readable var _n_kwdo
: nullable TKwdo = null
1101 readable var _n_expr
: nullable AExpr = null
1102 readable var _n_label
: nullable ALabel = null
1104 class ASimpleClosureId
1106 readable var _n_id
: TId
1108 class ABreakClosureId
1110 readable var _n_kwbreak
: TKwbreak
1114 readable var _n_quad
: nullable TQuad = null
1115 readable var _n_path
: List[TId] = new List[TId]
1116 readable var _n_id
: TId
1120 readable var _n_kwimport
: TKwimport
1121 readable var _n_extern_calls
: List[AExternCall] = new List[AExternCall]
1126 class ASuperExternCall
1128 readable var _n_kwsuper
: TKwsuper
1130 class ALocalPropExternCall
1132 readable var _n_methid
: AMethid
1134 class AFullPropExternCall
1136 readable var _n_classid
: TClassid
1137 readable var _n_quad
: nullable TQuad = null
1138 readable var _n_methid
: AMethid
1140 class AInitPropExternCall
1142 readable var _n_classid
: TClassid
1144 class ACastAsExternCall
1146 readable var _n_from_type
: AType
1147 readable var _n_kwas
: TKwas
1148 readable var _n_to_type
: AType
1150 class AAsNullableExternCall
1152 readable var _n_type
: AType
1153 readable var _n_kwas
: TKwas
1154 readable var _n_kwnullable
: TKwnullable
1156 class AAsNotNullableExternCall
1158 readable var _n_type
: AType
1159 readable var _n_kwas
: TKwas
1160 readable var _n_kwnot
: TKwnot
1161 readable var _n_kwnullable
: TKwnullable
1165 readable var _n_kwin
: TKwin
1166 readable var _n_string
: TString
1168 class AExternCodeBlock
1169 super AExternCodeBlock
1170 readable var _n_in_language
: nullable AInLanguage = null
1171 readable var _n_extern_code_segment
: TExternCodeSegment
1175 readable var _n_id
: List[TId] = new List[TId]
1176 readable var _n_classid
: nullable TClassid = null
1180 readable var _n_comment
: List[TComment] = new List[TComment]
1185 readable var _n_base
: nullable AModule
1186 readable var _n_eof
: EOF
1188 n_base
: nullable AModule,