#[non_exhaustive]pub enum HirKind {
Show 17 variants
PackageDecl(PackageDecl),
SubDecl(SubDecl),
MethodDecl(MethodDecl),
UseDecl(UseDecl),
RequireDecl(RequireDecl),
VariableDecl(VariableDecl),
CallExpr(CallExpr),
MethodCallExpr(MethodCallExpr),
IndirectCallExpr(IndirectCallExpr),
BarewordExpr(BarewordExpr),
LiteralExpr(LiteralExpr),
BlockShell(BlockShell),
BranchShell(BranchShell),
LoopShell(LoopShell),
ControlTransfer(ControlTransfer),
StatementModifierShell(StatementModifierShell),
DynamicBoundary(DynamicBoundary),
}Expand description
First-slice HIR constructs.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
PackageDecl(PackageDecl)
package Foo; or block package declaration.
SubDecl(SubDecl)
sub foo { ... } declaration.
MethodDecl(MethodDecl)
method foo { ... } declaration.
UseDecl(UseDecl)
use Module ...; declaration.
RequireDecl(RequireDecl)
require Module; call recognized as a compile-time declaration shape.
VariableDecl(VariableDecl)
my, our, state, or local variable declaration.
CallExpr(CallExpr)
Function-like call expression shell.
MethodCallExpr(MethodCallExpr)
Method-call expression shell.
IndirectCallExpr(IndirectCallExpr)
Indirect-object method-call expression shell.
BarewordExpr(BarewordExpr)
Bareword expression shell.
LiteralExpr(LiteralExpr)
Literal expression shell.
BlockShell(BlockShell)
Block expression shell without scope construction.
BranchShell(BranchShell)
Conditional branch shell (if/unless block form, ternary).
LoopShell(LoopShell)
Loop shell (while/until, C-style for, foreach).
ControlTransfer(ControlTransfer)
Control-transfer shell (return, next/last/redo, goto).
StatementModifierShell(StatementModifierShell)
Statement-modifier shell (postfix if/unless/while/until/for).
DynamicBoundary(DynamicBoundary)
Unsupported or intentionally dynamic Perl boundary.