UniIR Nodes
Enum#
flowchart LR
Enum -->|Name| name
Enum -->|Token , None| access
Enum -->|Expr , None| base_classes
Enum -->|EnumBlockStmt , ImplDef , None| body
Enum -->|String , None| doc
Enum -->|Expr , None| decorators
None
Name#
flowchart LR
Name -->|Source| orig_src
Name -->|str| name
Name -->|str| value
Name -->|int| end_line
Name -->|int| col_start
Name -->|int| col_end_
Name -->|int| pos_start
Name -->|int| pos_end_
Name -->|bool| is_enum_stmt
Name -->|bool| is_kwesc
None
SubTag#
flowchart LR
SubTag -->|T| tag
None
Module#
flowchart LR
Module -->|str| name
Module -->|Source| source
Module -->|String , None| doc
Module -->|ElementStmt , String , EmptyToken| body
Module -->|list - Token| terminals
Module -->|bool| stub_only
None
TypeParam#
flowchart LR
TypeParam -->|Name| name
TypeParam -->|Expr , None| bound
TypeParam -->|Expr , None| default_val
None
TypeAlias#
flowchart LR
TypeAlias -->|Name| name
TypeAlias -->|TypeParam , None| type_params
TypeAlias -->|Expr| value
TypeAlias -->|Token , None| access
TypeAlias -->|String , None| doc
None
GlobalVars#
flowchart LR
GlobalVars -->|Token , None| access
GlobalVars -->|Assignment| assignments
GlobalVars -->|bool| is_frozen
GlobalVars -->|String , None| doc
None
Test#
flowchart LR
Test -->|Name , Token| name
Test -->|CodeBlockStmt| body
Test -->|String , None| doc
Test -->|String , None| description
None
ModuleCode#
flowchart LR
ModuleCode -->|Name , None| name
ModuleCode -->|CodeBlockStmt| body
ModuleCode -->|bool| is_enum_stmt
ModuleCode -->|String , None| doc
None
ClientBlock#
flowchart LR
ClientBlock -->|ElementStmt| body
ClientBlock -->|bool| implicit
None
ServerBlock#
flowchart LR
ServerBlock -->|ElementStmt| body
ServerBlock -->|bool| implicit
None
NativeBlock#
flowchart LR
NativeBlock -->|ElementStmt| body
NativeBlock -->|bool| implicit
None
PyInlineCode#
flowchart LR
PyInlineCode -->|Token| code
PyInlineCode -->|bool| is_enum_stmt
PyInlineCode -->|String , None| doc
None
Import#
flowchart LR
Import -->|ModulePath , None| from_loc
Import -->|ModuleItem , ModulePath| items
Import -->|bool| is_absorb
Import -->|String , None| doc
None
ModulePath#
flowchart LR
ModulePath -->|Name , String , None| path
ModulePath -->|int| level
ModulePath -->|Name , None| alias
None
ModuleItem#
flowchart LR
ModuleItem -->|Name , Token| name
ModuleItem -->|Name , None| alias
None
Archetype#
flowchart LR
Archetype -->|Name| name
Archetype -->|Token| arch_type
Archetype -->|Token , None| access
Archetype -->|Expr , None| base_classes
Archetype -->|ArchBlockStmt , ImplDef , None| body
Archetype -->|String , None| doc
Archetype -->|Expr , None| decorators
Archetype -->|TypeParam , None| type_params
None
ImplDef#
flowchart LR
ImplDef -->|Expr , None| decorators
ImplDef -->|NameAtom| target
ImplDef -->|Expr , FuncSignature , EventSignature , None| spec
ImplDef -->|CodeBlockStmt , EnumBlockStmt , Expr| body
ImplDef -->|String , None| doc
ImplDef -->|UniNode , None| decl_link
None
SemDef#
flowchart LR
SemDef -->|NameAtom| target
SemDef -->|String| value
None
Ability#
flowchart LR
Ability -->|NameAtom , None| name_ref
Ability -->|bool| is_async
Ability -->|bool| is_override
Ability -->|bool| is_static
Ability -->|bool| is_abstract
Ability -->|Token , None| access
Ability -->|FuncSignature , EventSignature , None| signature
Ability -->|CodeBlockStmt , ImplDef , Expr , None| body
Ability -->|String , None| doc
Ability -->|Expr , None| decorators
None
FuncSignature#
flowchart LR
FuncSignature -->|ParamVar| posonly_params
FuncSignature -->|ParamVar , None| params
FuncSignature -->|ParamVar , None| varargs
FuncSignature -->|ParamVar| kwonlyargs
FuncSignature -->|ParamVar , None| kwargs
FuncSignature -->|Expr , None| return_type
None
EventSignature#
flowchart LR
EventSignature -->|Token| event
EventSignature -->|Expr , None| arch_tag_info
None
ParamVar#
flowchart LR
ParamVar -->|Name| name
ParamVar -->|Token , None| unpack
ParamVar -->|Expr| type_tag
ParamVar -->|Expr , None| value
None
ArchHas#
flowchart LR
ArchHas -->|bool| is_static
ArchHas -->|Token , None| access
ArchHas -->|HasVar| vars
ArchHas -->|bool| is_frozen
ArchHas -->|String , None| doc
None
HasVar#
flowchart LR
HasVar -->|Name| name
HasVar -->|Expr| type_tag
HasVar -->|Expr , None| value
HasVar -->|bool| defer
None
TypedCtxBlock#
flowchart LR
TypedCtxBlock -->|Expr| type_ctx
TypedCtxBlock -->|CodeBlockStmt| body
None
IfStmt#
flowchart LR
IfStmt -->|Expr| condition
IfStmt -->|CodeBlockStmt| body
IfStmt -->|ElseStmt , ElseIf , None| else_body
None
ElseIf#
flowchart LR
ElseIf -->|Expr| condition
ElseIf -->|CodeBlockStmt| body
ElseIf -->|ElseStmt , ElseIf , None| else_body
None
ElseStmt#
flowchart LR
ElseStmt -->|CodeBlockStmt| body
None
ExprStmt#
flowchart LR
ExprStmt -->|Expr| expr
ExprStmt -->|bool| in_fstring
None
TryStmt#
flowchart LR
TryStmt -->|CodeBlockStmt| body
TryStmt -->|Except| excepts
TryStmt -->|ElseStmt , None| else_body
TryStmt -->|FinallyStmt , None| finally_body
None
Except#
flowchart LR
Except -->|Expr| ex_type
Except -->|Name , None| name
Except -->|CodeBlockStmt| body
None
FinallyStmt#
flowchart LR
FinallyStmt -->|CodeBlockStmt| body
None
IterForStmt#
flowchart LR
IterForStmt -->|Assignment| iter
IterForStmt -->|bool| is_async
IterForStmt -->|Expr| condition
IterForStmt -->|Assignment| count_by
IterForStmt -->|CodeBlockStmt| body
IterForStmt -->|ElseStmt , None| else_body
None
InForStmt#
flowchart LR
InForStmt -->|Expr| target
InForStmt -->|bool| is_async
InForStmt -->|Expr| collection
InForStmt -->|CodeBlockStmt| body
InForStmt -->|ElseStmt , None| else_body
None
WhileStmt#
flowchart LR
WhileStmt -->|Expr| condition
WhileStmt -->|CodeBlockStmt| body
WhileStmt -->|ElseStmt , None| else_body
None
WithStmt#
flowchart LR
WithStmt -->|bool| is_async
WithStmt -->|ExprAsItem| exprs
WithStmt -->|CodeBlockStmt| body
None
ExprAsItem#
flowchart LR
ExprAsItem -->|Expr| expr
ExprAsItem -->|Expr , None| alias
None
RaiseStmt#
flowchart LR
RaiseStmt -->|Expr , None| cause
RaiseStmt -->|Expr , None| from_target
None
AssertStmt#
flowchart LR
AssertStmt -->|Expr| condition
AssertStmt -->|Expr , None| error_msg
None
CtrlStmt#
flowchart LR
CtrlStmt -->|Token| ctrl
None
DeleteStmt#
flowchart LR
DeleteStmt -->|Expr| target
None
ReportStmt#
flowchart LR
ReportStmt -->|Expr| expr
None
ReturnStmt#
flowchart LR
ReturnStmt -->|Expr , None| expr
None
VisitStmt#
flowchart LR
VisitStmt -->|Expr , None| insert_loc
VisitStmt -->|Expr| target
VisitStmt -->|ElseStmt , None| else_body
None
AwaitExpr#
flowchart LR
AwaitExpr -->|Expr| target
None
GlobalStmt#
flowchart LR
GlobalStmt -->|NameAtom| target
None
NonLocalStmt#
flowchart LR
NonLocalStmt -->|NameAtom| target
None
Assignment#
flowchart LR
Assignment -->|Expr| target
Assignment -->|Expr , YieldExpr , None| value
Assignment -->|Expr , None| type_tag
Assignment -->|bool| mutable
Assignment -->|Token , None| aug_op
Assignment -->|bool| is_enum_stmt
None
ConcurrentExpr#
flowchart LR
ConcurrentExpr -->|Token , None| tok
ConcurrentExpr -->|Expr| target
None
BinaryExpr#
flowchart LR
BinaryExpr -->|Expr| left
BinaryExpr -->|Expr| right
BinaryExpr -->|Token , DisconnectOp , ConnectOp| op
None
CompareExpr#
flowchart LR
CompareExpr -->|Expr| left
CompareExpr -->|list - Expr| rights
CompareExpr -->|list - Token| ops
None
Bool#
flowchart LR
Bool -->|Source| orig_src
Bool -->|str| name
Bool -->|str| value
Bool -->|int| end_line
Bool -->|int| col_start
Bool -->|int| col_end_
Bool -->|int| pos_start
Bool -->|int| pos_end_
None
BoolExpr#
flowchart LR
BoolExpr -->|Token| op
BoolExpr -->|list - Expr| values
None
LambdaExpr#
flowchart LR
LambdaExpr -->|Expr , CodeBlockStmt| body
LambdaExpr -->|FuncSignature , None| signature
None
UnaryExpr#
flowchart LR
UnaryExpr -->|Expr| operand
UnaryExpr -->|Token| op
None
IfElseExpr#
flowchart LR
IfElseExpr -->|Expr| condition
IfElseExpr -->|Expr| value
IfElseExpr -->|Expr| else_value
None
MultiString#
flowchart LR
MultiString -->|String , FString| strings
None
FString#
flowchart LR
FString -->|Token , None| start
FString -->|String , FormattedValue| parts
FString -->|Token , None| end
None
FormattedValue#
flowchart LR
FormattedValue -->|Expr| format_part
FormattedValue -->|int| conversion
FormattedValue -->|Expr , None| format_spec
None
ListVal#
flowchart LR
ListVal -->|Expr| values
None
SetVal#
flowchart LR
SetVal -->|Expr , None| values
None
TupleVal#
flowchart LR
TupleVal -->|Expr , KWPair| values
None
DictVal#
flowchart LR
DictVal -->|KVPair| kv_pairs
None
KVPair#
flowchart LR
KVPair -->|Expr , None| key
KVPair -->|Expr| value
None
KWPair#
flowchart LR
KWPair -->|NameAtom , None| key
KWPair -->|Expr| value
None
InnerCompr#
flowchart LR
InnerCompr -->|bool| is_async
InnerCompr -->|Expr| target
InnerCompr -->|Expr| collection
InnerCompr -->|list - Expr , None| conditional
None
ListCompr#
flowchart LR
ListCompr -->|Expr| out_expr
ListCompr -->|list - InnerCompr| compr
None
GenCompr#
flowchart LR
GenCompr -->|Expr| out_expr
GenCompr -->|list - InnerCompr| compr
None
SetCompr#
flowchart LR
SetCompr -->|Expr| out_expr
SetCompr -->|list - InnerCompr| compr
None
DictCompr#
flowchart LR
DictCompr -->|KVPair| kv_pair
DictCompr -->|list - InnerCompr| compr
None
AtomTrailer#
flowchart LR
AtomTrailer -->|Expr| target
AtomTrailer -->|AtomExpr , Expr| right
AtomTrailer -->|bool| is_attr
AtomTrailer -->|bool| is_null_ok
AtomTrailer -->|bool| is_genai
None
AtomUnit#
flowchart LR
AtomUnit -->|Expr , YieldExpr , Ability| value
None
YieldExpr#
flowchart LR
YieldExpr -->|Expr , None| expr
YieldExpr -->|bool| with_from
None
FuncCall#
flowchart LR
FuncCall -->|Expr| target
FuncCall -->|Expr , KWPair , None| params
FuncCall -->|Expr , None| genai_call
None
IndexSlice#
flowchart LR
IndexSlice -->|list - Slice| slices
IndexSlice -->|bool| is_range
Slice node type for Jac Ast.
EdgeRefTrailer#
flowchart LR
EdgeRefTrailer -->|list - Expr , FilterCompr| chain
EdgeRefTrailer -->|bool| edges_only
EdgeRefTrailer -->|bool| is_async
None
EdgeOpRef#
flowchart LR
EdgeOpRef -->|FilterCompr , None| filter_cond
EdgeOpRef -->|EdgeDir| edge_dir
None
DisconnectOp#
flowchart LR
DisconnectOp -->|EdgeOpRef| edge_spec
None
ConnectOp#
flowchart LR
ConnectOp -->|Expr , None| conn_type
ConnectOp -->|AssignCompr , None| conn_assign
ConnectOp -->|EdgeDir| edge_dir
None
FilterCompr#
flowchart LR
FilterCompr -->|Expr , None| f_type
FilterCompr -->|CompareExpr| compares
None
AssignCompr#
flowchart LR
AssignCompr -->|KWPair| assigns
None
JsxElement#
flowchart LR
JsxElement -->|JsxElementName , None| name
JsxElement -->|JsxAttribute , None| attributes
JsxElement -->|JsxChild , JsxElement , None| children
JsxElement -->|bool| is_self_closing
JsxElement -->|bool| is_fragment
None
JsxElementName#
flowchart LR
JsxElementName -->|Name , Token| parts
None
JsxSpreadAttribute#
flowchart LR
JsxSpreadAttribute -->|Expr| expr
None
JsxNormalAttribute#
flowchart LR
JsxNormalAttribute -->|Name , Token| name
JsxNormalAttribute -->|String , Expr , None| value
None
JsxText#
flowchart LR
JsxText -->|str , Token| value
None
JsxExpression#
flowchart LR
JsxExpression -->|Expr| expr
None
MatchStmt#
flowchart LR
MatchStmt -->|Expr| target
MatchStmt -->|list - MatchCase| cases
None
MatchCase#
flowchart LR
MatchCase -->|MatchPattern| pattern
MatchCase -->|Expr , None| guard
MatchCase -->|list - CodeBlockStmt| body
None
SwitchStmt#
flowchart LR
SwitchStmt -->|Expr| target
SwitchStmt -->|list - SwitchCase| cases
None
SwitchCase#
flowchart LR
SwitchCase -->|MatchPattern , None| pattern
SwitchCase -->|list - CodeBlockStmt| body
None
MatchOr#
flowchart LR
MatchOr -->|list - MatchPattern| patterns
None
MatchAs#
flowchart LR
MatchAs -->|NameAtom| name
MatchAs -->|MatchPattern , None| pattern
None
MatchValue#
flowchart LR
MatchValue -->|Expr| value
None
MatchSingleton#
flowchart LR
MatchSingleton -->|Bool , Null| value
None
MatchSequence#
flowchart LR
MatchSequence -->|list - MatchPattern| values
None
MatchMapping#
flowchart LR
MatchMapping -->|list - MatchKVPair , MatchStar| values
None
MatchKVPair#
flowchart LR
MatchKVPair -->|MatchPattern , NameAtom , AtomExpr| key
MatchKVPair -->|MatchPattern| value
None
MatchStar#
flowchart LR
MatchStar -->|NameAtom| name
MatchStar -->|bool| is_list
None
MatchArch#
flowchart LR
MatchArch -->|AtomTrailer , NameAtom| name
MatchArch -->|MatchPattern , None| arg_patterns
MatchArch -->|MatchKVPair , None| kw_patterns
None
Token#
flowchart LR
Token -->|Source| orig_src
Token -->|str| name
Token -->|str| value
Token -->|int| end_line
Token -->|int| col_start
Token -->|int| col_end_
Token -->|int| pos_start
Token -->|int| pos_end_
None
SpecialVarRef#
flowchart LR
SpecialVarRef -->|Name| var
SpecialVarRef -->|bool| is_enum_stmt
None
BuiltinType#
flowchart LR
BuiltinType -->|Source| orig_src
BuiltinType -->|str| name
BuiltinType -->|str| value
BuiltinType -->|int| end_line
BuiltinType -->|int| col_start
BuiltinType -->|int| col_end_
BuiltinType -->|int| pos_start
BuiltinType -->|int| pos_end_
BuiltinType -->|bool| is_enum_stmt
BuiltinType -->|bool| is_kwesc
None
Float#
flowchart LR
Float -->|Source| orig_src
Float -->|str| name
Float -->|str| value
Float -->|int| end_line
Float -->|int| col_start
Float -->|int| col_end_
Float -->|int| pos_start
Float -->|int| pos_end_
None
Int#
flowchart LR
Int -->|Source| orig_src
Int -->|str| name
Int -->|str| value
Int -->|int| end_line
Int -->|int| col_start
Int -->|int| col_end_
Int -->|int| pos_start
Int -->|int| pos_end_
None
String#
flowchart LR
String -->|Source| orig_src
String -->|str| name
String -->|str| value
String -->|int| end_line
String -->|int| col_start
String -->|int| col_end_
String -->|int| pos_start
String -->|int| pos_end_
None
Null#
flowchart LR
Null -->|Source| orig_src
Null -->|str| name
Null -->|str| value
Null -->|int| end_line
Null -->|int| col_start
Null -->|int| col_end_
Null -->|int| pos_start
Null -->|int| pos_end_
None
Ellipsis#
flowchart LR
Ellipsis -->|Source| orig_src
Ellipsis -->|str| name
Ellipsis -->|str| value
Ellipsis -->|int| end_line
Ellipsis -->|int| col_start
Ellipsis -->|int| col_end_
Ellipsis -->|int| pos_start
Ellipsis -->|int| pos_end_
None
Semi#
flowchart LR
Semi -->|Source| orig_src
Semi -->|str| name
Semi -->|str| value
Semi -->|int| end_line
Semi -->|int| col_start
Semi -->|int| col_end_
Semi -->|int| pos_start
Semi -->|int| pos_end_
Initialize token.
CommentToken#
flowchart LR
CommentToken -->|Source| orig_src
CommentToken -->|str| name
CommentToken -->|str| value
CommentToken -->|int| end_line
CommentToken -->|int| col_start
CommentToken -->|int| col_end_
CommentToken -->|int| pos_start
CommentToken -->|int| pos_end_
CommentToken -->|bool| is_inline
None