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
318 class AModule super Prod end
319 class AModuledecl super Prod end
320 class AImport super Prod end
321 class AVisibility super Prod end
322 class AClassdef super Prod end
323 class AClasskind super Prod end
324 class AFormaldef super Prod end
325 class ASuperclass super Prod end
326 class APropdef super Prod end
327 class AAble super Prod end
328 class AMethid super Prod end
329 class ASignature super Prod end
330 class AParam super Prod end
331 class AClosureDecl super Prod end
332 class AType super Prod end
333 class ALabel super Prod end
334 class AExpr super Prod end
335 class AExprs super Prod end
336 class AAssignOp super Prod end
337 class AClosureDef super Prod end
338 class AClosureId super Prod end
339 class AModuleName super Prod end
340 class AExternCalls super Prod end
341 class AExternCall super Prod end
342 class AInLanguage super Prod end
343 class AExternCodeBlock super Prod end
344 class AQualified super Prod end
345 class ADoc super Prod end
346 class AAnnotations super Prod end
347 class AAnnotation super Prod end
348 class AAtArg super Prod end
349 class AAtid super Prod end
353 readable var _n_moduledecl
: nullable AModuledecl = null
354 readable var _n_imports
: List[AImport] = new List[AImport]
355 readable var _n_extern_code_blocks
: List[AExternCodeBlock] = new List[AExternCodeBlock]
356 readable var _n_classdefs
: List[AClassdef] = new List[AClassdef]
360 readable var _n_doc
: nullable ADoc = null
361 readable var _n_kwmodule
: TKwmodule
362 readable var _n_name
: AModuleName
363 readable var _n_annotations
: nullable AAnnotations = null
367 readable var _n_visibility
: AVisibility
368 readable var _n_kwimport
: TKwimport
369 readable var _n_name
: AModuleName
370 readable var _n_annotations
: nullable AAnnotations = null
374 readable var _n_visibility
: AVisibility
375 readable var _n_kwimport
: TKwimport
376 readable var _n_kwend
: TKwend
378 class APublicVisibility
381 class APrivateVisibility
383 readable var _n_kwprivate
: TKwprivate
385 class AProtectedVisibility
387 readable var _n_kwprotected
: TKwprotected
389 class AIntrudeVisibility
391 readable var _n_kwintrude
: TKwintrude
395 readable var _n_doc
: nullable ADoc = null
396 readable var _n_kwredef
: nullable TKwredef = null
397 readable var _n_visibility
: AVisibility
398 readable var _n_classkind
: AClasskind
399 readable var _n_id
: nullable TClassid = null
400 readable var _n_formaldefs
: List[AFormaldef] = new List[AFormaldef]
401 readable var _n_annotations
: nullable AAnnotations = null
402 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
403 readable var _n_superclasses
: List[ASuperclass] = new List[ASuperclass]
404 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
405 readable var _n_kwend
: TKwend
409 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
413 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
415 class AConcreteClasskind
417 readable var _n_kwclass
: TKwclass
419 class AAbstractClasskind
421 readable var _n_kwabstract
: TKwabstract
422 readable var _n_kwclass
: TKwclass
424 class AInterfaceClasskind
426 readable var _n_kwinterface
: TKwinterface
430 readable var _n_kwenum
: TKwenum
432 class AExternClasskind
434 readable var _n_kwextern
: TKwextern
435 readable var _n_kwclass
: nullable TKwclass = null
439 readable var _n_id
: TClassid
440 readable var _n_type
: nullable AType = null
441 readable var _n_annotations
: nullable AAnnotations = null
445 readable var _n_kwsuper
: TKwsuper
446 readable var _n_type
: AType
447 readable var _n_annotations
: nullable AAnnotations = null
451 readable var _n_doc
: nullable ADoc = null
452 readable var _n_readable
: nullable AAble = null
453 readable var _n_writable
: nullable AAble = null
454 readable var _n_kwredef
: nullable TKwredef = null
455 readable var _n_visibility
: AVisibility
456 readable var _n_kwvar
: TKwvar
457 readable var _n_id
: nullable TAttrid = null
458 readable var _n_id2
: nullable TId = null
459 readable var _n_type
: nullable AType = null
460 readable var _n_annotations
: nullable AAnnotations = null
461 readable var _n_expr
: nullable AExpr = null
465 readable var _n_doc
: nullable ADoc = null
466 readable var _n_kwredef
: nullable TKwredef = null
467 readable var _n_visibility
: AVisibility
468 readable var _n_methid
: AMethid
469 readable var _n_signature
: ASignature
471 class ADeferredMethPropdef
473 readable var _n_doc
: nullable ADoc = null
474 readable var _n_kwredef
: nullable TKwredef = null
475 readable var _n_visibility
: AVisibility
476 readable var _n_kwmeth
: TKwmeth
477 readable var _n_methid
: AMethid
478 readable var _n_signature
: ASignature
479 readable var _n_annotations
: nullable AAnnotations = null
481 class AInternMethPropdef
483 readable var _n_doc
: nullable ADoc = null
484 readable var _n_kwredef
: nullable TKwredef = null
485 readable var _n_visibility
: AVisibility
486 readable var _n_kwmeth
: TKwmeth
487 readable var _n_methid
: AMethid
488 readable var _n_signature
: ASignature
490 class AExternMethPropdef
492 readable var _n_doc
: nullable ADoc = null
493 readable var _n_kwredef
: nullable TKwredef = null
494 readable var _n_visibility
: AVisibility
495 readable var _n_kwmeth
: TKwmeth
496 readable var _n_methid
: AMethid
497 readable var _n_signature
: ASignature
498 readable var _n_extern
: nullable TString = null
499 readable var _n_extern_calls
: nullable AExternCalls = null
500 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
502 class AConcreteMethPropdef
504 readable var _n_doc
: nullable ADoc = null
505 readable var _n_kwredef
: nullable TKwredef = null
506 readable var _n_visibility
: AVisibility
507 readable var _n_kwmeth
: TKwmeth
508 readable var _n_methid
: AMethid
509 readable var _n_signature
: ASignature
510 readable var _n_annotations
: nullable AAnnotations = null
511 readable var _n_block
: nullable AExpr = null
513 class AConcreteInitPropdef
515 readable var _n_doc
: nullable ADoc = null
516 readable var _n_kwredef
: nullable TKwredef = null
517 readable var _n_visibility
: AVisibility
518 readable var _n_kwinit
: TKwinit
519 readable var _n_methid
: nullable AMethid = null
520 readable var _n_signature
: ASignature
521 readable var _n_annotations
: nullable AAnnotations = null
522 readable var _n_block
: nullable AExpr = null
524 class AExternInitPropdef
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_kwnew
: TKwnew
530 readable var _n_methid
: nullable AMethid = null
531 readable var _n_signature
: ASignature
532 readable var _n_extern
: nullable TString = null
533 readable var _n_extern_calls
: nullable AExternCalls = null
534 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
536 class AMainMethPropdef
538 readable var _n_kwredef
: nullable TKwredef = null
539 readable var _n_block
: nullable AExpr = null
543 readable var _n_doc
: nullable ADoc = null
544 readable var _n_kwredef
: nullable TKwredef = null
545 readable var _n_visibility
: AVisibility
546 readable var _n_kwtype
: TKwtype
547 readable var _n_id
: TClassid
548 readable var _n_type
: AType
549 readable var _n_annotations
: nullable AAnnotations = null
553 readable var _n_kwredef
: nullable TKwredef = null
554 readable var _n_kwreadable
: TKwreadable
558 readable var _n_kwredef
: nullable TKwredef = null
559 readable var _n_visibility
: nullable AVisibility = null
560 readable var _n_kwwritable
: TKwwritable
564 readable var _n_id
: TId
568 readable var _n_plus
: TPlus
572 readable var _n_minus
: TMinus
576 readable var _n_star
: TStar
580 readable var _n_slash
: TSlash
584 readable var _n_percent
: TPercent
588 readable var _n_eq
: TEq
592 readable var _n_ne
: TNe
596 readable var _n_le
: TLe
600 readable var _n_ge
: TGe
604 readable var _n_lt
: TLt
608 readable var _n_gt
: TGt
612 readable var _n_ll
: TLl
616 readable var _n_gg
: TGg
620 readable var _n_obra
: TObra
621 readable var _n_cbra
: TCbra
623 class AStarshipMethid
625 readable var _n_starship
: TStarship
629 readable var _n_id
: TId
630 readable var _n_assign
: TAssign
632 class ABraassignMethid
634 readable var _n_obra
: TObra
635 readable var _n_cbra
: TCbra
636 readable var _n_assign
: TAssign
640 readable var _n_opar
: nullable TOpar = null
641 readable var _n_params
: List[AParam] = new List[AParam]
642 readable var _n_cpar
: nullable TCpar = null
643 readable var _n_type
: nullable AType = null
644 readable var _n_closure_decls
: List[AClosureDecl] = new List[AClosureDecl]
648 readable var _n_id
: TId
649 readable var _n_type
: nullable AType = null
650 readable var _n_dotdotdot
: nullable TDotdotdot = null
651 readable var _n_annotations
: nullable AAnnotations = null
655 readable var _n_kwbreak
: nullable TKwbreak = null
656 readable var _n_bang
: TBang
657 readable var _n_id
: TId
658 readable var _n_signature
: ASignature
659 readable var _n_expr
: nullable AExpr = null
663 readable var _n_kwnullable
: nullable TKwnullable = null
664 readable var _n_id
: TClassid
665 readable var _n_types
: List[AType] = new List[AType]
666 readable var _n_annotations
: nullable AAnnotations = null
670 readable var _n_kwlabel
: TKwlabel
671 readable var _n_id
: TId
675 readable var _n_expr
: List[AExpr] = new List[AExpr]
676 readable var _n_kwend
: nullable TKwend = null
680 readable var _n_kwvar
: TKwvar
681 readable var _n_id
: TId
682 readable var _n_type
: nullable AType = null
683 readable var _n_assign
: nullable TAssign = null
684 readable var _n_expr
: nullable AExpr = null
685 readable var _n_annotations
: nullable AAnnotations = null
689 readable var _n_kwreturn
: nullable TKwreturn = null
690 readable var _n_expr
: nullable AExpr = null
694 readable var _n_kwbreak
: TKwbreak
695 readable var _n_label
: nullable ALabel = null
696 readable var _n_expr
: nullable AExpr = null
700 readable var _n_kwabort
: TKwabort
704 readable var _n_kwcontinue
: nullable TKwcontinue = null
705 readable var _n_label
: nullable ALabel = null
706 readable var _n_expr
: nullable AExpr = null
710 readable var _n_kwdo
: TKwdo
711 readable var _n_block
: nullable AExpr = null
712 readable var _n_label
: nullable ALabel = null
716 readable var _n_kwif
: TKwif
717 readable var _n_expr
: AExpr
718 readable var _n_then
: nullable AExpr = null
719 readable var _n_else
: nullable AExpr = null
723 readable var _n_kwif
: TKwif
724 readable var _n_expr
: AExpr
725 readable var _n_kwthen
: TKwthen
726 readable var _n_then
: AExpr
727 readable var _n_kwelse
: TKwelse
728 readable var _n_else
: AExpr
732 readable var _n_kwwhile
: TKwwhile
733 readable var _n_expr
: AExpr
734 readable var _n_kwdo
: TKwdo
735 readable var _n_block
: nullable AExpr = null
736 readable var _n_label
: nullable ALabel = null
740 readable var _n_kwloop
: TKwloop
741 readable var _n_block
: nullable AExpr = null
742 readable var _n_label
: nullable ALabel = null
746 readable var _n_kwfor
: TKwfor
747 readable var _n_ids
: List[TId] = new List[TId]
748 readable var _n_expr
: AExpr
749 readable var _n_kwdo
: TKwdo
750 readable var _n_block
: nullable AExpr = null
751 readable var _n_label
: nullable ALabel = null
755 readable var _n_kwassert
: TKwassert
756 readable var _n_id
: nullable TId = null
757 readable var _n_expr
: AExpr
758 readable var _n_else
: nullable AExpr = null
762 readable var _n_kwonce
: TKwonce
763 readable var _n_expr
: AExpr
767 readable var _n_expr
: 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_kwnot
: TKwnot
792 readable var _n_expr
: 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_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_expr
: AExpr
842 readable var _n_type
: AType
846 readable var _n_expr
: AExpr
847 readable var _n_expr2
: AExpr
851 readable var _n_expr
: AExpr
852 readable var _n_expr2
: AExpr
856 readable var _n_expr
: AExpr
857 readable var _n_expr2
: AExpr
861 readable var _n_expr
: AExpr
862 readable var _n_expr2
: AExpr
866 readable var _n_expr
: AExpr
867 readable var _n_expr2
: AExpr
871 readable var _n_expr
: AExpr
872 readable var _n_expr2
: AExpr
876 readable var _n_minus
: TMinus
877 readable var _n_expr
: AExpr
881 readable var _n_kwnew
: TKwnew
882 readable var _n_type
: AType
883 readable var _n_id
: nullable TId = null
884 readable var _n_args
: AExprs
888 readable var _n_expr
: AExpr
889 readable var _n_id
: TAttrid
891 class AAttrAssignExpr
893 readable var _n_expr
: AExpr
894 readable var _n_id
: TAttrid
895 readable var _n_assign
: TAssign
896 readable var _n_value
: AExpr
898 class AAttrReassignExpr
900 readable var _n_expr
: AExpr
901 readable var _n_id
: TAttrid
902 readable var _n_assign_op
: AAssignOp
903 readable var _n_value
: AExpr
907 readable var _n_expr
: AExpr
908 readable var _n_id
: TId
909 readable var _n_args
: AExprs
910 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
912 class ACallAssignExpr
914 readable var _n_expr
: AExpr
915 readable var _n_id
: TId
916 readable var _n_args
: AExprs
917 readable var _n_assign
: TAssign
918 readable var _n_value
: AExpr
920 class ACallReassignExpr
922 readable var _n_expr
: AExpr
923 readable var _n_id
: TId
924 readable var _n_args
: AExprs
925 readable var _n_assign_op
: AAssignOp
926 readable var _n_value
: AExpr
930 readable var _n_qualified
: nullable AQualified = null
931 readable var _n_kwsuper
: TKwsuper
932 readable var _n_args
: AExprs
936 readable var _n_expr
: AExpr
937 readable var _n_kwinit
: TKwinit
938 readable var _n_args
: AExprs
942 readable var _n_expr
: AExpr
943 readable var _n_args
: AExprs
944 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
948 readable var _n_expr
: AExpr
949 readable var _n_args
: AExprs
950 readable var _n_assign
: TAssign
951 readable var _n_value
: AExpr
953 class ABraReassignExpr
955 readable var _n_expr
: AExpr
956 readable var _n_args
: AExprs
957 readable var _n_assign_op
: AAssignOp
958 readable var _n_value
: AExpr
960 class AClosureCallExpr
962 readable var _n_id
: TId
963 readable var _n_args
: AExprs
964 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
968 readable var _n_id
: TId
972 readable var _n_id
: TId
973 readable var _n_assign
: TAssign
974 readable var _n_value
: AExpr
976 class AVarReassignExpr
978 readable var _n_id
: TId
979 readable var _n_assign_op
: AAssignOp
980 readable var _n_value
: AExpr
984 readable var _n_expr
: AExpr
985 readable var _n_expr2
: AExpr
986 readable var _n_annotations
: nullable AAnnotations = null
990 readable var _n_obra
: TObra
991 readable var _n_expr
: AExpr
992 readable var _n_expr2
: AExpr
993 readable var _n_cbra
: TCbra
994 readable var _n_annotations
: nullable AAnnotations = null
998 readable var _n_obra
: TObra
999 readable var _n_expr
: AExpr
1000 readable var _n_expr2
: AExpr
1001 readable var _n_cbra
: TObra
1002 readable var _n_annotations
: nullable AAnnotations = null
1006 readable var _n_exprs
: AExprs
1007 readable var _n_annotations
: nullable AAnnotations = null
1011 readable var _n_kwself
: TKwself
1012 readable var _n_annotations
: nullable AAnnotations = null
1014 class AImplicitSelfExpr
1019 readable var _n_kwtrue
: TKwtrue
1020 readable var _n_annotations
: nullable AAnnotations = null
1024 readable var _n_kwfalse
: TKwfalse
1025 readable var _n_annotations
: nullable AAnnotations = null
1029 readable var _n_kwnull
: TKwnull
1030 readable var _n_annotations
: nullable AAnnotations = null
1034 readable var _n_number
: TNumber
1035 readable var _n_annotations
: nullable AAnnotations = null
1039 readable var _n_float
: TFloat
1040 readable var _n_annotations
: nullable AAnnotations = null
1044 readable var _n_char
: TChar
1045 readable var _n_annotations
: nullable AAnnotations = null
1049 readable var _n_string
: TString
1050 readable var _n_annotations
: nullable AAnnotations = null
1052 class AStartStringExpr
1054 readable var _n_string
: TStartString
1056 class AMidStringExpr
1058 readable var _n_string
: TMidString
1060 class AEndStringExpr
1062 readable var _n_string
: TEndString
1064 class ASuperstringExpr
1066 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1067 readable var _n_annotations
: nullable AAnnotations = null
1071 readable var _n_opar
: TOpar
1072 readable var _n_expr
: AExpr
1073 readable var _n_cpar
: TCpar
1074 readable var _n_annotations
: nullable AAnnotations = null
1078 readable var _n_expr
: AExpr
1079 readable var _n_kwas
: TKwas
1080 readable var _n_opar
: TOpar
1081 readable var _n_type
: AType
1082 readable var _n_cpar
: TCpar
1084 class AAsNotnullExpr
1086 readable var _n_expr
: AExpr
1087 readable var _n_kwas
: TKwas
1088 readable var _n_opar
: TOpar
1089 readable var _n_kwnot
: TKwnot
1090 readable var _n_kwnull
: TKwnull
1091 readable var _n_cpar
: TCpar
1093 class AIssetAttrExpr
1095 readable var _n_kwisset
: TKwisset
1096 readable var _n_expr
: AExpr
1097 readable var _n_id
: TAttrid
1099 class ADebugTypeExpr
1101 readable var _n_kwdebug
: TKwdebug
1102 readable var _n_kwtype
: TKwtype
1103 readable var _n_expr
: AExpr
1104 readable var _n_type
: AType
1108 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1112 readable var _n_opar
: TOpar
1113 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1114 readable var _n_cpar
: TCpar
1118 readable var _n_obra
: TObra
1119 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1120 readable var _n_cbra
: TCbra
1124 readable var _n_pluseq
: TPluseq
1126 class AMinusAssignOp
1128 readable var _n_minuseq
: TMinuseq
1132 readable var _n_bang
: TBang
1133 readable var _n_id
: AClosureId
1134 readable var _n_ids
: List[TId] = new List[TId]
1135 readable var _n_kwdo
: nullable TKwdo = null
1136 readable var _n_expr
: nullable AExpr = null
1137 readable var _n_label
: nullable ALabel = null
1139 class ASimpleClosureId
1141 readable var _n_id
: TId
1143 class ABreakClosureId
1145 readable var _n_kwbreak
: TKwbreak
1149 readable var _n_quad
: nullable TQuad = null
1150 readable var _n_path
: List[TId] = new List[TId]
1151 readable var _n_id
: TId
1155 readable var _n_kwimport
: TKwimport
1156 readable var _n_extern_calls
: List[AExternCall] = new List[AExternCall]
1161 class ASuperExternCall
1163 readable var _n_kwsuper
: TKwsuper
1165 class ALocalPropExternCall
1167 readable var _n_methid
: AMethid
1169 class AFullPropExternCall
1171 readable var _n_classid
: TClassid
1172 readable var _n_quad
: nullable TQuad = null
1173 readable var _n_methid
: AMethid
1175 class AInitPropExternCall
1177 readable var _n_classid
: TClassid
1179 class ACastAsExternCall
1181 readable var _n_from_type
: AType
1182 readable var _n_kwas
: TKwas
1183 readable var _n_to_type
: AType
1185 class AAsNullableExternCall
1187 readable var _n_type
: AType
1188 readable var _n_kwas
: TKwas
1189 readable var _n_kwnullable
: TKwnullable
1191 class AAsNotNullableExternCall
1193 readable var _n_type
: AType
1194 readable var _n_kwas
: TKwas
1195 readable var _n_kwnot
: TKwnot
1196 readable var _n_kwnullable
: TKwnullable
1200 readable var _n_kwin
: TKwin
1201 readable var _n_string
: TString
1203 class AExternCodeBlock
1204 super AExternCodeBlock
1205 readable var _n_in_language
: nullable AInLanguage = null
1206 readable var _n_extern_code_segment
: TExternCodeSegment
1210 readable var _n_id
: List[TId] = new List[TId]
1211 readable var _n_classid
: nullable TClassid = null
1215 readable var _n_comment
: List[TComment] = new List[TComment]
1219 readable var _n_at
: nullable TAt = null
1220 readable var _n_opar
: nullable TOpar = null
1221 readable var _n_items
: List[AAnnotation] = new List[AAnnotation]
1222 readable var _n_cpar
: nullable TCpar = null
1226 readable var _n_atid
: AAtid
1227 readable var _n_opar
: nullable TOpar = null
1228 readable var _n_args
: List[AAtArg] = new List[AAtArg]
1229 readable var _n_cpar
: nullable TCpar = null
1230 readable var _n_annotations
: nullable AAnnotations = null
1234 readable var _n_type
: AType
1238 readable var _n_expr
: AExpr
1242 readable var _n_annotations
: AAnnotations
1246 readable var _n_id
: TId
1250 readable var _n_id
: TKwextern
1254 readable var _n_id
: TKwintern
1256 class AKwreadableAtid
1258 readable var _n_id
: TKwreadable
1260 class AKwwritableAtid
1262 readable var _n_id
: TKwwritable
1266 readable var _n_id
: TKwimport
1271 readable var _n_base
: nullable AModule
1272 readable var _n_eof
: EOF
1274 n_base
: nullable AModule,