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
342 class AAnnotations super Prod end
343 class AAnnotation super Prod end
344 class AAtArg super Prod end
345 class AAtid super Prod end
349 readable var _n_moduledecl
: nullable AModuledecl = null
350 readable var _n_imports
: List[AImport] = new List[AImport]
351 readable var _n_extern_code_blocks
: List[AExternCodeBlock] = new List[AExternCodeBlock]
352 readable var _n_classdefs
: List[AClassdef] = new List[AClassdef]
356 readable var _n_doc
: nullable ADoc = null
357 readable var _n_kwmodule
: TKwmodule
358 readable var _n_name
: AModuleName
359 readable var _n_annotations
: nullable AAnnotations = null
363 readable var _n_visibility
: AVisibility
364 readable var _n_kwimport
: TKwimport
365 readable var _n_name
: AModuleName
366 readable var _n_annotations
: nullable AAnnotations = null
370 readable var _n_visibility
: AVisibility
371 readable var _n_kwimport
: TKwimport
372 readable var _n_kwend
: TKwend
374 class APublicVisibility
377 class APrivateVisibility
379 readable var _n_kwprivate
: TKwprivate
381 class AProtectedVisibility
383 readable var _n_kwprotected
: TKwprotected
385 class AIntrudeVisibility
387 readable var _n_kwintrude
: TKwintrude
391 readable var _n_doc
: nullable ADoc = null
392 readable var _n_kwredef
: nullable TKwredef = null
393 readable var _n_visibility
: AVisibility
394 readable var _n_classkind
: AClasskind
395 readable var _n_id
: nullable TClassid = null
396 readable var _n_formaldefs
: List[AFormaldef] = new List[AFormaldef]
397 readable var _n_annotations
: nullable AAnnotations = null
398 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
399 readable var _n_superclasses
: List[ASuperclass] = new List[ASuperclass]
400 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
401 readable var _n_kwend
: TKwend
405 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
409 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
411 class AConcreteClasskind
413 readable var _n_kwclass
: TKwclass
415 class AAbstractClasskind
417 readable var _n_kwabstract
: TKwabstract
418 readable var _n_kwclass
: TKwclass
420 class AInterfaceClasskind
422 readable var _n_kwinterface
: TKwinterface
426 readable var _n_kwenum
: TKwenum
428 class AExternClasskind
430 readable var _n_kwextern
: TKwextern
431 readable var _n_kwclass
: nullable TKwclass = null
435 readable var _n_id
: TClassid
436 readable var _n_type
: nullable AType = null
437 readable var _n_annotations
: nullable AAnnotations = null
441 readable var _n_kwsuper
: TKwsuper
442 readable var _n_type
: AType
443 readable var _n_annotations
: nullable AAnnotations = null
447 readable var _n_doc
: nullable ADoc = null
448 readable var _n_readable
: nullable AAble = null
449 readable var _n_writable
: nullable AAble = null
450 readable var _n_kwredef
: nullable TKwredef = null
451 readable var _n_visibility
: AVisibility
452 readable var _n_kwvar
: TKwvar
453 readable var _n_id
: nullable TAttrid = null
454 readable var _n_id2
: nullable TId = null
455 readable var _n_type
: nullable AType = null
456 readable var _n_annotations
: nullable AAnnotations = null
457 readable var _n_expr
: nullable AExpr = null
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_methid
: AMethid
465 readable var _n_signature
: ASignature
467 class ADeferredMethPropdef
469 readable var _n_doc
: nullable ADoc = null
470 readable var _n_kwredef
: nullable TKwredef = null
471 readable var _n_visibility
: AVisibility
472 readable var _n_kwmeth
: TKwmeth
473 readable var _n_methid
: AMethid
474 readable var _n_signature
: ASignature
475 readable var _n_annotations
: nullable AAnnotations = null
477 class AInternMethPropdef
479 readable var _n_doc
: nullable ADoc = null
480 readable var _n_kwredef
: nullable TKwredef = null
481 readable var _n_visibility
: AVisibility
482 readable var _n_kwmeth
: TKwmeth
483 readable var _n_methid
: AMethid
484 readable var _n_signature
: ASignature
486 class AExternMethPropdef
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_kwmeth
: TKwmeth
492 readable var _n_methid
: AMethid
493 readable var _n_signature
: ASignature
494 readable var _n_extern
: nullable TString = null
495 readable var _n_extern_calls
: nullable AExternCalls = null
496 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
498 class AConcreteMethPropdef
500 readable var _n_doc
: nullable ADoc = null
501 readable var _n_kwredef
: nullable TKwredef = null
502 readable var _n_visibility
: AVisibility
503 readable var _n_kwmeth
: TKwmeth
504 readable var _n_methid
: AMethid
505 readable var _n_signature
: ASignature
506 readable var _n_annotations
: nullable AAnnotations = null
507 readable var _n_block
: nullable AExpr = null
509 class AConcreteInitPropdef
511 readable var _n_doc
: nullable ADoc = null
512 readable var _n_kwredef
: nullable TKwredef = null
513 readable var _n_visibility
: AVisibility
514 readable var _n_kwinit
: TKwinit
515 readable var _n_methid
: nullable AMethid = null
516 readable var _n_signature
: ASignature
517 readable var _n_annotations
: nullable AAnnotations = null
518 readable var _n_block
: nullable AExpr = null
520 class AExternInitPropdef
522 readable var _n_doc
: nullable ADoc = null
523 readable var _n_kwredef
: nullable TKwredef = null
524 readable var _n_visibility
: AVisibility
525 readable var _n_kwnew
: TKwnew
526 readable var _n_methid
: nullable AMethid = null
527 readable var _n_signature
: ASignature
528 readable var _n_extern
: nullable TString = null
529 readable var _n_extern_calls
: nullable AExternCalls = null
530 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
532 class AMainMethPropdef
534 readable var _n_kwredef
: nullable TKwredef = null
535 readable var _n_block
: nullable AExpr = null
539 readable var _n_doc
: nullable ADoc = null
540 readable var _n_kwredef
: nullable TKwredef = null
541 readable var _n_visibility
: AVisibility
542 readable var _n_kwtype
: TKwtype
543 readable var _n_id
: TClassid
544 readable var _n_type
: AType
545 readable var _n_annotations
: nullable AAnnotations = null
549 readable var _n_kwredef
: nullable TKwredef = null
550 readable var _n_kwreadable
: TKwreadable
554 readable var _n_kwredef
: nullable TKwredef = null
555 readable var _n_visibility
: nullable AVisibility = null
556 readable var _n_kwwritable
: TKwwritable
560 readable var _n_id
: TId
564 readable var _n_plus
: TPlus
568 readable var _n_minus
: TMinus
572 readable var _n_star
: TStar
576 readable var _n_slash
: TSlash
580 readable var _n_percent
: TPercent
584 readable var _n_eq
: TEq
588 readable var _n_ne
: TNe
592 readable var _n_le
: TLe
596 readable var _n_ge
: TGe
600 readable var _n_lt
: TLt
604 readable var _n_gt
: TGt
608 readable var _n_ll
: TLl
612 readable var _n_gg
: TGg
616 readable var _n_obra
: TObra
617 readable var _n_cbra
: TCbra
619 class AStarshipMethid
621 readable var _n_starship
: TStarship
625 readable var _n_id
: TId
626 readable var _n_assign
: TAssign
628 class ABraassignMethid
630 readable var _n_obra
: TObra
631 readable var _n_cbra
: TCbra
632 readable var _n_assign
: TAssign
636 readable var _n_opar
: nullable TOpar = null
637 readable var _n_params
: List[AParam] = new List[AParam]
638 readable var _n_cpar
: nullable TCpar = null
639 readable var _n_type
: nullable AType = null
640 readable var _n_closure_decls
: List[AClosureDecl] = new List[AClosureDecl]
644 readable var _n_id
: TId
645 readable var _n_type
: nullable AType = null
646 readable var _n_dotdotdot
: nullable TDotdotdot = null
647 readable var _n_annotations
: nullable AAnnotations = null
651 readable var _n_kwbreak
: nullable TKwbreak = null
652 readable var _n_bang
: TBang
653 readable var _n_id
: TId
654 readable var _n_signature
: ASignature
655 readable var _n_expr
: nullable AExpr = null
659 readable var _n_kwnullable
: nullable TKwnullable = null
660 readable var _n_id
: TClassid
661 readable var _n_types
: List[AType] = new List[AType]
662 readable var _n_annotations
: nullable AAnnotations = null
666 readable var _n_kwlabel
: TKwlabel
667 readable var _n_id
: TId
671 readable var _n_expr
: List[AExpr] = new List[AExpr]
672 readable var _n_kwend
: nullable TKwend = null
676 readable var _n_kwvar
: TKwvar
677 readable var _n_id
: TId
678 readable var _n_type
: nullable AType = null
679 readable var _n_assign
: nullable TAssign = null
680 readable var _n_expr
: nullable AExpr = null
681 readable var _n_annotations
: nullable AAnnotations = null
685 readable var _n_kwreturn
: nullable TKwreturn = null
686 readable var _n_expr
: nullable AExpr = null
690 readable var _n_kwbreak
: TKwbreak
691 readable var _n_label
: nullable ALabel = null
692 readable var _n_expr
: nullable AExpr = null
696 readable var _n_kwabort
: TKwabort
700 readable var _n_kwcontinue
: nullable TKwcontinue = null
701 readable var _n_label
: nullable ALabel = null
702 readable var _n_expr
: nullable AExpr = null
706 readable var _n_kwdo
: TKwdo
707 readable var _n_block
: nullable AExpr = null
708 readable var _n_label
: nullable ALabel = null
712 readable var _n_kwif
: TKwif
713 readable var _n_expr
: AExpr
714 readable var _n_then
: nullable AExpr = null
715 readable var _n_else
: nullable AExpr = null
719 readable var _n_kwif
: TKwif
720 readable var _n_expr
: AExpr
721 readable var _n_kwthen
: TKwthen
722 readable var _n_then
: AExpr
723 readable var _n_kwelse
: TKwelse
724 readable var _n_else
: AExpr
728 readable var _n_kwwhile
: TKwwhile
729 readable var _n_expr
: AExpr
730 readable var _n_kwdo
: TKwdo
731 readable var _n_block
: nullable AExpr = null
732 readable var _n_label
: nullable ALabel = null
736 readable var _n_kwloop
: TKwloop
737 readable var _n_block
: nullable AExpr = null
738 readable var _n_label
: nullable ALabel = null
742 readable var _n_kwfor
: TKwfor
743 readable var _n_ids
: List[TId] = new List[TId]
744 readable var _n_expr
: AExpr
745 readable var _n_kwdo
: TKwdo
746 readable var _n_block
: nullable AExpr = null
747 readable var _n_label
: nullable ALabel = null
751 readable var _n_kwassert
: TKwassert
752 readable var _n_id
: nullable TId = null
753 readable var _n_expr
: AExpr
754 readable var _n_else
: nullable AExpr = null
758 readable var _n_kwonce
: TKwonce
759 readable var _n_expr
: AExpr
763 readable var _n_expr
: AExpr
767 readable var _n_expr
: AExpr
768 readable var _n_expr2
: AExpr
772 readable var _n_expr
: AExpr
773 readable var _n_expr2
: AExpr
777 readable var _n_expr
: AExpr
778 readable var _n_expr2
: AExpr
782 readable var _n_expr
: AExpr
783 readable var _n_expr2
: AExpr
787 readable var _n_kwnot
: TKwnot
788 readable var _n_expr
: AExpr
792 readable var _n_expr
: AExpr
793 readable var _n_expr2
: AExpr
797 readable var _n_expr
: AExpr
798 readable var _n_expr2
: AExpr
802 readable var _n_expr
: AExpr
803 readable var _n_expr2
: AExpr
807 readable var _n_expr
: AExpr
808 readable var _n_expr2
: AExpr
812 readable var _n_expr
: AExpr
813 readable var _n_expr2
: AExpr
817 readable var _n_expr
: AExpr
818 readable var _n_expr2
: AExpr
822 readable var _n_expr
: AExpr
823 readable var _n_expr2
: AExpr
827 readable var _n_expr
: AExpr
828 readable var _n_expr2
: AExpr
832 readable var _n_expr
: AExpr
833 readable var _n_expr2
: AExpr
837 readable var _n_expr
: AExpr
838 readable var _n_type
: AType
842 readable var _n_expr
: AExpr
843 readable var _n_expr2
: AExpr
847 readable var _n_expr
: AExpr
848 readable var _n_expr2
: AExpr
852 readable var _n_expr
: AExpr
853 readable var _n_expr2
: AExpr
857 readable var _n_expr
: AExpr
858 readable var _n_expr2
: AExpr
862 readable var _n_expr
: AExpr
863 readable var _n_expr2
: AExpr
867 readable var _n_expr
: AExpr
868 readable var _n_expr2
: AExpr
872 readable var _n_minus
: TMinus
873 readable var _n_expr
: AExpr
877 readable var _n_kwnew
: TKwnew
878 readable var _n_type
: AType
879 readable var _n_id
: nullable TId = null
880 readable var _n_args
: AExprs
884 readable var _n_expr
: AExpr
885 readable var _n_id
: TAttrid
887 class AAttrAssignExpr
889 readable var _n_expr
: AExpr
890 readable var _n_id
: TAttrid
891 readable var _n_assign
: TAssign
892 readable var _n_value
: AExpr
894 class AAttrReassignExpr
896 readable var _n_expr
: AExpr
897 readable var _n_id
: TAttrid
898 readable var _n_assign_op
: AAssignOp
899 readable var _n_value
: AExpr
903 readable var _n_expr
: AExpr
904 readable var _n_id
: TId
905 readable var _n_args
: AExprs
906 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
908 class ACallAssignExpr
910 readable var _n_expr
: AExpr
911 readable var _n_id
: TId
912 readable var _n_args
: AExprs
913 readable var _n_assign
: TAssign
914 readable var _n_value
: AExpr
916 class ACallReassignExpr
918 readable var _n_expr
: AExpr
919 readable var _n_id
: TId
920 readable var _n_args
: AExprs
921 readable var _n_assign_op
: AAssignOp
922 readable var _n_value
: AExpr
926 readable var _n_qualified
: nullable AQualified = null
927 readable var _n_kwsuper
: TKwsuper
928 readable var _n_args
: AExprs
932 readable var _n_expr
: AExpr
933 readable var _n_kwinit
: TKwinit
934 readable var _n_args
: AExprs
938 readable var _n_expr
: AExpr
939 readable var _n_args
: AExprs
940 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
944 readable var _n_expr
: AExpr
945 readable var _n_args
: AExprs
946 readable var _n_assign
: TAssign
947 readable var _n_value
: AExpr
949 class ABraReassignExpr
951 readable var _n_expr
: AExpr
952 readable var _n_args
: AExprs
953 readable var _n_assign_op
: AAssignOp
954 readable var _n_value
: AExpr
956 class AClosureCallExpr
958 readable var _n_id
: TId
959 readable var _n_args
: AExprs
960 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
964 readable var _n_id
: TId
968 readable var _n_id
: TId
969 readable var _n_assign
: TAssign
970 readable var _n_value
: AExpr
972 class AVarReassignExpr
974 readable var _n_id
: TId
975 readable var _n_assign_op
: AAssignOp
976 readable var _n_value
: AExpr
980 readable var _n_expr
: AExpr
981 readable var _n_expr2
: AExpr
982 readable var _n_annotations
: nullable AAnnotations = null
986 readable var _n_obra
: TObra
987 readable var _n_expr
: AExpr
988 readable var _n_expr2
: AExpr
989 readable var _n_cbra
: TCbra
990 readable var _n_annotations
: nullable AAnnotations = null
994 readable var _n_obra
: TObra
995 readable var _n_expr
: AExpr
996 readable var _n_expr2
: AExpr
997 readable var _n_cbra
: TObra
998 readable var _n_annotations
: nullable AAnnotations = null
1002 readable var _n_exprs
: AExprs
1003 readable var _n_annotations
: nullable AAnnotations = null
1007 readable var _n_kwself
: TKwself
1008 readable var _n_annotations
: nullable AAnnotations = null
1010 class AImplicitSelfExpr
1015 readable var _n_kwtrue
: TKwtrue
1016 readable var _n_annotations
: nullable AAnnotations = null
1020 readable var _n_kwfalse
: TKwfalse
1021 readable var _n_annotations
: nullable AAnnotations = null
1025 readable var _n_kwnull
: TKwnull
1026 readable var _n_annotations
: nullable AAnnotations = null
1030 readable var _n_number
: TNumber
1031 readable var _n_annotations
: nullable AAnnotations = null
1035 readable var _n_float
: TFloat
1036 readable var _n_annotations
: nullable AAnnotations = null
1040 readable var _n_char
: TChar
1041 readable var _n_annotations
: nullable AAnnotations = null
1045 readable var _n_string
: TString
1046 readable var _n_annotations
: nullable AAnnotations = null
1048 class AStartStringExpr
1050 readable var _n_string
: TStartString
1052 class AMidStringExpr
1054 readable var _n_string
: TMidString
1056 class AEndStringExpr
1058 readable var _n_string
: TEndString
1060 class ASuperstringExpr
1062 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1063 readable var _n_annotations
: nullable AAnnotations = null
1067 readable var _n_opar
: TOpar
1068 readable var _n_expr
: AExpr
1069 readable var _n_cpar
: TCpar
1070 readable var _n_annotations
: nullable AAnnotations = null
1074 readable var _n_expr
: AExpr
1075 readable var _n_kwas
: TKwas
1076 readable var _n_opar
: TOpar
1077 readable var _n_type
: AType
1078 readable var _n_cpar
: TCpar
1080 class AAsNotnullExpr
1082 readable var _n_expr
: AExpr
1083 readable var _n_kwas
: TKwas
1084 readable var _n_opar
: TOpar
1085 readable var _n_kwnot
: TKwnot
1086 readable var _n_kwnull
: TKwnull
1087 readable var _n_cpar
: TCpar
1089 class AIssetAttrExpr
1091 readable var _n_kwisset
: TKwisset
1092 readable var _n_expr
: AExpr
1093 readable var _n_id
: TAttrid
1095 class ADebugTypeExpr
1097 readable var _n_kwdebug
: TKwdebug
1098 readable var _n_kwtype
: TKwtype
1099 readable var _n_expr
: AExpr
1100 readable var _n_type
: AType
1104 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1108 readable var _n_opar
: TOpar
1109 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1110 readable var _n_cpar
: TCpar
1114 readable var _n_obra
: TObra
1115 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1116 readable var _n_cbra
: TCbra
1120 readable var _n_pluseq
: TPluseq
1122 class AMinusAssignOp
1124 readable var _n_minuseq
: TMinuseq
1128 readable var _n_bang
: TBang
1129 readable var _n_id
: AClosureId
1130 readable var _n_ids
: List[TId] = new List[TId]
1131 readable var _n_kwdo
: nullable TKwdo = null
1132 readable var _n_expr
: nullable AExpr = null
1133 readable var _n_label
: nullable ALabel = null
1135 class ASimpleClosureId
1137 readable var _n_id
: TId
1139 class ABreakClosureId
1141 readable var _n_kwbreak
: TKwbreak
1145 readable var _n_quad
: nullable TQuad = null
1146 readable var _n_path
: List[TId] = new List[TId]
1147 readable var _n_id
: TId
1151 readable var _n_kwimport
: TKwimport
1152 readable var _n_extern_calls
: List[AExternCall] = new List[AExternCall]
1157 class ASuperExternCall
1159 readable var _n_kwsuper
: TKwsuper
1161 class ALocalPropExternCall
1163 readable var _n_methid
: AMethid
1165 class AFullPropExternCall
1167 readable var _n_classid
: TClassid
1168 readable var _n_quad
: nullable TQuad = null
1169 readable var _n_methid
: AMethid
1171 class AInitPropExternCall
1173 readable var _n_classid
: TClassid
1175 class ACastAsExternCall
1177 readable var _n_from_type
: AType
1178 readable var _n_kwas
: TKwas
1179 readable var _n_to_type
: AType
1181 class AAsNullableExternCall
1183 readable var _n_type
: AType
1184 readable var _n_kwas
: TKwas
1185 readable var _n_kwnullable
: TKwnullable
1187 class AAsNotNullableExternCall
1189 readable var _n_type
: AType
1190 readable var _n_kwas
: TKwas
1191 readable var _n_kwnot
: TKwnot
1192 readable var _n_kwnullable
: TKwnullable
1196 readable var _n_kwin
: TKwin
1197 readable var _n_string
: TString
1199 class AExternCodeBlock
1200 super AExternCodeBlock
1201 readable var _n_in_language
: nullable AInLanguage = null
1202 readable var _n_extern_code_segment
: TExternCodeSegment
1206 readable var _n_id
: List[TId] = new List[TId]
1207 readable var _n_classid
: nullable TClassid = null
1211 readable var _n_comment
: List[TComment] = new List[TComment]
1215 readable var _n_at
: nullable TAt = null
1216 readable var _n_opar
: nullable TOpar = null
1217 readable var _n_items
: List[AAnnotation] = new List[AAnnotation]
1218 readable var _n_cpar
: nullable TCpar = null
1222 readable var _n_atid
: AAtid
1223 readable var _n_opar
: nullable TOpar = null
1224 readable var _n_args
: List[AAtArg] = new List[AAtArg]
1225 readable var _n_cpar
: nullable TCpar = null
1226 readable var _n_annotations
: nullable AAnnotations = null
1230 readable var _n_type
: AType
1234 readable var _n_expr
: AExpr
1238 readable var _n_annotations
: AAnnotations
1242 readable var _n_id
: TId
1246 readable var _n_id
: TKwextern
1250 readable var _n_id
: TKwintern
1252 class AKwreadableAtid
1254 readable var _n_id
: TKwreadable
1256 class AKwwritableAtid
1258 readable var _n_id
: TKwwritable
1262 readable var _n_id
: TKwimport
1267 readable var _n_base
: nullable AModule
1268 readable var _n_eof
: EOF
1270 n_base
: nullable AModule,