1
1
subject : " BEGIN block"
2
2
description : " BEGIN { ... }"
3
- focused_on_node : " org.truffleruby.language.control.SequenceNode"
3
+ notes : >
4
+ Puts content of the BEGIN block at the beginning of the
5
+ focused_on_node : " org.truffleruby.language.RubyTopLevelRootNode"
4
6
ruby : |
7
+ b
5
8
BEGIN {
6
- 1
7
- 2
9
+ a
8
10
}
9
11
ast : |
10
- SequenceNode
12
+ RubyTopLevelRootNode
11
13
attributes:
12
- flags = 12
14
+ arityForCheck = Arity{preRequired = 0, optional = 0, hasRest = true, isImplicitRest = false, postRequired = 0, keywordArguments = [], requiredKeywordArgumentsCount = 0, hasKeywordsRest = false}
15
+ callTarget = <top (required)>
16
+ checkArityProfile = false
17
+ frameDescriptor = FrameDescriptor@...{#0:(self), #1:%$~_}
18
+ instrumentationBits = 0
19
+ keywordArguments = false
20
+ localReturnProfile = false
21
+ lock = java.util.concurrent.locks.ReentrantLock@...[Unlocked]
22
+ matchingReturnProfile = false
23
+ nextProfile = false
24
+ nonMatchingReturnProfile = false
25
+ polyglotRef = org.truffleruby.RubyLanguage@...
26
+ retryProfile = false
27
+ returnID = org.truffleruby.language.control.ReturnID@...
28
+ sharedMethodInfo = SharedMethodInfo(staticLexicalScope = :: Object, arity = Arity{preRequired = 0, optional = 0, hasRest = false, isImplicitRest = false, postRequired = 0, keywordArguments = [], requiredKeywordArgumentsCount = 0, hasKeywordsRest = false}, originName = <top (required)>, blockDepth = 0, parseName = <top (required)>, notes = null, argumentDescriptors = null)
29
+ split = HEURISTIC
13
30
children:
14
- body = [
15
- EmitWarningsNode
31
+ body =
32
+ SequenceNode
16
33
attributes:
17
- flags = 0
18
- warnings = RubyDeferredWarnings(WarningMessage(message = 'Useless use of a literal in void context.', verbosity = VERBOSE, fileName = '<parse_ast>', lineNumber = 2))
19
- WriteLocalVariableNode
20
- attributes:
21
- flags = 0
22
- frameSlot = 0 # (self)
34
+ flags = 12
23
35
children:
24
- valueNode =
25
- ProfileArgumentNodeGen
36
+ body = [
37
+ WriteLocalVariableNode
26
38
attributes:
27
39
flags = 0
40
+ frameSlot = 0 # (self)
28
41
children:
29
- childNode_ =
30
- ReadSelfNode
42
+ valueNode =
43
+ ProfileArgumentNodeGen
31
44
attributes:
32
45
flags = 0
33
- IntegerFixnumLiteralNode
34
- attributes:
35
- flags = 1
36
- value = 1
37
- IntegerFixnumLiteralNode
38
- attributes:
39
- flags = 1
40
- value = 2
41
- NilLiteralNode
42
- attributes:
43
- flags = 0
44
- ]
46
+ children:
47
+ childNode_ =
48
+ ReadSelfNode
49
+ attributes:
50
+ flags = 0
51
+ RubyCallNode
52
+ attributes:
53
+ descriptor = NoKeywordArgumentsDescriptor
54
+ dispatchConfig = PRIVATE
55
+ emptyKeywordsProfile = false
56
+ flags = 1
57
+ isAttrAssign = false
58
+ isSafeNavigation = false
59
+ isSplatted = false
60
+ isVCall = true
61
+ lastArgIsNotHashProfile = false
62
+ methodName = "a"
63
+ notEmptyKeywordsProfile = false
64
+ notRuby2KeywordsHashProfile = false
65
+ children:
66
+ receiver =
67
+ SelfNode
68
+ attributes:
69
+ flags = 0
70
+ RubyCallNode
71
+ attributes:
72
+ descriptor = NoKeywordArgumentsDescriptor
73
+ dispatchConfig = PRIVATE
74
+ emptyKeywordsProfile = false
75
+ flags = 1
76
+ isAttrAssign = false
77
+ isSafeNavigation = false
78
+ isSplatted = false
79
+ isVCall = true
80
+ lastArgIsNotHashProfile = false
81
+ methodName = "b"
82
+ notEmptyKeywordsProfile = false
83
+ notRuby2KeywordsHashProfile = false
84
+ children:
85
+ receiver =
86
+ SelfNode
87
+ attributes:
88
+ flags = 0
89
+ ]
0 commit comments