fun location: Location do return _location.as(not null)
# The location of the important part of the node (identifier or whatever)
fun hot_location: Location do return location
+ init do end
+
+ # Display a message for the colored location of the node
+ fun debug(message: String)
+ do
+ print "{hot_location} {self.class_name}: {message}\n{hot_location.colored_line("0;32")}"
+ end
end
# Ancestor of all tokens
class TKwlabel
super TokenKeyword
end
+class TKwdebug
+ super Token
+end
class TOpar
super Token
end
do return "malformed character {text}"
end
end
+class TExternCodeSegment
+ super Token
+end
class EOF
super Token
private init noinit do end
super Prod
readable var _n_moduledecl: nullable AModuledecl = null
readable var _n_imports: List[AImport] = new List[AImport]
+ readable var _n_extern_code_blocks: List[AExternCodeBlock] = new List[AExternCodeBlock]
readable var _n_classdefs: List[AClassdef] = new List[AClassdef]
end
class AModuledecl
readable var _n_classkind: AClasskind
readable var _n_id: nullable TClassid = null
readable var _n_formaldefs: List[AFormaldef] = new List[AFormaldef]
+ readable var _n_extern_code_block: nullable AExternCodeBlock = null
readable var _n_superclasses: List[ASuperclass] = new List[ASuperclass]
readable var _n_kwend: TKwend
redef fun hot_location do return n_id.location
super AMethPropdef
readable var _n_extern: nullable TString = null
readable var _n_extern_calls: nullable AExternCalls = null
+ readable var _n_extern_code_block: nullable AExternCodeBlock = null
end
class AExternMethPropdef
super AMethPropdef
class AConcreteInitPropdef
super AConcreteMethPropdef
super AInitPropdef
- init do end
readable var _n_kwinit: TKwinit
redef fun hot_location do return n_kwinit.location
end
class AExternInitPropdef
super AExternPropdef
super AInitPropdef
- init do end
readable var _n_kwnew: TKwnew
end
class AMainMethPropdef
super Prod
end
abstract class APropExternCall
-special AExternCall
+super AExternCall
end
class ALocalPropExternCall
-special APropExternCall
+super APropExternCall
readable var _n_methid: AMethid
end
class AFullPropExternCall
-special APropExternCall
+super APropExternCall
readable var _n_classid: TClassid
readable var _n_quad: nullable TQuad = null
readable var _n_methid: AMethid
end
class AInitPropExternCall
-special APropExternCall
+super APropExternCall
readable var _n_classid: TClassid
end
class ASuperExternCall
-special AExternCall
+super AExternCall
readable var _n_kwsuper: TKwsuper
end
abstract class ACastExternCall
-special AExternCall
+super AExternCall
end
class ACastAsExternCall
-special ACastExternCall
+super ACastExternCall
readable var _n_from_type: AType
readable var _n_kwas: TKwas
readable var _n_to_type: AType
end
class AAsNullableExternCall
-special ACastExternCall
+super ACastExternCall
readable var _n_type: AType
readable var _n_kwas: TKwas
readable var _n_kwnullable: TKwnullable
end
class AAsNotNullableExternCall
-special ACastExternCall
+super ACastExternCall
readable var _n_type: AType
readable var _n_kwas: TKwas
readable var _n_kwnot: TKwnot
super Prod
readable var _n_exprs: List[AExpr] = new List[AExpr]
end
+class ADebugTypeExpr
+ super AExpr
+ readable var _n_kwdebug: TKwdebug
+ readable var _n_kwtype: TKwtype
+ readable var _n_expr: AExpr
+ readable var _n_type: AType
+end
class AListExprs
super AExprs
end
readable var _n_kwbreak: TKwbreak
end
class AModuleName
-special Prod
+super Prod
readable var _n_quad: nullable TQuad = null
readable var _n_path: List[TId] = new List[TId]
readable var _n_id: TId
end
+class AInLanguage
+ super Prod
+ readable var _n_kwin: TKwin
+ readable var _n_string: TString
+end
+class AExternCodeBlock
+ super Prod
+ readable var _n_in_language: nullable AInLanguage = null
+ readable var _n_extern_code_segment: TExternCodeSegment
+end
class AQualified
super Prod
readable var _n_quad: nullable TQuad = null
super Prod
readable var _n_base: nullable AModule
readable var _n_eof: EOF
+ init(n_base: nullable AModule, n_eof: EOF)
+ do
+ self._n_base = n_base
+ self._n_eof = n_eof
+ end
end