FIR CFA: automatically compute node levels
This commit is contained in:
+98
-98
@@ -368,8 +368,8 @@ digraph kt44814_kt {
|
||||
subgraph cluster_41 {
|
||||
color=blue
|
||||
112 [label="Enter function <init> [3]" style="filled" fillcolor=red];
|
||||
113 [label="Access variable R|<local>/node| [4]"];
|
||||
114 [label="Access variable R|<local>/token| [4]"];
|
||||
113 [label="Access variable R|<local>/node| [3]"];
|
||||
114 [label="Access variable R|<local>/token| [3]"];
|
||||
115 [label="Delegated constructor call: super<R|FirModifier<LighterASTNode>|>(...) [3]" style="filled" fillcolor=yellow];
|
||||
116 [label="Exit function <init> [3]" style="filled" fillcolor=red];
|
||||
}
|
||||
@@ -387,8 +387,8 @@ digraph kt44814_kt {
|
||||
subgraph cluster_44 {
|
||||
color=blue
|
||||
122 [label="Enter function <init> [3]" style="filled" fillcolor=red];
|
||||
123 [label="Access variable R|<local>/node| [4]"];
|
||||
124 [label="Access variable R|<local>/token| [4]"];
|
||||
123 [label="Access variable R|<local>/node| [3]"];
|
||||
124 [label="Access variable R|<local>/token| [3]"];
|
||||
125 [label="Delegated constructor call: super<R|FirModifier<ASTNode>|>(...) [3]" style="filled" fillcolor=yellow];
|
||||
126 [label="Exit function <init> [3]" style="filled" fillcolor=red];
|
||||
}
|
||||
@@ -462,13 +462,13 @@ digraph kt44814_kt {
|
||||
subgraph cluster_51 {
|
||||
color=blue
|
||||
142 [label="Enter block [3]"];
|
||||
143 [label="Function call: R|/LighterASTNode.LighterASTNode|() [6]" style="filled" fillcolor=yellow];
|
||||
144 [label="Function call: R|kotlin/collections/listOf|<R|LighterASTNode|>(...) [5]" style="filled" fillcolor=yellow];
|
||||
145 [label="Function call: R|/LighterASTNode.LighterASTNode|(...) [4]" style="filled" fillcolor=yellow];
|
||||
146 [label="Function call: R|/FlyweightCapableTreeStructure.FlyweightCapableTreeStructure|() [4]" style="filled" fillcolor=yellow];
|
||||
143 [label="Function call: R|/LighterASTNode.LighterASTNode|() [3]" style="filled" fillcolor=yellow];
|
||||
144 [label="Function call: R|kotlin/collections/listOf|<R|LighterASTNode|>(...) [3]" style="filled" fillcolor=yellow];
|
||||
145 [label="Function call: R|/LighterASTNode.LighterASTNode|(...) [3]" style="filled" fillcolor=yellow];
|
||||
146 [label="Function call: R|/FlyweightCapableTreeStructure.FlyweightCapableTreeStructure|() [3]" style="filled" fillcolor=yellow];
|
||||
147 [label="Function call: R|/FirLightSourceElement.FirLightSourceElement|(...) [3]" style="filled" fillcolor=yellow];
|
||||
148 [label="Variable declaration: lval sourceElement: R|FirSourceElement?| [3]"];
|
||||
149 [label="Access variable R|<local>/sourceElement| [4]"];
|
||||
149 [label="Access variable R|<local>/sourceElement| [3]"];
|
||||
150 [label="Function call: (this@R|/FirModifierList.Companion|, R|<local>/sourceElement|).R|/FirModifierList.Companion.getModifierList|() [3]" style="filled" fillcolor=yellow];
|
||||
151 [label="Variable declaration: lval result: R|FirModifierList?| [3]"];
|
||||
subgraph cluster_52 {
|
||||
@@ -476,32 +476,32 @@ digraph kt44814_kt {
|
||||
152 [label="Enter when [3]"];
|
||||
subgraph cluster_53 {
|
||||
color=blue
|
||||
153 [label="Enter when branch condition [4]"];
|
||||
154 [label="Access variable R|<local>/result| [5]"];
|
||||
155 [label="Type operator: (R|<local>/result| is R|FirModifierList.FirLightModifierList|) [5]"];
|
||||
156 [label="Exit when branch condition [4]"];
|
||||
153 [label="Enter when branch condition [3]"];
|
||||
154 [label="Access variable R|<local>/result| [3]"];
|
||||
155 [label="Type operator: (R|<local>/result| is R|FirModifierList.FirLightModifierList|) [3]"];
|
||||
156 [label="Exit when branch condition [3]"];
|
||||
}
|
||||
subgraph cluster_54 {
|
||||
color=blue
|
||||
157 [label="Enter when branch condition else [5]"];
|
||||
158 [label="Exit when branch condition [5]"];
|
||||
157 [label="Enter when branch condition else [3]"];
|
||||
158 [label="Exit when branch condition [3]"];
|
||||
}
|
||||
159 [label="Enter when branch result [6]"];
|
||||
159 [label="Enter when branch result [3]"];
|
||||
subgraph cluster_55 {
|
||||
color=blue
|
||||
160 [label="Enter block [6]"];
|
||||
161 [label="Const: String(Fail) [6]"];
|
||||
162 [label="Exit block [6]"];
|
||||
160 [label="Enter block [3]"];
|
||||
161 [label="Const: String(Fail) [3]"];
|
||||
162 [label="Exit block [3]"];
|
||||
}
|
||||
163 [label="Exit when branch result [5]"];
|
||||
164 [label="Enter when branch result [5]"];
|
||||
163 [label="Exit when branch result [3]"];
|
||||
164 [label="Enter when branch result [3]"];
|
||||
subgraph cluster_56 {
|
||||
color=blue
|
||||
165 [label="Enter block [5]"];
|
||||
166 [label="Const: String(OK) [5]"];
|
||||
167 [label="Exit block [5]"];
|
||||
165 [label="Enter block [3]"];
|
||||
166 [label="Const: String(OK) [3]"];
|
||||
167 [label="Exit block [3]"];
|
||||
}
|
||||
168 [label="Exit when branch result [4]"];
|
||||
168 [label="Exit when branch result [3]"];
|
||||
169 [label="Exit when [3]"];
|
||||
}
|
||||
170 [label="Jump: ^boxImpl when () {
|
||||
@@ -527,108 +527,108 @@ digraph kt44814_kt {
|
||||
subgraph cluster_59 {
|
||||
color=blue
|
||||
176 [label="Enter when [3]"];
|
||||
177 [label="Access variable this@R|/FirModifierList.Companion.getModifierList| [4]"];
|
||||
177 [label="Access variable this@R|/FirModifierList.Companion.getModifierList| [3]"];
|
||||
subgraph cluster_60 {
|
||||
color=blue
|
||||
178 [label="Enter when branch condition [4]"];
|
||||
179 [label="Exit $subj [5]"];
|
||||
180 [label="Const: Null(null) [5]"];
|
||||
181 [label="Equality operator == [5]"];
|
||||
182 [label="Exit when branch condition [4]"];
|
||||
178 [label="Enter when branch condition [3]"];
|
||||
179 [label="Exit $subj [3]"];
|
||||
180 [label="Const: Null(null) [3]"];
|
||||
181 [label="Equality operator == [3]"];
|
||||
182 [label="Exit when branch condition [3]"];
|
||||
}
|
||||
subgraph cluster_61 {
|
||||
color=blue
|
||||
183 [label="Enter when branch condition [5]"];
|
||||
184 [label="Exit $subj [6]"];
|
||||
185 [label="Type operator: ($subj$ is R|FirPsiSourceElement|) [6]"];
|
||||
186 [label="Exit when branch condition [5]"];
|
||||
183 [label="Enter when branch condition [3]"];
|
||||
184 [label="Exit $subj [3]"];
|
||||
185 [label="Type operator: ($subj$ is R|FirPsiSourceElement|) [3]"];
|
||||
186 [label="Exit when branch condition [3]"];
|
||||
}
|
||||
subgraph cluster_62 {
|
||||
color=blue
|
||||
187 [label="Enter when branch condition [6]"];
|
||||
188 [label="Exit $subj [7]"];
|
||||
189 [label="Type operator: ($subj$ is R|FirLightSourceElement|) [7]"];
|
||||
190 [label="Exit when branch condition [6]"];
|
||||
187 [label="Enter when branch condition [3]"];
|
||||
188 [label="Exit $subj [3]"];
|
||||
189 [label="Type operator: ($subj$ is R|FirLightSourceElement|) [3]"];
|
||||
190 [label="Exit when branch condition [3]"];
|
||||
}
|
||||
191 [label="Enter when branch result [7]"];
|
||||
191 [label="Enter when branch result [3]"];
|
||||
subgraph cluster_63 {
|
||||
color=blue
|
||||
192 [label="Enter block [7]"];
|
||||
193 [label="Access variable R|/FirLightSourceElement.lighterASTNode| [9]"];
|
||||
194 [label="Access variable R|/FirLightSourceElement.treeStructure| [9]"];
|
||||
195 [label="Function call: this@R|/FirModifierList.Companion.getModifierList|.R|/FirLightSourceElement.lighterASTNode|.R|/LighterASTNode.getChildren|(...) [8]" style="filled" fillcolor=yellow];
|
||||
196 [label="Postponed enter to lambda [8]"];
|
||||
192 [label="Enter block [3]"];
|
||||
193 [label="Access variable R|/FirLightSourceElement.lighterASTNode| [3]"];
|
||||
194 [label="Access variable R|/FirLightSourceElement.treeStructure| [3]"];
|
||||
195 [label="Function call: this@R|/FirModifierList.Companion.getModifierList|.R|/FirLightSourceElement.lighterASTNode|.R|/LighterASTNode.getChildren|(...) [3]" style="filled" fillcolor=yellow];
|
||||
196 [label="Postponed enter to lambda [3]"];
|
||||
subgraph cluster_64 {
|
||||
color=blue
|
||||
197 [label="Enter function anonymousFunction [9]" style="filled" fillcolor=red];
|
||||
197 [label="Enter function anonymousFunction [4]" style="filled" fillcolor=red];
|
||||
subgraph cluster_65 {
|
||||
color=blue
|
||||
198 [label="Enter block [9]"];
|
||||
199 [label="Access variable R|<local>/it| [9]"];
|
||||
200 [label="Enter safe call [9]"];
|
||||
201 [label="Access variable R|/LighterASTNode.tokenType| [9]"];
|
||||
202 [label="Exit safe call [9]"];
|
||||
203 [label="Access qualifier /TokenType [9]"];
|
||||
204 [label="Access variable R|/TokenType.Companion.MODIFIER_LIST| [9]"];
|
||||
205 [label="Equality operator == [9]"];
|
||||
206 [label="Exit block [9]"];
|
||||
198 [label="Enter block [4]"];
|
||||
199 [label="Access variable R|<local>/it| [4]"];
|
||||
200 [label="Enter safe call [4]"];
|
||||
201 [label="Access variable R|/LighterASTNode.tokenType| [4]"];
|
||||
202 [label="Exit safe call [4]"];
|
||||
203 [label="Access qualifier /TokenType [4]"];
|
||||
204 [label="Access variable R|/TokenType.Companion.MODIFIER_LIST| [4]"];
|
||||
205 [label="Equality operator == [4]"];
|
||||
206 [label="Exit block [4]"];
|
||||
}
|
||||
207 [label="Exit function anonymousFunction [9]" style="filled" fillcolor=red];
|
||||
207 [label="Exit function anonymousFunction [4]" style="filled" fillcolor=red];
|
||||
}
|
||||
208 [label="Postponed exit from lambda [8]"];
|
||||
209 [label="Function call: this@R|/FirModifierList.Companion.getModifierList|.R|/FirLightSourceElement.lighterASTNode|.R|/LighterASTNode.getChildren|(...).R|kotlin/collections/find|<R|LighterASTNode?|>(...) [7]" style="filled" fillcolor=yellow];
|
||||
210 [label="Exit lhs of ?: [7]"];
|
||||
211 [label="Enter rhs of ?: [7]"];
|
||||
212 [label="Const: Null(null) [7]"];
|
||||
213 [label="Jump: ^getModifierList Null(null) [7]"];
|
||||
214 [label="Stub [7]" style="filled" fillcolor=gray];
|
||||
215 [label="Lhs of ?: is not null [7]"];
|
||||
216 [label="Exit ?: [7]"];
|
||||
217 [label="Variable declaration: lval modifierListNode: R|LighterASTNode| [7]"];
|
||||
218 [label="Access variable R|<local>/modifierListNode| [8]"];
|
||||
219 [label="Access variable R|/FirLightSourceElement.treeStructure| [8]"];
|
||||
220 [label="Function call: R|/FirModifierList.FirLightModifierList.FirLightModifierList|(...) [7]" style="filled" fillcolor=yellow];
|
||||
221 [label="Exit block [7]"];
|
||||
208 [label="Postponed exit from lambda [3]"];
|
||||
209 [label="Function call: this@R|/FirModifierList.Companion.getModifierList|.R|/FirLightSourceElement.lighterASTNode|.R|/LighterASTNode.getChildren|(...).R|kotlin/collections/find|<R|LighterASTNode?|>(...) [3]" style="filled" fillcolor=yellow];
|
||||
210 [label="Exit lhs of ?: [3]"];
|
||||
211 [label="Enter rhs of ?: [3]"];
|
||||
212 [label="Const: Null(null) [3]"];
|
||||
213 [label="Jump: ^getModifierList Null(null) [3]"];
|
||||
214 [label="Stub [3]" style="filled" fillcolor=gray];
|
||||
215 [label="Lhs of ?: is not null [3]"];
|
||||
216 [label="Exit ?: [3]"];
|
||||
217 [label="Variable declaration: lval modifierListNode: R|LighterASTNode| [3]"];
|
||||
218 [label="Access variable R|<local>/modifierListNode| [3]"];
|
||||
219 [label="Access variable R|/FirLightSourceElement.treeStructure| [3]"];
|
||||
220 [label="Function call: R|/FirModifierList.FirLightModifierList.FirLightModifierList|(...) [3]" style="filled" fillcolor=yellow];
|
||||
221 [label="Exit block [3]"];
|
||||
}
|
||||
222 [label="Exit when branch result [6]"];
|
||||
223 [label="Enter when branch result [6]"];
|
||||
222 [label="Exit when branch result [3]"];
|
||||
223 [label="Enter when branch result [3]"];
|
||||
subgraph cluster_66 {
|
||||
color=blue
|
||||
224 [label="Enter block [6]"];
|
||||
225 [label="Access variable R|/FirPsiSourceElement.psi| [6]"];
|
||||
226 [label="Type operator: (this@R|/FirModifierList.Companion.getModifierList|.R|/FirPsiSourceElement.psi| as? R|KtModifierListOwner|) [6]"];
|
||||
227 [label="Enter safe call [6]"];
|
||||
228 [label="Access variable R|/KtModifierListOwner.modifierList| [6]"];
|
||||
229 [label="Enter safe call [6]"];
|
||||
230 [label="Postponed enter to lambda [7]"];
|
||||
224 [label="Enter block [3]"];
|
||||
225 [label="Access variable R|/FirPsiSourceElement.psi| [3]"];
|
||||
226 [label="Type operator: (this@R|/FirModifierList.Companion.getModifierList|.R|/FirPsiSourceElement.psi| as? R|KtModifierListOwner|) [3]"];
|
||||
227 [label="Enter safe call [3]"];
|
||||
228 [label="Access variable R|/KtModifierListOwner.modifierList| [3]"];
|
||||
229 [label="Enter safe call [3]"];
|
||||
230 [label="Postponed enter to lambda [3]"];
|
||||
subgraph cluster_67 {
|
||||
color=blue
|
||||
231 [label="Enter function anonymousFunction [8]" style="filled" fillcolor=red];
|
||||
231 [label="Enter function anonymousFunction [4]" style="filled" fillcolor=red];
|
||||
subgraph cluster_68 {
|
||||
color=blue
|
||||
232 [label="Enter block [8]"];
|
||||
233 [label="Access variable R|<local>/it| [9]"];
|
||||
234 [label="Function call: R|/FirModifierList.FirPsiModifierList.FirPsiModifierList|(...) [8]" style="filled" fillcolor=yellow];
|
||||
235 [label="Exit block [8]"];
|
||||
232 [label="Enter block [4]"];
|
||||
233 [label="Access variable R|<local>/it| [4]"];
|
||||
234 [label="Function call: R|/FirModifierList.FirPsiModifierList.FirPsiModifierList|(...) [4]" style="filled" fillcolor=yellow];
|
||||
235 [label="Exit block [4]"];
|
||||
}
|
||||
236 [label="Exit function anonymousFunction [8]" style="filled" fillcolor=red];
|
||||
236 [label="Exit function anonymousFunction [4]" style="filled" fillcolor=red];
|
||||
}
|
||||
237 [label="Postponed exit from lambda [7]"];
|
||||
238 [label="Function call: $subj$.R|kotlin/let|<R|KtModifierList|, R|FirModifierList.FirPsiModifierList|>(...) [6]" style="filled" fillcolor=yellow];
|
||||
239 [label="Exit safe call [6]"];
|
||||
240 [label="Exit safe call [6]"];
|
||||
241 [label="Exit block [6]"];
|
||||
237 [label="Postponed exit from lambda [3]"];
|
||||
238 [label="Function call: $subj$.R|kotlin/let|<R|KtModifierList|, R|FirModifierList.FirPsiModifierList|>(...) [3]" style="filled" fillcolor=yellow];
|
||||
239 [label="Exit safe call [3]"];
|
||||
240 [label="Exit safe call [3]"];
|
||||
241 [label="Exit block [3]"];
|
||||
}
|
||||
242 [label="Exit when branch result [5]"];
|
||||
243 [label="Merge postponed lambda exits [6]"];
|
||||
244 [label="Enter when branch result [5]"];
|
||||
242 [label="Exit when branch result [3]"];
|
||||
243 [label="Merge postponed lambda exits [3]"];
|
||||
244 [label="Enter when branch result [3]"];
|
||||
subgraph cluster_69 {
|
||||
color=blue
|
||||
245 [label="Enter block [5]"];
|
||||
246 [label="Const: Null(null) [5]"];
|
||||
247 [label="Exit block [5]"];
|
||||
245 [label="Enter block [3]"];
|
||||
246 [label="Const: Null(null) [3]"];
|
||||
247 [label="Exit block [3]"];
|
||||
}
|
||||
248 [label="Exit when branch result [4]"];
|
||||
248 [label="Exit when branch result [3]"];
|
||||
249 [label="Exit when [3]"];
|
||||
}
|
||||
250 [label="Jump: ^getModifierList when (this@R|/FirModifierList.Companion.getModifierList|) {
|
||||
@@ -861,7 +861,7 @@ digraph kt44814_kt {
|
||||
subgraph cluster_78 {
|
||||
color=blue
|
||||
274 [label="Enter block [1]"];
|
||||
275 [label="Access qualifier /FirModifierList [2]"];
|
||||
275 [label="Access qualifier /FirModifierList [1]"];
|
||||
276 [label="Function call: Q|FirModifierList|.R|/FirModifierList.Companion.boxImpl|() [1]" style="filled" fillcolor=yellow];
|
||||
277 [label="Jump: ^box Q|FirModifierList|.R|/FirModifierList.Companion.boxImpl|() [1]"];
|
||||
278 [label="Stub [1]" style="filled" fillcolor=gray];
|
||||
|
||||
Reference in New Issue
Block a user