1 # Raw AST node hierarchy.
2 # This file was generated by SableCC (http://www.sablecc.org/).
289 class TExternCodeSegment
305 class AModule super Prod end
306 class AModuledecl super Prod end
307 class AImport super Prod end
308 class AVisibility super Prod end
309 class AClassdef super Prod end
310 class AClasskind super Prod end
311 class AFormaldef super Prod end
312 class ASuperclass super Prod end
313 class APropdef super Prod end
314 class AAble super Prod end
315 class AMethid super Prod end
316 class ASignature super Prod end
317 class AParam super Prod end
318 class AClosureDecl super Prod end
319 class AType super Prod end
320 class ALabel super Prod end
321 class AExpr super Prod end
322 class AExprs super Prod end
323 class AAssignOp super Prod end
324 class AClosureDef super Prod end
325 class AClosureId super Prod end
326 class AModuleName super Prod end
327 class AExternCalls super Prod end
328 class AExternCall super Prod end
329 class AInLanguage super Prod end
330 class AExternCodeBlock super Prod end
331 class AQualified super Prod end
332 class ADoc super Prod end
333 class AAnnotations super Prod end
334 class AAnnotation super Prod end
335 class AAtArg super Prod end
336 class AAtid super Prod end
340 readable var _n_moduledecl
: nullable AModuledecl = null
341 readable var _n_imports
: List[AImport] = new List[AImport]
342 readable var _n_extern_code_blocks
: List[AExternCodeBlock] = new List[AExternCodeBlock]
343 readable var _n_classdefs
: List[AClassdef] = new List[AClassdef]
347 readable var _n_doc
: nullable ADoc = null
348 readable var _n_kwmodule
: TKwmodule
349 readable var _n_name
: AModuleName
350 readable var _n_annotations
: nullable AAnnotations = null
354 readable var _n_visibility
: AVisibility
355 readable var _n_kwimport
: TKwimport
356 readable var _n_name
: AModuleName
357 readable var _n_annotations
: nullable AAnnotations = null
361 readable var _n_visibility
: AVisibility
362 readable var _n_kwimport
: TKwimport
363 readable var _n_kwend
: TKwend
365 class APublicVisibility
368 class APrivateVisibility
370 readable var _n_kwprivate
: TKwprivate
372 class AProtectedVisibility
374 readable var _n_kwprotected
: TKwprotected
376 class AIntrudeVisibility
378 readable var _n_kwintrude
: TKwintrude
382 readable var _n_doc
: nullable ADoc = null
383 readable var _n_kwredef
: nullable TKwredef = null
384 readable var _n_visibility
: AVisibility
385 readable var _n_classkind
: AClasskind
386 readable var _n_id
: nullable TClassid = null
387 readable var _n_formaldefs
: List[AFormaldef] = new List[AFormaldef]
388 readable var _n_annotations
: nullable AAnnotations = null
389 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
390 readable var _n_superclasses
: List[ASuperclass] = new List[ASuperclass]
391 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
392 readable var _n_kwend
: TKwend
396 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
400 readable var _n_propdefs
: List[APropdef] = new List[APropdef]
402 class AConcreteClasskind
404 readable var _n_kwclass
: TKwclass
406 class AAbstractClasskind
408 readable var _n_kwabstract
: TKwabstract
409 readable var _n_kwclass
: TKwclass
411 class AInterfaceClasskind
413 readable var _n_kwinterface
: TKwinterface
417 readable var _n_kwenum
: TKwenum
419 class AExternClasskind
421 readable var _n_kwextern
: TKwextern
422 readable var _n_kwclass
: nullable TKwclass = null
426 readable var _n_id
: TClassid
427 readable var _n_type
: nullable AType = null
428 readable var _n_annotations
: nullable AAnnotations = null
432 readable var _n_kwsuper
: TKwsuper
433 readable var _n_type
: AType
434 readable var _n_annotations
: nullable AAnnotations = null
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_annotations
: nullable AAnnotations = null
448 readable var _n_expr
: nullable AExpr = null
452 readable var _n_doc
: nullable ADoc = null
453 readable var _n_kwredef
: nullable TKwredef = null
454 readable var _n_visibility
: AVisibility
455 readable var _n_methid
: AMethid
456 readable var _n_signature
: ASignature
458 class ADeferredMethPropdef
460 readable var _n_doc
: nullable ADoc = null
461 readable var _n_kwredef
: nullable TKwredef = null
462 readable var _n_visibility
: AVisibility
463 readable var _n_kwmeth
: TKwmeth
464 readable var _n_methid
: AMethid
465 readable var _n_signature
: ASignature
466 readable var _n_annotations
: nullable AAnnotations = null
468 class AInternMethPropdef
470 readable var _n_doc
: nullable ADoc = null
471 readable var _n_kwredef
: nullable TKwredef = null
472 readable var _n_visibility
: AVisibility
473 readable var _n_kwmeth
: TKwmeth
474 readable var _n_methid
: AMethid
475 readable var _n_signature
: ASignature
477 class AExternMethPropdef
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
485 readable var _n_extern
: nullable TString = null
486 readable var _n_extern_calls
: nullable AExternCalls = null
487 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
489 class AConcreteMethPropdef
491 readable var _n_doc
: nullable ADoc = null
492 readable var _n_kwredef
: nullable TKwredef = null
493 readable var _n_visibility
: AVisibility
494 readable var _n_kwmeth
: TKwmeth
495 readable var _n_methid
: AMethid
496 readable var _n_signature
: ASignature
497 readable var _n_annotations
: nullable AAnnotations = null
498 readable var _n_block
: nullable AExpr = null
500 class AConcreteInitPropdef
502 readable var _n_doc
: nullable ADoc = null
503 readable var _n_kwredef
: nullable TKwredef = null
504 readable var _n_visibility
: AVisibility
505 readable var _n_kwinit
: TKwinit
506 readable var _n_methid
: nullable AMethid = null
507 readable var _n_signature
: ASignature
508 readable var _n_annotations
: nullable AAnnotations = null
509 readable var _n_block
: nullable AExpr = null
511 class AExternInitPropdef
513 readable var _n_doc
: nullable ADoc = null
514 readable var _n_kwredef
: nullable TKwredef = null
515 readable var _n_visibility
: AVisibility
516 readable var _n_kwnew
: TKwnew
517 readable var _n_methid
: nullable AMethid = null
518 readable var _n_signature
: ASignature
519 readable var _n_extern
: nullable TString = null
520 readable var _n_extern_calls
: nullable AExternCalls = null
521 readable var _n_extern_code_block
: nullable AExternCodeBlock = null
523 class AMainMethPropdef
525 readable var _n_kwredef
: nullable TKwredef = null
526 readable var _n_block
: nullable AExpr = null
530 readable var _n_doc
: nullable ADoc = null
531 readable var _n_kwredef
: nullable TKwredef = null
532 readable var _n_visibility
: AVisibility
533 readable var _n_kwtype
: TKwtype
534 readable var _n_id
: TClassid
535 readable var _n_type
: AType
536 readable var _n_annotations
: nullable AAnnotations = null
540 readable var _n_kwredef
: nullable TKwredef = null
541 readable var _n_kwreadable
: TKwreadable
545 readable var _n_kwredef
: nullable TKwredef = null
546 readable var _n_visibility
: nullable AVisibility = null
547 readable var _n_kwwritable
: TKwwritable
551 readable var _n_id
: TId
555 readable var _n_plus
: TPlus
559 readable var _n_minus
: TMinus
563 readable var _n_star
: TStar
567 readable var _n_slash
: TSlash
571 readable var _n_percent
: TPercent
575 readable var _n_eq
: TEq
579 readable var _n_ne
: TNe
583 readable var _n_le
: TLe
587 readable var _n_ge
: TGe
591 readable var _n_lt
: TLt
595 readable var _n_gt
: TGt
599 readable var _n_ll
: TLl
603 readable var _n_gg
: TGg
607 readable var _n_obra
: TObra
608 readable var _n_cbra
: TCbra
610 class AStarshipMethid
612 readable var _n_starship
: TStarship
616 readable var _n_id
: TId
617 readable var _n_assign
: TAssign
619 class ABraassignMethid
621 readable var _n_obra
: TObra
622 readable var _n_cbra
: TCbra
623 readable var _n_assign
: TAssign
627 readable var _n_opar
: nullable TOpar = null
628 readable var _n_params
: List[AParam] = new List[AParam]
629 readable var _n_cpar
: nullable TCpar = null
630 readable var _n_type
: nullable AType = null
631 readable var _n_closure_decls
: List[AClosureDecl] = new List[AClosureDecl]
635 readable var _n_id
: TId
636 readable var _n_type
: nullable AType = null
637 readable var _n_dotdotdot
: nullable TDotdotdot = null
638 readable var _n_annotations
: nullable AAnnotations = null
642 readable var _n_kwbreak
: nullable TKwbreak = null
643 readable var _n_bang
: TBang
644 readable var _n_id
: TId
645 readable var _n_signature
: ASignature
646 readable var _n_expr
: nullable AExpr = null
650 readable var _n_kwnullable
: nullable TKwnullable = null
651 readable var _n_id
: TClassid
652 readable var _n_types
: List[AType] = new List[AType]
653 readable var _n_annotations
: nullable AAnnotations = null
657 readable var _n_kwlabel
: TKwlabel
658 readable var _n_id
: TId
662 readable var _n_expr
: List[AExpr] = new List[AExpr]
663 readable var _n_kwend
: nullable TKwend = null
667 readable var _n_kwvar
: TKwvar
668 readable var _n_id
: TId
669 readable var _n_type
: nullable AType = null
670 readable var _n_assign
: nullable TAssign = null
671 readable var _n_expr
: nullable AExpr = null
672 readable var _n_annotations
: nullable AAnnotations = null
676 readable var _n_kwreturn
: nullable TKwreturn = null
677 readable var _n_expr
: nullable AExpr = null
681 readable var _n_kwbreak
: TKwbreak
682 readable var _n_label
: nullable ALabel = null
683 readable var _n_expr
: nullable AExpr = null
687 readable var _n_kwabort
: TKwabort
691 readable var _n_kwcontinue
: nullable TKwcontinue = null
692 readable var _n_label
: nullable ALabel = null
693 readable var _n_expr
: nullable AExpr = null
697 readable var _n_kwdo
: TKwdo
698 readable var _n_block
: nullable AExpr = null
699 readable var _n_label
: nullable ALabel = null
703 readable var _n_kwif
: TKwif
704 readable var _n_expr
: AExpr
705 readable var _n_then
: nullable AExpr = null
706 readable var _n_else
: nullable AExpr = null
710 readable var _n_kwif
: TKwif
711 readable var _n_expr
: AExpr
712 readable var _n_kwthen
: TKwthen
713 readable var _n_then
: AExpr
714 readable var _n_kwelse
: TKwelse
715 readable var _n_else
: AExpr
719 readable var _n_kwwhile
: TKwwhile
720 readable var _n_expr
: AExpr
721 readable var _n_kwdo
: TKwdo
722 readable var _n_block
: nullable AExpr = null
723 readable var _n_label
: nullable ALabel = null
727 readable var _n_kwloop
: TKwloop
728 readable var _n_block
: nullable AExpr = null
729 readable var _n_label
: nullable ALabel = null
733 readable var _n_kwfor
: TKwfor
734 readable var _n_ids
: List[TId] = new List[TId]
735 readable var _n_expr
: AExpr
736 readable var _n_kwdo
: TKwdo
737 readable var _n_block
: nullable AExpr = null
738 readable var _n_label
: nullable ALabel = null
742 readable var _n_kwassert
: TKwassert
743 readable var _n_id
: nullable TId = null
744 readable var _n_expr
: AExpr
745 readable var _n_else
: nullable AExpr = null
749 readable var _n_kwonce
: TKwonce
750 readable var _n_expr
: AExpr
754 readable var _n_expr
: AExpr
758 readable var _n_expr
: AExpr
759 readable var _n_expr2
: 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_kwnot
: TKwnot
784 readable var _n_expr
: 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_expr2
: AExpr
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_type
: AType
838 readable var _n_expr
: AExpr
839 readable var _n_expr2
: AExpr
843 readable var _n_expr
: AExpr
844 readable var _n_expr2
: AExpr
848 readable var _n_expr
: AExpr
849 readable var _n_expr2
: AExpr
853 readable var _n_expr
: AExpr
854 readable var _n_expr2
: AExpr
858 readable var _n_expr
: AExpr
859 readable var _n_expr2
: AExpr
863 readable var _n_expr
: AExpr
864 readable var _n_expr2
: AExpr
868 readable var _n_minus
: TMinus
869 readable var _n_expr
: AExpr
873 readable var _n_kwnew
: TKwnew
874 readable var _n_type
: AType
875 readable var _n_id
: nullable TId = null
876 readable var _n_args
: AExprs
880 readable var _n_expr
: AExpr
881 readable var _n_id
: TAttrid
883 class AAttrAssignExpr
885 readable var _n_expr
: AExpr
886 readable var _n_id
: TAttrid
887 readable var _n_assign
: TAssign
888 readable var _n_value
: AExpr
890 class AAttrReassignExpr
892 readable var _n_expr
: AExpr
893 readable var _n_id
: TAttrid
894 readable var _n_assign_op
: AAssignOp
895 readable var _n_value
: AExpr
899 readable var _n_expr
: AExpr
900 readable var _n_id
: TId
901 readable var _n_args
: AExprs
902 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
904 class ACallAssignExpr
906 readable var _n_expr
: AExpr
907 readable var _n_id
: TId
908 readable var _n_args
: AExprs
909 readable var _n_assign
: TAssign
910 readable var _n_value
: AExpr
912 class ACallReassignExpr
914 readable var _n_expr
: AExpr
915 readable var _n_id
: TId
916 readable var _n_args
: AExprs
917 readable var _n_assign_op
: AAssignOp
918 readable var _n_value
: AExpr
922 readable var _n_qualified
: nullable AQualified = null
923 readable var _n_kwsuper
: TKwsuper
924 readable var _n_args
: AExprs
928 readable var _n_expr
: AExpr
929 readable var _n_kwinit
: TKwinit
930 readable var _n_args
: AExprs
934 readable var _n_expr
: AExpr
935 readable var _n_args
: AExprs
936 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
940 readable var _n_expr
: AExpr
941 readable var _n_args
: AExprs
942 readable var _n_assign
: TAssign
943 readable var _n_value
: AExpr
945 class ABraReassignExpr
947 readable var _n_expr
: AExpr
948 readable var _n_args
: AExprs
949 readable var _n_assign_op
: AAssignOp
950 readable var _n_value
: AExpr
952 class AClosureCallExpr
954 readable var _n_id
: TId
955 readable var _n_args
: AExprs
956 readable var _n_closure_defs
: List[AClosureDef] = new List[AClosureDef]
960 readable var _n_id
: TId
964 readable var _n_id
: TId
965 readable var _n_assign
: TAssign
966 readable var _n_value
: AExpr
968 class AVarReassignExpr
970 readable var _n_id
: TId
971 readable var _n_assign_op
: AAssignOp
972 readable var _n_value
: AExpr
976 readable var _n_expr
: AExpr
977 readable var _n_expr2
: AExpr
978 readable var _n_annotations
: nullable AAnnotations = null
982 readable var _n_obra
: TObra
983 readable var _n_expr
: AExpr
984 readable var _n_expr2
: AExpr
985 readable var _n_cbra
: TCbra
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
: TObra
994 readable var _n_annotations
: nullable AAnnotations = null
998 readable var _n_exprs
: AExprs
999 readable var _n_annotations
: nullable AAnnotations = null
1003 readable var _n_kwself
: TKwself
1004 readable var _n_annotations
: nullable AAnnotations = null
1006 class AImplicitSelfExpr
1011 readable var _n_kwtrue
: TKwtrue
1012 readable var _n_annotations
: nullable AAnnotations = null
1016 readable var _n_kwfalse
: TKwfalse
1017 readable var _n_annotations
: nullable AAnnotations = null
1021 readable var _n_kwnull
: TKwnull
1022 readable var _n_annotations
: nullable AAnnotations = null
1026 readable var _n_number
: TNumber
1027 readable var _n_annotations
: nullable AAnnotations = null
1031 readable var _n_float
: TFloat
1032 readable var _n_annotations
: nullable AAnnotations = null
1036 readable var _n_char
: TChar
1037 readable var _n_annotations
: nullable AAnnotations = null
1041 readable var _n_string
: TString
1042 readable var _n_annotations
: nullable AAnnotations = null
1044 class AStartStringExpr
1046 readable var _n_string
: TStartString
1048 class AMidStringExpr
1050 readable var _n_string
: TMidString
1052 class AEndStringExpr
1054 readable var _n_string
: TEndString
1056 class ASuperstringExpr
1058 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1059 readable var _n_annotations
: nullable AAnnotations = null
1063 readable var _n_opar
: TOpar
1064 readable var _n_expr
: AExpr
1065 readable var _n_cpar
: TCpar
1066 readable var _n_annotations
: nullable AAnnotations = null
1070 readable var _n_expr
: AExpr
1071 readable var _n_kwas
: TKwas
1072 readable var _n_opar
: TOpar
1073 readable var _n_type
: AType
1074 readable var _n_cpar
: TCpar
1076 class AAsNotnullExpr
1078 readable var _n_expr
: AExpr
1079 readable var _n_kwas
: TKwas
1080 readable var _n_opar
: TOpar
1081 readable var _n_kwnot
: TKwnot
1082 readable var _n_kwnull
: TKwnull
1083 readable var _n_cpar
: TCpar
1085 class AIssetAttrExpr
1087 readable var _n_kwisset
: TKwisset
1088 readable var _n_expr
: AExpr
1089 readable var _n_id
: TAttrid
1091 class ADebugTypeExpr
1093 readable var _n_kwdebug
: TKwdebug
1094 readable var _n_kwtype
: TKwtype
1095 readable var _n_expr
: AExpr
1096 readable var _n_type
: AType
1100 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1104 readable var _n_opar
: TOpar
1105 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1106 readable var _n_cpar
: TCpar
1110 readable var _n_obra
: TObra
1111 readable var _n_exprs
: List[AExpr] = new List[AExpr]
1112 readable var _n_cbra
: TCbra
1116 readable var _n_pluseq
: TPluseq
1118 class AMinusAssignOp
1120 readable var _n_minuseq
: TMinuseq
1124 readable var _n_bang
: TBang
1125 readable var _n_id
: AClosureId
1126 readable var _n_ids
: List[TId] = new List[TId]
1127 readable var _n_kwdo
: nullable TKwdo = null
1128 readable var _n_expr
: nullable AExpr = null
1129 readable var _n_label
: nullable ALabel = null
1131 class ASimpleClosureId
1133 readable var _n_id
: TId
1135 class ABreakClosureId
1137 readable var _n_kwbreak
: TKwbreak
1141 readable var _n_quad
: nullable TQuad = null
1142 readable var _n_path
: List[TId] = new List[TId]
1143 readable var _n_id
: TId
1147 readable var _n_kwimport
: TKwimport
1148 readable var _n_extern_calls
: List[AExternCall] = new List[AExternCall]
1153 class ASuperExternCall
1155 readable var _n_kwsuper
: TKwsuper
1157 class ALocalPropExternCall
1159 readable var _n_methid
: AMethid
1161 class AFullPropExternCall
1163 readable var _n_classid
: TClassid
1164 readable var _n_quad
: nullable TQuad = null
1165 readable var _n_methid
: AMethid
1167 class AInitPropExternCall
1169 readable var _n_classid
: TClassid
1171 class ACastAsExternCall
1173 readable var _n_from_type
: AType
1174 readable var _n_kwas
: TKwas
1175 readable var _n_to_type
: AType
1177 class AAsNullableExternCall
1179 readable var _n_type
: AType
1180 readable var _n_kwas
: TKwas
1181 readable var _n_kwnullable
: TKwnullable
1183 class AAsNotNullableExternCall
1185 readable var _n_type
: AType
1186 readable var _n_kwas
: TKwas
1187 readable var _n_kwnot
: TKwnot
1188 readable var _n_kwnullable
: TKwnullable
1192 readable var _n_kwin
: TKwin
1193 readable var _n_string
: TString
1195 class AExternCodeBlock
1196 super AExternCodeBlock
1197 readable var _n_in_language
: nullable AInLanguage = null
1198 readable var _n_extern_code_segment
: TExternCodeSegment
1202 readable var _n_id
: List[TId] = new List[TId]
1203 readable var _n_classid
: nullable TClassid = null
1207 readable var _n_comment
: List[TComment] = new List[TComment]
1211 readable var _n_at
: nullable TAt = null
1212 readable var _n_opar
: nullable TOpar = null
1213 readable var _n_items
: List[AAnnotation] = new List[AAnnotation]
1214 readable var _n_cpar
: nullable TCpar = null
1218 readable var _n_atid
: AAtid
1219 readable var _n_opar
: nullable TOpar = null
1220 readable var _n_args
: List[AAtArg] = new List[AAtArg]
1221 readable var _n_cpar
: nullable TCpar = null
1222 readable var _n_annotations
: nullable AAnnotations = null
1226 readable var _n_type
: AType
1230 readable var _n_expr
: AExpr
1234 readable var _n_annotations
: AAnnotations
1238 readable var _n_id
: TId
1242 readable var _n_id
: TKwextern
1246 readable var _n_id
: TKwintern
1248 class AKwreadableAtid
1250 readable var _n_id
: TKwreadable
1252 class AKwwritableAtid
1254 readable var _n_id
: TKwwritable
1258 readable var _n_id
: TKwimport
1263 readable var _n_base
: nullable AModule
1264 readable var _n_eof
: EOF
1266 n_base
: nullable AModule,