mirror of
https://github.com/github/codeql.git
synced 2026-03-30 20:28:15 +02:00
Java: Accept revised CFG.
This commit is contained in:
28
java/ql/lib/utils/test/AstCfg.qll
Normal file
28
java/ql/lib/utils/test/AstCfg.qll
Normal file
@@ -0,0 +1,28 @@
|
||||
/**
|
||||
* Provides utilities for getting an AST-based control flow graph in tests.
|
||||
*/
|
||||
overlay[local?]
|
||||
module;
|
||||
|
||||
import java
|
||||
|
||||
private predicate isAstNode(ControlFlowNode n) {
|
||||
n.injects(_) or
|
||||
n instanceof ControlFlow::EntryNode or
|
||||
n instanceof ControlFlow::AnnotatedExitNode or
|
||||
n instanceof ControlFlow::ExitNode
|
||||
}
|
||||
|
||||
private predicate succToAst(ControlFlowNode n1, ControlFlowNode n2) {
|
||||
n2 = n1.getASuccessor() and
|
||||
isAstNode(n2)
|
||||
or
|
||||
exists(ControlFlowNode mid |
|
||||
mid = n1.getASuccessor() and
|
||||
not isAstNode(mid) and
|
||||
succToAst(mid, n2)
|
||||
)
|
||||
}
|
||||
|
||||
/** Gets a control flow successor of `n` that skips over non-AST nodes. */
|
||||
ControlFlowNode getAnAstSuccessor(ControlFlowNode n) { isAstNode(n) and succToAst(n, result) }
|
||||
@@ -1,12 +1,10 @@
|
||||
#select
|
||||
| Test.kt:3:1:80:1 | super(...) | SuperConstructorInvocationStmt | Test.kt:3:8:80:1 | { ... } | BlockStmt |
|
||||
| Test.kt:3:8:80:1 | Exceptional Exit | Constructor | Test.kt:3:8:80:1 | Exit | Constructor |
|
||||
| Test.kt:3:8:80:1 | Exit | Constructor | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:3:8:80:1 | Entry | Constructor | Test.kt:3:8:80:1 | { ... } | BlockStmt |
|
||||
| Test.kt:3:8:80:1 | Normal Exit | Constructor | Test.kt:3:8:80:1 | Exit | Constructor |
|
||||
| Test.kt:3:8:80:1 | { ... } | BlockStmt | Test.kt:3:1:80:1 | super(...) | SuperConstructorInvocationStmt |
|
||||
| Test.kt:3:8:80:1 | { ... } | BlockStmt | Test.kt:3:8:80:1 | Normal Exit | Constructor |
|
||||
| Test.kt:4:2:79:2 | Exceptional Exit | Method | Test.kt:4:2:79:2 | Exit | Method |
|
||||
| Test.kt:4:2:79:2 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:4:2:79:2 | Entry | Method | Test.kt:4:13:79:2 | { ... } | BlockStmt |
|
||||
| Test.kt:4:2:79:2 | Normal Exit | Method | Test.kt:4:2:79:2 | Exit | Method |
|
||||
| Test.kt:4:13:79:2 | { ... } | BlockStmt | Test.kt:5:7:5:7 | var ...; | LocalVariableDeclStmt |
|
||||
| Test.kt:5:7:5:7 | var ...; | LocalVariableDeclStmt | Test.kt:5:16:5:16 | 0 | IntegerLiteral |
|
||||
@@ -31,17 +29,21 @@
|
||||
| Test.kt:11:7:11:11 | ... > ... | GTExpr | Test.kt:11:14:14:3 | { ... } | BlockStmt |
|
||||
| Test.kt:11:11:11:11 | 0 | IntegerLiteral | Test.kt:11:7:11:11 | ... > ... | GTExpr |
|
||||
| Test.kt:11:14:14:3 | { ... } | BlockStmt | Test.kt:12:4:12:4 | <Expr>; | ExprStmt |
|
||||
| Test.kt:12:4:12:4 | <Expr>; | ExprStmt | Test.kt:12:8:12:9 | 20 | LongLiteral |
|
||||
| Test.kt:12:4:12:4 | <Expr>; | ExprStmt | Test.kt:12:4:12:4 | y | VarAccess |
|
||||
| Test.kt:12:4:12:4 | y | VarAccess | Test.kt:12:8:12:9 | 20 | LongLiteral |
|
||||
| Test.kt:12:4:12:9 | ...=... | AssignExpr | Test.kt:13:4:13:4 | <Expr>; | ExprStmt |
|
||||
| Test.kt:12:8:12:9 | 20 | LongLiteral | Test.kt:12:4:12:9 | ...=... | AssignExpr |
|
||||
| Test.kt:13:4:13:4 | <Expr>; | ExprStmt | Test.kt:13:8:13:9 | 10 | IntegerLiteral |
|
||||
| Test.kt:13:4:13:4 | <Expr>; | ExprStmt | Test.kt:13:4:13:4 | z | VarAccess |
|
||||
| Test.kt:13:4:13:4 | z | VarAccess | Test.kt:13:8:13:9 | 10 | IntegerLiteral |
|
||||
| Test.kt:13:4:13:9 | ...=... | AssignExpr | Test.kt:18:3:18:3 | <Expr>; | ExprStmt |
|
||||
| Test.kt:13:8:13:9 | 10 | IntegerLiteral | Test.kt:13:4:13:9 | ...=... | AssignExpr |
|
||||
| Test.kt:14:10:16:3 | { ... } | BlockStmt | Test.kt:15:4:15:4 | <Expr>; | ExprStmt |
|
||||
| Test.kt:15:4:15:4 | <Expr>; | ExprStmt | Test.kt:15:8:15:9 | 30 | LongLiteral |
|
||||
| Test.kt:15:4:15:4 | <Expr>; | ExprStmt | Test.kt:15:4:15:4 | y | VarAccess |
|
||||
| Test.kt:15:4:15:4 | y | VarAccess | Test.kt:15:8:15:9 | 30 | LongLiteral |
|
||||
| Test.kt:15:4:15:9 | ...=... | AssignExpr | Test.kt:18:3:18:3 | <Expr>; | ExprStmt |
|
||||
| Test.kt:15:8:15:9 | 30 | LongLiteral | Test.kt:15:4:15:9 | ...=... | AssignExpr |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | ExprStmt | Test.kt:18:7:18:7 | 0 | IntegerLiteral |
|
||||
| Test.kt:18:3:18:3 | <Expr>; | ExprStmt | Test.kt:18:3:18:3 | z | VarAccess |
|
||||
| Test.kt:18:3:18:3 | z | VarAccess | Test.kt:18:7:18:7 | 0 | IntegerLiteral |
|
||||
| Test.kt:18:3:18:7 | ...=... | AssignExpr | Test.kt:21:3:24:9 | <Expr>; | ExprStmt |
|
||||
| Test.kt:18:7:18:7 | 0 | IntegerLiteral | Test.kt:18:3:18:7 | ...=... | AssignExpr |
|
||||
| Test.kt:21:3:24:9 | ... -> ... | WhenBranch | Test.kt:21:3:24:9 | true | BooleanLiteral |
|
||||
@@ -53,12 +55,14 @@
|
||||
| Test.kt:21:6:21:10 | ... < ... | LTExpr | Test.kt:21:3:24:9 | ... -> ... | WhenBranch |
|
||||
| Test.kt:21:6:21:10 | ... < ... | LTExpr | Test.kt:22:4:22:4 | <Expr>; | ExprStmt |
|
||||
| Test.kt:21:10:21:10 | 0 | IntegerLiteral | Test.kt:21:6:21:10 | ... < ... | LTExpr |
|
||||
| Test.kt:22:4:22:4 | <Expr>; | ExprStmt | Test.kt:22:8:22:9 | 40 | LongLiteral |
|
||||
| Test.kt:22:4:22:4 | <Expr>; | ExprStmt | Test.kt:22:4:22:4 | y | VarAccess |
|
||||
| Test.kt:22:4:22:4 | y | VarAccess | Test.kt:22:8:22:9 | 40 | LongLiteral |
|
||||
| Test.kt:22:4:22:9 | ...=... | AssignExpr | Test.kt:27:3:27:3 | <Expr>; | ExprStmt |
|
||||
| Test.kt:22:8:22:9 | 40 | LongLiteral | Test.kt:22:4:22:9 | ...=... | AssignExpr |
|
||||
| Test.kt:24:4:24:9 | INSTANCE | VarAccess | Test.kt:24:4:24:9 | return ... | ReturnStmt |
|
||||
| Test.kt:24:4:24:9 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Normal Exit | Method |
|
||||
| Test.kt:27:3:27:3 | <Expr>; | ExprStmt | Test.kt:27:7:27:8 | 10 | IntegerLiteral |
|
||||
| Test.kt:27:3:27:3 | <Expr>; | ExprStmt | Test.kt:27:3:27:3 | z | VarAccess |
|
||||
| Test.kt:27:3:27:3 | z | VarAccess | Test.kt:27:7:27:8 | 10 | IntegerLiteral |
|
||||
| Test.kt:27:3:27:8 | ...=... | AssignExpr | Test.kt:30:3:33:3 | <Expr>; | ExprStmt |
|
||||
| Test.kt:27:7:27:8 | 10 | IntegerLiteral | Test.kt:27:3:27:8 | ...=... | AssignExpr |
|
||||
| Test.kt:30:3:33:3 | ... -> ... | WhenBranch | Test.kt:30:7:30:7 | x | VarAccess |
|
||||
@@ -69,13 +73,16 @@
|
||||
| Test.kt:30:7:30:12 | ... (value equals) ... | ValueEQExpr | Test.kt:35:3:35:3 | <Expr>; | ExprStmt |
|
||||
| Test.kt:30:12:30:12 | 0 | IntegerLiteral | Test.kt:30:7:30:12 | ... (value equals) ... | ValueEQExpr |
|
||||
| Test.kt:30:15:33:3 | { ... } | BlockStmt | Test.kt:31:4:31:4 | <Expr>; | ExprStmt |
|
||||
| Test.kt:31:4:31:4 | <Expr>; | ExprStmt | Test.kt:31:8:31:9 | 60 | LongLiteral |
|
||||
| Test.kt:31:4:31:4 | <Expr>; | ExprStmt | Test.kt:31:4:31:4 | y | VarAccess |
|
||||
| Test.kt:31:4:31:4 | y | VarAccess | Test.kt:31:8:31:9 | 60 | LongLiteral |
|
||||
| Test.kt:31:4:31:9 | ...=... | AssignExpr | Test.kt:32:4:32:4 | <Expr>; | ExprStmt |
|
||||
| Test.kt:31:8:31:9 | 60 | LongLiteral | Test.kt:31:4:31:9 | ...=... | AssignExpr |
|
||||
| Test.kt:32:4:32:4 | <Expr>; | ExprStmt | Test.kt:32:8:32:9 | 10 | IntegerLiteral |
|
||||
| Test.kt:32:4:32:4 | <Expr>; | ExprStmt | Test.kt:32:4:32:4 | z | VarAccess |
|
||||
| Test.kt:32:4:32:4 | z | VarAccess | Test.kt:32:8:32:9 | 10 | IntegerLiteral |
|
||||
| Test.kt:32:4:32:9 | ...=... | AssignExpr | Test.kt:35:3:35:3 | <Expr>; | ExprStmt |
|
||||
| Test.kt:32:8:32:9 | 10 | IntegerLiteral | Test.kt:32:4:32:9 | ...=... | AssignExpr |
|
||||
| Test.kt:35:3:35:3 | <Expr>; | ExprStmt | Test.kt:35:7:35:8 | 20 | IntegerLiteral |
|
||||
| Test.kt:35:3:35:3 | <Expr>; | ExprStmt | Test.kt:35:3:35:3 | z | VarAccess |
|
||||
| Test.kt:35:3:35:3 | z | VarAccess | Test.kt:35:7:35:8 | 20 | IntegerLiteral |
|
||||
| Test.kt:35:3:35:8 | ...=... | AssignExpr | Test.kt:38:3:41:3 | while (...) | WhileStmt |
|
||||
| Test.kt:35:7:35:8 | 20 | IntegerLiteral | Test.kt:35:3:35:8 | ...=... | AssignExpr |
|
||||
| Test.kt:38:3:41:3 | while (...) | WhileStmt | Test.kt:38:9:38:9 | x | VarAccess |
|
||||
@@ -84,35 +91,40 @@
|
||||
| Test.kt:38:9:38:13 | ... > ... | GTExpr | Test.kt:43:3:43:3 | <Expr>; | ExprStmt |
|
||||
| Test.kt:38:13:38:13 | 0 | IntegerLiteral | Test.kt:38:9:38:13 | ... > ... | GTExpr |
|
||||
| Test.kt:38:16:41:3 | { ... } | BlockStmt | Test.kt:39:4:39:4 | <Expr>; | ExprStmt |
|
||||
| Test.kt:39:4:39:4 | <Expr>; | ExprStmt | Test.kt:39:8:39:9 | 10 | LongLiteral |
|
||||
| Test.kt:39:4:39:4 | <Expr>; | ExprStmt | Test.kt:39:4:39:4 | y | VarAccess |
|
||||
| Test.kt:39:4:39:4 | y | VarAccess | Test.kt:39:8:39:9 | 10 | LongLiteral |
|
||||
| Test.kt:39:4:39:9 | ...=... | AssignExpr | Test.kt:40:4:40:6 | <Expr>; | ExprStmt |
|
||||
| Test.kt:39:8:39:9 | 10 | LongLiteral | Test.kt:39:4:39:9 | ...=... | AssignExpr |
|
||||
| Test.kt:40:4:40:4 | <Expr>; | ExprStmt | Test.kt:40:4:40:6 | tmp0 | VarAccess |
|
||||
| Test.kt:40:4:40:4 | <Expr>; | ExprStmt | Test.kt:40:4:40:4 | x | VarAccess |
|
||||
| Test.kt:40:4:40:4 | x | VarAccess | Test.kt:40:4:40:6 | tmp0 | LocalVariableDeclExpr |
|
||||
| Test.kt:40:4:40:4 | x | VarAccess | Test.kt:40:4:40:6 | tmp0 | VarAccess |
|
||||
| Test.kt:40:4:40:6 | ...=... | AssignExpr | Test.kt:40:4:40:6 | <Expr>; | ExprStmt |
|
||||
| Test.kt:40:4:40:6 | <Expr>; | ExprStmt | Test.kt:40:4:40:6 | <Stmt> | StmtExpr |
|
||||
| Test.kt:40:4:40:6 | <Expr>; | ExprStmt | Test.kt:40:4:40:6 | tmp0 | VarAccess |
|
||||
| Test.kt:40:4:40:6 | <Stmt> | StmtExpr | Test.kt:40:4:40:6 | { ... } | BlockStmt |
|
||||
| Test.kt:40:4:40:6 | <Expr>; | ExprStmt | Test.kt:40:4:40:6 | { ... } | BlockStmt |
|
||||
| Test.kt:40:4:40:6 | <Stmt> | StmtExpr | Test.kt:40:4:40:6 | <implicit coercion to unit> | ImplicitCoercionToUnitExpr |
|
||||
| Test.kt:40:4:40:6 | <implicit coercion to unit> | ImplicitCoercionToUnitExpr | Test.kt:38:9:38:9 | x | VarAccess |
|
||||
| Test.kt:40:4:40:6 | dec(...) | MethodCall | Test.kt:40:4:40:6 | ...=... | AssignExpr |
|
||||
| Test.kt:40:4:40:6 | tmp0 | LocalVariableDeclExpr | Test.kt:40:4:40:4 | <Expr>; | ExprStmt |
|
||||
| Test.kt:40:4:40:6 | tmp0 | VarAccess | Test.kt:40:4:40:6 | <implicit coercion to unit> | ImplicitCoercionToUnitExpr |
|
||||
| Test.kt:40:4:40:6 | tmp0 | VarAccess | Test.kt:40:4:40:6 | <Stmt> | StmtExpr |
|
||||
| Test.kt:40:4:40:6 | tmp0 | VarAccess | Test.kt:40:4:40:6 | dec(...) | MethodCall |
|
||||
| Test.kt:40:4:40:6 | var ...; | LocalVariableDeclStmt | Test.kt:40:4:40:4 | x | VarAccess |
|
||||
| Test.kt:40:4:40:6 | { ... } | BlockStmt | Test.kt:40:4:40:6 | var ...; | LocalVariableDeclStmt |
|
||||
| Test.kt:43:3:43:3 | <Expr>; | ExprStmt | Test.kt:43:7:43:8 | 30 | IntegerLiteral |
|
||||
| Test.kt:43:3:43:3 | <Expr>; | ExprStmt | Test.kt:43:3:43:3 | z | VarAccess |
|
||||
| Test.kt:43:3:43:3 | z | VarAccess | Test.kt:43:7:43:8 | 30 | IntegerLiteral |
|
||||
| Test.kt:43:3:43:8 | ...=... | AssignExpr | Test.kt:73:3:73:3 | <Expr>; | ExprStmt |
|
||||
| Test.kt:43:7:43:8 | 30 | IntegerLiteral | Test.kt:43:3:43:8 | ...=... | AssignExpr |
|
||||
| Test.kt:73:3:73:3 | <Expr>; | ExprStmt | Test.kt:73:7:73:8 | 50 | IntegerLiteral |
|
||||
| Test.kt:73:3:73:3 | <Expr>; | ExprStmt | Test.kt:73:3:73:3 | z | VarAccess |
|
||||
| Test.kt:73:3:73:3 | z | VarAccess | Test.kt:73:7:73:8 | 50 | IntegerLiteral |
|
||||
| Test.kt:73:3:73:8 | ...=... | AssignExpr | Test.kt:77:3:77:3 | <Expr>; | ExprStmt |
|
||||
| Test.kt:73:7:73:8 | 50 | IntegerLiteral | Test.kt:73:3:73:8 | ...=... | AssignExpr |
|
||||
| Test.kt:77:3:77:3 | <Expr>; | ExprStmt | Test.kt:77:7:77:8 | 40 | IntegerLiteral |
|
||||
| Test.kt:77:3:77:3 | <Expr>; | ExprStmt | Test.kt:77:3:77:3 | w | VarAccess |
|
||||
| Test.kt:77:3:77:3 | w | VarAccess | Test.kt:77:7:77:8 | 40 | IntegerLiteral |
|
||||
| Test.kt:77:3:77:8 | ...=... | AssignExpr | Test.kt:78:3:78:8 | INSTANCE | VarAccess |
|
||||
| Test.kt:77:7:77:8 | 40 | IntegerLiteral | Test.kt:77:3:77:8 | ...=... | AssignExpr |
|
||||
| Test.kt:78:3:78:8 | INSTANCE | VarAccess | Test.kt:78:3:78:8 | return ... | ReturnStmt |
|
||||
| Test.kt:78:3:78:8 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Normal Exit | Method |
|
||||
| Test.kt:82:1:89:1 | Entry | Method | Test.kt:82:21:89:1 | { ... } | BlockStmt |
|
||||
| Test.kt:82:1:89:1 | Exceptional Exit | Method | Test.kt:82:1:89:1 | Exit | Method |
|
||||
| Test.kt:82:1:89:1 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:82:1:89:1 | Normal Exit | Method | Test.kt:82:1:89:1 | Exit | Method |
|
||||
| Test.kt:82:21:89:1 | { ... } | BlockStmt | Test.kt:83:2:88:2 | try ... | TryStmt |
|
||||
| Test.kt:83:2:88:2 | try ... | TryStmt | Test.kt:83:6:86:2 | { ... } | BlockStmt |
|
||||
@@ -124,13 +136,14 @@
|
||||
| Test.kt:84:11:84:18 | (...)... | CastExpr | Test.kt:86:4:88:2 | catch (...) | CatchClause |
|
||||
| Test.kt:85:3:85:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Normal Exit | Method |
|
||||
| Test.kt:85:10:85:10 | 1 | IntegerLiteral | Test.kt:85:3:85:10 | return ... | ReturnStmt |
|
||||
| Test.kt:86:4:88:2 | catch (...) | CatchClause | Test.kt:82:1:89:1 | Exceptional Exit | Method |
|
||||
| Test.kt:86:4:88:2 | catch (...) | CatchClause | Test.kt:86:11:86:31 | e | LocalVariableDeclExpr |
|
||||
| Test.kt:86:11:86:31 | e | LocalVariableDeclExpr | Test.kt:86:34:88:2 | { ... } | BlockStmt |
|
||||
| Test.kt:86:34:88:2 | { ... } | BlockStmt | Test.kt:87:10:87:10 | 2 | IntegerLiteral |
|
||||
| Test.kt:87:3:87:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Normal Exit | Method |
|
||||
| Test.kt:87:10:87:10 | 2 | IntegerLiteral | Test.kt:87:3:87:10 | return ... | ReturnStmt |
|
||||
| Test.kt:91:1:98:1 | Entry | Method | Test.kt:91:22:98:1 | { ... } | BlockStmt |
|
||||
| Test.kt:91:1:98:1 | Exceptional Exit | Method | Test.kt:91:1:98:1 | Exit | Method |
|
||||
| Test.kt:91:1:98:1 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:91:1:98:1 | Normal Exit | Method | Test.kt:91:1:98:1 | Exit | Method |
|
||||
| Test.kt:91:22:98:1 | { ... } | BlockStmt | Test.kt:92:2:97:2 | try ... | TryStmt |
|
||||
| Test.kt:92:2:97:2 | try ... | TryStmt | Test.kt:92:6:95:2 | { ... } | BlockStmt |
|
||||
@@ -142,13 +155,14 @@
|
||||
| Test.kt:93:12:93:13 | ...!! | NotNullExpr | Test.kt:95:4:97:2 | catch (...) | CatchClause |
|
||||
| Test.kt:94:3:94:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Normal Exit | Method |
|
||||
| Test.kt:94:10:94:10 | 1 | IntegerLiteral | Test.kt:94:3:94:10 | return ... | ReturnStmt |
|
||||
| Test.kt:95:4:97:2 | catch (...) | CatchClause | Test.kt:91:1:98:1 | Exceptional Exit | Method |
|
||||
| Test.kt:95:4:97:2 | catch (...) | CatchClause | Test.kt:95:11:95:33 | e | LocalVariableDeclExpr |
|
||||
| Test.kt:95:11:95:33 | e | LocalVariableDeclExpr | Test.kt:95:36:97:2 | { ... } | BlockStmt |
|
||||
| Test.kt:95:36:97:2 | { ... } | BlockStmt | Test.kt:96:10:96:10 | 2 | IntegerLiteral |
|
||||
| Test.kt:96:3:96:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Normal Exit | Method |
|
||||
| Test.kt:96:10:96:10 | 2 | IntegerLiteral | Test.kt:96:3:96:10 | return ... | ReturnStmt |
|
||||
| Test.kt:100:1:110:1 | Entry | Method | Test.kt:100:25:110:1 | { ... } | BlockStmt |
|
||||
| Test.kt:100:1:110:1 | Exceptional Exit | Method | Test.kt:100:1:110:1 | Exit | Method |
|
||||
| Test.kt:100:1:110:1 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:100:1:110:1 | Normal Exit | Method | Test.kt:100:1:110:1 | Exit | Method |
|
||||
| Test.kt:100:25:110:1 | { ... } | BlockStmt | Test.kt:101:5:103:5 | <Expr>; | ExprStmt |
|
||||
| Test.kt:101:5:103:5 | ... -> ... | WhenBranch | Test.kt:101:9:101:30 | ... && ... | AndLogicalExpr |
|
||||
@@ -186,8 +200,7 @@
|
||||
| Test.kt:108:9:108:29 | <Expr>; | ExprStmt | Test.kt:108:17:108:28 | "y not null" | StringLiteral |
|
||||
| Test.kt:108:9:108:29 | println(...) | MethodCall | Test.kt:100:1:110:1 | Normal Exit | Method |
|
||||
| Test.kt:108:17:108:28 | "y not null" | StringLiteral | Test.kt:108:9:108:29 | println(...) | MethodCall |
|
||||
| Test.kt:112:1:116:1 | Exceptional Exit | Method | Test.kt:112:1:116:1 | Exit | Method |
|
||||
| Test.kt:112:1:116:1 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:112:1:116:1 | Entry | Method | Test.kt:112:32:116:1 | { ... } | BlockStmt |
|
||||
| Test.kt:112:1:116:1 | Normal Exit | Method | Test.kt:112:1:116:1 | Exit | Method |
|
||||
| Test.kt:112:32:116:1 | { ... } | BlockStmt | Test.kt:113:5:115:5 | <Expr>; | ExprStmt |
|
||||
| Test.kt:113:5:115:5 | ... -> ... | WhenBranch | Test.kt:113:9:113:14 | ... && ... | AndLogicalExpr |
|
||||
@@ -199,8 +212,7 @@
|
||||
| Test.kt:113:14:113:14 | y | VarAccess | Test.kt:112:1:116:1 | Normal Exit | Method |
|
||||
| Test.kt:113:14:113:14 | y | VarAccess | Test.kt:113:17:115:5 | { ... } | BlockStmt |
|
||||
| Test.kt:113:17:115:5 | { ... } | BlockStmt | Test.kt:112:1:116:1 | Normal Exit | Method |
|
||||
| Test.kt:118:1:124:1 | Exceptional Exit | Method | Test.kt:118:1:124:1 | Exit | Method |
|
||||
| Test.kt:118:1:124:1 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:118:1:124:1 | Entry | Method | Test.kt:118:37:124:1 | { ... } | BlockStmt |
|
||||
| Test.kt:118:1:124:1 | Normal Exit | Method | Test.kt:118:1:124:1 | Exit | Method |
|
||||
| Test.kt:118:37:124:1 | { ... } | BlockStmt | Test.kt:119:2:123:12 | <Expr>; | ExprStmt |
|
||||
| Test.kt:119:2:123:12 | <Expr>; | ExprStmt | Test.kt:119:2:123:12 | when ... | WhenExpr |
|
||||
@@ -216,6 +228,7 @@
|
||||
| Test.kt:122:12:122:16 | ... -> ... | WhenBranch | Test.kt:122:12:122:16 | true | BooleanLiteral |
|
||||
| Test.kt:122:12:122:16 | <Expr>; | ExprStmt | Test.kt:122:12:122:16 | false | BooleanLiteral |
|
||||
| Test.kt:122:12:122:16 | false | BooleanLiteral | Test.kt:118:1:124:1 | Normal Exit | Method |
|
||||
| Test.kt:122:12:122:16 | false | BooleanLiteral | Test.kt:123:8:123:10 | { ... } | BlockStmt |
|
||||
| Test.kt:122:12:122:16 | true | BooleanLiteral | Test.kt:122:12:122:16 | <Expr>; | ExprStmt |
|
||||
| Test.kt:123:8:123:10 | { ... } | BlockStmt | Test.kt:118:1:124:1 | Normal Exit | Method |
|
||||
missingSuccessor
|
||||
|
||||
@@ -1,53 +1,14 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
newtype TMaybeControlFlowNode =
|
||||
TControlFlowNode(ControlFlowNode c) or
|
||||
TNoControlFlowNode()
|
||||
|
||||
class MaybeControlFlowNode extends TMaybeControlFlowNode {
|
||||
abstract string toString();
|
||||
|
||||
abstract Location getLocation();
|
||||
|
||||
abstract string getPrimaryQlClasses();
|
||||
}
|
||||
|
||||
class YesMaybeControlFlowNode extends MaybeControlFlowNode {
|
||||
ControlFlowNode c;
|
||||
|
||||
YesMaybeControlFlowNode() { this = TControlFlowNode(c) }
|
||||
|
||||
override string toString() { result = c.toString() }
|
||||
|
||||
override Location getLocation() { result = c.getLocation() }
|
||||
|
||||
override string getPrimaryQlClasses() { result = c.getAstNode().getPrimaryQlClasses() }
|
||||
}
|
||||
|
||||
class NoMaybeControlFlowNode extends MaybeControlFlowNode {
|
||||
NoMaybeControlFlowNode() { this = TNoControlFlowNode() }
|
||||
|
||||
override string toString() { result = "<none>" }
|
||||
|
||||
override Location getLocation() { result.toString() = "file://:0:0:0:0" }
|
||||
|
||||
override string getPrimaryQlClasses() { result = "<none>" }
|
||||
}
|
||||
|
||||
MaybeControlFlowNode maybeSuccessor(ControlFlowNode n) {
|
||||
if exists(n.getASuccessor())
|
||||
then result = TControlFlowNode(n.getASuccessor())
|
||||
else result = TNoControlFlowNode()
|
||||
}
|
||||
|
||||
from ControlFlowNode n, MaybeControlFlowNode m
|
||||
from ControlFlowNode n, ControlFlowNode m
|
||||
where
|
||||
m = maybeSuccessor(n) and
|
||||
m = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().(CompilationUnit).fromSource()
|
||||
select n, n.getAstNode().getPrimaryQlClasses(), m, m.getPrimaryQlClasses()
|
||||
select n, n.getAstNode().getPrimaryQlClasses(), m, m.getAstNode().getPrimaryQlClasses()
|
||||
|
||||
query predicate missingSuccessor(Expr e) {
|
||||
maybeSuccessor(e.getControlFlowNode()) instanceof NoMaybeControlFlowNode and
|
||||
exists(ControlFlowNode n | n = e.getControlFlowNode() and not exists(n.getASuccessor())) and
|
||||
e.getFile().(CompilationUnit).fromSource() and
|
||||
not e instanceof TypeAccess and
|
||||
not e instanceof VarWrite
|
||||
|
||||
@@ -1,12 +1,10 @@
|
||||
#select
|
||||
| Test.kt:3:1:80:1 | Exceptional Exit | Constructor | Test.kt:3:1:80:1 | Exit | Constructor |
|
||||
| Test.kt:3:1:80:1 | Exit | Constructor | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:3:1:80:1 | Entry | Constructor | Test.kt:3:1:80:1 | { ... } | BlockStmt |
|
||||
| Test.kt:3:1:80:1 | Normal Exit | Constructor | Test.kt:3:1:80:1 | Exit | Constructor |
|
||||
| Test.kt:3:1:80:1 | super(...) | SuperConstructorInvocationStmt | Test.kt:3:1:80:1 | { ... } | BlockStmt |
|
||||
| Test.kt:3:1:80:1 | { ... } | BlockStmt | Test.kt:3:1:80:1 | Normal Exit | Constructor |
|
||||
| Test.kt:3:1:80:1 | { ... } | BlockStmt | Test.kt:3:1:80:1 | super(...) | SuperConstructorInvocationStmt |
|
||||
| Test.kt:4:2:79:2 | Exceptional Exit | Method | Test.kt:4:2:79:2 | Exit | Method |
|
||||
| Test.kt:4:2:79:2 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:4:2:79:2 | Entry | Method | Test.kt:4:13:79:2 | { ... } | BlockStmt |
|
||||
| Test.kt:4:2:79:2 | Normal Exit | Method | Test.kt:4:2:79:2 | Exit | Method |
|
||||
| Test.kt:4:13:79:2 | { ... } | BlockStmt | Test.kt:5:3:5:16 | var ...; | LocalVariableDeclStmt |
|
||||
| Test.kt:5:3:5:16 | var ...; | LocalVariableDeclStmt | Test.kt:5:16:5:16 | 0 | IntegerLiteral |
|
||||
@@ -30,19 +28,23 @@
|
||||
| Test.kt:11:11:11:11 | 0 | IntegerLiteral | Test.kt:11:7:11:11 | ... > ... | GTExpr |
|
||||
| Test.kt:11:14:14:3 | { ... } | BlockStmt | Test.kt:12:4:12:9 | <Expr>; | ExprStmt |
|
||||
| Test.kt:12:4:12:9 | ...=... | AssignExpr | Test.kt:13:4:13:9 | <Expr>; | ExprStmt |
|
||||
| Test.kt:12:4:12:9 | <Expr>; | ExprStmt | Test.kt:12:8:12:9 | 20 | LongLiteral |
|
||||
| Test.kt:12:4:12:9 | <Expr>; | ExprStmt | Test.kt:12:4:12:9 | y | VarAccess |
|
||||
| Test.kt:12:4:12:9 | y | VarAccess | Test.kt:12:8:12:9 | 20 | LongLiteral |
|
||||
| Test.kt:12:8:12:9 | 20 | LongLiteral | Test.kt:12:4:12:9 | ...=... | AssignExpr |
|
||||
| Test.kt:13:4:13:9 | ...=... | AssignExpr | Test.kt:18:3:18:7 | <Expr>; | ExprStmt |
|
||||
| Test.kt:13:4:13:9 | <Expr>; | ExprStmt | Test.kt:13:8:13:9 | 10 | IntegerLiteral |
|
||||
| Test.kt:13:4:13:9 | <Expr>; | ExprStmt | Test.kt:13:4:13:9 | z | VarAccess |
|
||||
| Test.kt:13:4:13:9 | z | VarAccess | Test.kt:13:8:13:9 | 10 | IntegerLiteral |
|
||||
| Test.kt:13:8:13:9 | 10 | IntegerLiteral | Test.kt:13:4:13:9 | ...=... | AssignExpr |
|
||||
| Test.kt:14:10:16:3 | ... -> ... | WhenBranch | Test.kt:14:10:16:3 | true | BooleanLiteral |
|
||||
| Test.kt:14:10:16:3 | true | BooleanLiteral | Test.kt:14:10:16:3 | { ... } | BlockStmt |
|
||||
| Test.kt:14:10:16:3 | { ... } | BlockStmt | Test.kt:15:4:15:9 | <Expr>; | ExprStmt |
|
||||
| Test.kt:15:4:15:9 | ...=... | AssignExpr | Test.kt:18:3:18:7 | <Expr>; | ExprStmt |
|
||||
| Test.kt:15:4:15:9 | <Expr>; | ExprStmt | Test.kt:15:8:15:9 | 30 | LongLiteral |
|
||||
| Test.kt:15:4:15:9 | <Expr>; | ExprStmt | Test.kt:15:4:15:9 | y | VarAccess |
|
||||
| Test.kt:15:4:15:9 | y | VarAccess | Test.kt:15:8:15:9 | 30 | LongLiteral |
|
||||
| Test.kt:15:8:15:9 | 30 | LongLiteral | Test.kt:15:4:15:9 | ...=... | AssignExpr |
|
||||
| Test.kt:18:3:18:7 | ...=... | AssignExpr | Test.kt:21:3:24:9 | <Expr>; | ExprStmt |
|
||||
| Test.kt:18:3:18:7 | <Expr>; | ExprStmt | Test.kt:18:7:18:7 | 0 | IntegerLiteral |
|
||||
| Test.kt:18:3:18:7 | <Expr>; | ExprStmt | Test.kt:18:3:18:7 | z | VarAccess |
|
||||
| Test.kt:18:3:18:7 | z | VarAccess | Test.kt:18:7:18:7 | 0 | IntegerLiteral |
|
||||
| Test.kt:18:7:18:7 | 0 | IntegerLiteral | Test.kt:18:3:18:7 | ...=... | AssignExpr |
|
||||
| Test.kt:21:3:24:9 | <Expr>; | ExprStmt | Test.kt:21:3:24:9 | when ... | WhenExpr |
|
||||
| Test.kt:21:3:24:9 | when ... | WhenExpr | Test.kt:21:6:22:9 | ... -> ... | WhenBranch |
|
||||
@@ -52,14 +54,16 @@
|
||||
| Test.kt:21:6:22:9 | ... -> ... | WhenBranch | Test.kt:21:6:21:6 | x | VarAccess |
|
||||
| Test.kt:21:10:21:10 | 0 | IntegerLiteral | Test.kt:21:6:21:10 | ... < ... | LTExpr |
|
||||
| Test.kt:22:4:22:9 | ...=... | AssignExpr | Test.kt:27:3:27:8 | <Expr>; | ExprStmt |
|
||||
| Test.kt:22:4:22:9 | <Expr>; | ExprStmt | Test.kt:22:8:22:9 | 40 | LongLiteral |
|
||||
| Test.kt:22:4:22:9 | <Expr>; | ExprStmt | Test.kt:22:4:22:9 | y | VarAccess |
|
||||
| Test.kt:22:4:22:9 | y | VarAccess | Test.kt:22:8:22:9 | 40 | LongLiteral |
|
||||
| Test.kt:22:8:22:9 | 40 | LongLiteral | Test.kt:22:4:22:9 | ...=... | AssignExpr |
|
||||
| Test.kt:24:4:24:9 | ... -> ... | WhenBranch | Test.kt:24:4:24:9 | true | BooleanLiteral |
|
||||
| Test.kt:24:4:24:9 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Normal Exit | Method |
|
||||
| Test.kt:24:4:24:9 | true | BooleanLiteral | Test.kt:24:10:24:10 | INSTANCE | VarAccess |
|
||||
| Test.kt:24:10:24:10 | INSTANCE | VarAccess | Test.kt:24:4:24:9 | return ... | ReturnStmt |
|
||||
| Test.kt:27:3:27:8 | ...=... | AssignExpr | Test.kt:30:3:33:3 | <Expr>; | ExprStmt |
|
||||
| Test.kt:27:3:27:8 | <Expr>; | ExprStmt | Test.kt:27:7:27:8 | 10 | IntegerLiteral |
|
||||
| Test.kt:27:3:27:8 | <Expr>; | ExprStmt | Test.kt:27:3:27:8 | z | VarAccess |
|
||||
| Test.kt:27:3:27:8 | z | VarAccess | Test.kt:27:7:27:8 | 10 | IntegerLiteral |
|
||||
| Test.kt:27:7:27:8 | 10 | IntegerLiteral | Test.kt:27:3:27:8 | ...=... | AssignExpr |
|
||||
| Test.kt:30:3:33:3 | <Expr>; | ExprStmt | Test.kt:30:3:33:3 | when ... | WhenExpr |
|
||||
| Test.kt:30:3:33:3 | when ... | WhenExpr | Test.kt:30:7:33:3 | ... -> ... | WhenBranch |
|
||||
@@ -70,13 +74,16 @@
|
||||
| Test.kt:30:12:30:12 | 0 | IntegerLiteral | Test.kt:30:7:30:12 | ... (value equals) ... | ValueEQExpr |
|
||||
| Test.kt:30:15:33:3 | { ... } | BlockStmt | Test.kt:31:4:31:9 | <Expr>; | ExprStmt |
|
||||
| Test.kt:31:4:31:9 | ...=... | AssignExpr | Test.kt:32:4:32:9 | <Expr>; | ExprStmt |
|
||||
| Test.kt:31:4:31:9 | <Expr>; | ExprStmt | Test.kt:31:8:31:9 | 60 | LongLiteral |
|
||||
| Test.kt:31:4:31:9 | <Expr>; | ExprStmt | Test.kt:31:4:31:9 | y | VarAccess |
|
||||
| Test.kt:31:4:31:9 | y | VarAccess | Test.kt:31:8:31:9 | 60 | LongLiteral |
|
||||
| Test.kt:31:8:31:9 | 60 | LongLiteral | Test.kt:31:4:31:9 | ...=... | AssignExpr |
|
||||
| Test.kt:32:4:32:9 | ...=... | AssignExpr | Test.kt:35:3:35:8 | <Expr>; | ExprStmt |
|
||||
| Test.kt:32:4:32:9 | <Expr>; | ExprStmt | Test.kt:32:8:32:9 | 10 | IntegerLiteral |
|
||||
| Test.kt:32:4:32:9 | <Expr>; | ExprStmt | Test.kt:32:4:32:9 | z | VarAccess |
|
||||
| Test.kt:32:4:32:9 | z | VarAccess | Test.kt:32:8:32:9 | 10 | IntegerLiteral |
|
||||
| Test.kt:32:8:32:9 | 10 | IntegerLiteral | Test.kt:32:4:32:9 | ...=... | AssignExpr |
|
||||
| Test.kt:35:3:35:8 | ...=... | AssignExpr | Test.kt:38:3:41:3 | while (...) | WhileStmt |
|
||||
| Test.kt:35:3:35:8 | <Expr>; | ExprStmt | Test.kt:35:7:35:8 | 20 | IntegerLiteral |
|
||||
| Test.kt:35:3:35:8 | <Expr>; | ExprStmt | Test.kt:35:3:35:8 | z | VarAccess |
|
||||
| Test.kt:35:3:35:8 | z | VarAccess | Test.kt:35:7:35:8 | 20 | IntegerLiteral |
|
||||
| Test.kt:35:7:35:8 | 20 | IntegerLiteral | Test.kt:35:3:35:8 | ...=... | AssignExpr |
|
||||
| Test.kt:38:3:41:3 | while (...) | WhileStmt | Test.kt:38:9:38:9 | x | VarAccess |
|
||||
| Test.kt:38:9:38:9 | x | VarAccess | Test.kt:38:13:38:13 | 0 | IntegerLiteral |
|
||||
@@ -85,34 +92,39 @@
|
||||
| Test.kt:38:13:38:13 | 0 | IntegerLiteral | Test.kt:38:9:38:13 | ... > ... | GTExpr |
|
||||
| Test.kt:38:16:41:3 | { ... } | BlockStmt | Test.kt:39:4:39:9 | <Expr>; | ExprStmt |
|
||||
| Test.kt:39:4:39:9 | ...=... | AssignExpr | Test.kt:40:4:40:6 | <Expr>; | ExprStmt |
|
||||
| Test.kt:39:4:39:9 | <Expr>; | ExprStmt | Test.kt:39:8:39:9 | 10 | LongLiteral |
|
||||
| Test.kt:39:4:39:9 | <Expr>; | ExprStmt | Test.kt:39:4:39:9 | y | VarAccess |
|
||||
| Test.kt:39:4:39:9 | y | VarAccess | Test.kt:39:8:39:9 | 10 | LongLiteral |
|
||||
| Test.kt:39:8:39:9 | 10 | LongLiteral | Test.kt:39:4:39:9 | ...=... | AssignExpr |
|
||||
| Test.kt:40:4:40:4 | x | VarAccess | Test.kt:40:4:40:6 | <unary> | LocalVariableDeclExpr |
|
||||
| Test.kt:40:4:40:6 | ...=... | AssignExpr | Test.kt:40:4:40:6 | <Expr>; | ExprStmt |
|
||||
| Test.kt:40:4:40:6 | <Expr>; | ExprStmt | Test.kt:40:4:40:6 | <Stmt> | StmtExpr |
|
||||
| Test.kt:40:4:40:6 | <Expr>; | ExprStmt | Test.kt:40:4:40:6 | <unary> | VarAccess |
|
||||
| Test.kt:40:4:40:6 | <Expr>; | ExprStmt | Test.kt:40:4:40:6 | <unary> | VarAccess |
|
||||
| Test.kt:40:4:40:6 | <Stmt> | StmtExpr | Test.kt:40:4:40:6 | { ... } | BlockStmt |
|
||||
| Test.kt:40:4:40:6 | <Expr>; | ExprStmt | Test.kt:40:4:40:6 | x | VarAccess |
|
||||
| Test.kt:40:4:40:6 | <Expr>; | ExprStmt | Test.kt:40:4:40:6 | { ... } | BlockStmt |
|
||||
| Test.kt:40:4:40:6 | <Stmt> | StmtExpr | Test.kt:40:4:40:6 | <implicit coercion to unit> | ImplicitCoercionToUnitExpr |
|
||||
| Test.kt:40:4:40:6 | <implicit coercion to unit> | ImplicitCoercionToUnitExpr | Test.kt:38:9:38:9 | x | VarAccess |
|
||||
| Test.kt:40:4:40:6 | <unary> | LocalVariableDeclExpr | Test.kt:40:4:40:6 | <Expr>; | ExprStmt |
|
||||
| Test.kt:40:4:40:6 | <unary> | VarAccess | Test.kt:40:4:40:6 | <implicit coercion to unit> | ImplicitCoercionToUnitExpr |
|
||||
| Test.kt:40:4:40:6 | <unary> | VarAccess | Test.kt:40:4:40:6 | <Stmt> | StmtExpr |
|
||||
| Test.kt:40:4:40:6 | <unary> | VarAccess | Test.kt:40:4:40:6 | dec(...) | MethodCall |
|
||||
| Test.kt:40:4:40:6 | dec(...) | MethodCall | Test.kt:40:4:40:6 | ...=... | AssignExpr |
|
||||
| Test.kt:40:4:40:6 | var ...; | LocalVariableDeclStmt | Test.kt:40:4:40:4 | x | VarAccess |
|
||||
| Test.kt:40:4:40:6 | x | VarAccess | Test.kt:40:4:40:6 | <unary> | VarAccess |
|
||||
| Test.kt:40:4:40:6 | { ... } | BlockStmt | Test.kt:40:4:40:6 | var ...; | LocalVariableDeclStmt |
|
||||
| Test.kt:43:3:43:8 | ...=... | AssignExpr | Test.kt:73:3:73:8 | <Expr>; | ExprStmt |
|
||||
| Test.kt:43:3:43:8 | <Expr>; | ExprStmt | Test.kt:43:7:43:8 | 30 | IntegerLiteral |
|
||||
| Test.kt:43:3:43:8 | <Expr>; | ExprStmt | Test.kt:43:3:43:8 | z | VarAccess |
|
||||
| Test.kt:43:3:43:8 | z | VarAccess | Test.kt:43:7:43:8 | 30 | IntegerLiteral |
|
||||
| Test.kt:43:7:43:8 | 30 | IntegerLiteral | Test.kt:43:3:43:8 | ...=... | AssignExpr |
|
||||
| Test.kt:73:3:73:8 | ...=... | AssignExpr | Test.kt:77:3:77:8 | <Expr>; | ExprStmt |
|
||||
| Test.kt:73:3:73:8 | <Expr>; | ExprStmt | Test.kt:73:7:73:8 | 50 | IntegerLiteral |
|
||||
| Test.kt:73:3:73:8 | <Expr>; | ExprStmt | Test.kt:73:3:73:8 | z | VarAccess |
|
||||
| Test.kt:73:3:73:8 | z | VarAccess | Test.kt:73:7:73:8 | 50 | IntegerLiteral |
|
||||
| Test.kt:73:7:73:8 | 50 | IntegerLiteral | Test.kt:73:3:73:8 | ...=... | AssignExpr |
|
||||
| Test.kt:77:3:77:8 | ...=... | AssignExpr | Test.kt:78:9:78:9 | INSTANCE | VarAccess |
|
||||
| Test.kt:77:3:77:8 | <Expr>; | ExprStmt | Test.kt:77:7:77:8 | 40 | IntegerLiteral |
|
||||
| Test.kt:77:3:77:8 | <Expr>; | ExprStmt | Test.kt:77:3:77:8 | w | VarAccess |
|
||||
| Test.kt:77:3:77:8 | w | VarAccess | Test.kt:77:7:77:8 | 40 | IntegerLiteral |
|
||||
| Test.kt:77:7:77:8 | 40 | IntegerLiteral | Test.kt:77:3:77:8 | ...=... | AssignExpr |
|
||||
| Test.kt:78:3:78:8 | return ... | ReturnStmt | Test.kt:4:2:79:2 | Normal Exit | Method |
|
||||
| Test.kt:78:9:78:9 | INSTANCE | VarAccess | Test.kt:78:3:78:8 | return ... | ReturnStmt |
|
||||
| Test.kt:82:1:89:1 | Entry | Method | Test.kt:82:21:89:1 | { ... } | BlockStmt |
|
||||
| Test.kt:82:1:89:1 | Exceptional Exit | Method | Test.kt:82:1:89:1 | Exit | Method |
|
||||
| Test.kt:82:1:89:1 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:82:1:89:1 | Normal Exit | Method | Test.kt:82:1:89:1 | Exit | Method |
|
||||
| Test.kt:82:21:89:1 | { ... } | BlockStmt | Test.kt:83:2:88:2 | try ... | TryStmt |
|
||||
| Test.kt:83:2:88:2 | try ... | TryStmt | Test.kt:83:6:86:2 | { ... } | BlockStmt |
|
||||
@@ -124,13 +136,14 @@
|
||||
| Test.kt:84:11:84:18 | (...)... | CastExpr | Test.kt:86:4:88:2 | catch (...) | CatchClause |
|
||||
| Test.kt:85:3:85:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Normal Exit | Method |
|
||||
| Test.kt:85:10:85:10 | 1 | IntegerLiteral | Test.kt:85:3:85:10 | return ... | ReturnStmt |
|
||||
| Test.kt:86:4:88:2 | catch (...) | CatchClause | Test.kt:82:1:89:1 | Exceptional Exit | Method |
|
||||
| Test.kt:86:4:88:2 | catch (...) | CatchClause | Test.kt:86:11:86:31 | e | LocalVariableDeclExpr |
|
||||
| Test.kt:86:11:86:31 | e | LocalVariableDeclExpr | Test.kt:86:34:88:2 | { ... } | BlockStmt |
|
||||
| Test.kt:86:34:88:2 | { ... } | BlockStmt | Test.kt:87:10:87:10 | 2 | IntegerLiteral |
|
||||
| Test.kt:87:3:87:10 | return ... | ReturnStmt | Test.kt:82:1:89:1 | Normal Exit | Method |
|
||||
| Test.kt:87:10:87:10 | 2 | IntegerLiteral | Test.kt:87:3:87:10 | return ... | ReturnStmt |
|
||||
| Test.kt:91:1:98:1 | Entry | Method | Test.kt:91:22:98:1 | { ... } | BlockStmt |
|
||||
| Test.kt:91:1:98:1 | Exceptional Exit | Method | Test.kt:91:1:98:1 | Exit | Method |
|
||||
| Test.kt:91:1:98:1 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:91:1:98:1 | Normal Exit | Method | Test.kt:91:1:98:1 | Exit | Method |
|
||||
| Test.kt:91:22:98:1 | { ... } | BlockStmt | Test.kt:92:2:97:2 | try ... | TryStmt |
|
||||
| Test.kt:92:2:97:2 | try ... | TryStmt | Test.kt:92:6:95:2 | { ... } | BlockStmt |
|
||||
@@ -142,13 +155,14 @@
|
||||
| Test.kt:93:11:93:13 | ...!! | NotNullExpr | Test.kt:95:4:97:2 | catch (...) | CatchClause |
|
||||
| Test.kt:94:3:94:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Normal Exit | Method |
|
||||
| Test.kt:94:10:94:10 | 1 | IntegerLiteral | Test.kt:94:3:94:10 | return ... | ReturnStmt |
|
||||
| Test.kt:95:4:97:2 | catch (...) | CatchClause | Test.kt:91:1:98:1 | Exceptional Exit | Method |
|
||||
| Test.kt:95:4:97:2 | catch (...) | CatchClause | Test.kt:95:11:95:33 | e | LocalVariableDeclExpr |
|
||||
| Test.kt:95:11:95:33 | e | LocalVariableDeclExpr | Test.kt:95:36:97:2 | { ... } | BlockStmt |
|
||||
| Test.kt:95:36:97:2 | { ... } | BlockStmt | Test.kt:96:10:96:10 | 2 | IntegerLiteral |
|
||||
| Test.kt:96:3:96:10 | return ... | ReturnStmt | Test.kt:91:1:98:1 | Normal Exit | Method |
|
||||
| Test.kt:96:10:96:10 | 2 | IntegerLiteral | Test.kt:96:3:96:10 | return ... | ReturnStmt |
|
||||
| Test.kt:100:1:110:1 | Entry | Method | Test.kt:100:25:110:1 | { ... } | BlockStmt |
|
||||
| Test.kt:100:1:110:1 | Exceptional Exit | Method | Test.kt:100:1:110:1 | Exit | Method |
|
||||
| Test.kt:100:1:110:1 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:100:1:110:1 | Normal Exit | Method | Test.kt:100:1:110:1 | Exit | Method |
|
||||
| Test.kt:100:25:110:1 | { ... } | BlockStmt | Test.kt:101:5:103:5 | <Expr>; | ExprStmt |
|
||||
| Test.kt:101:5:103:5 | <Expr>; | ExprStmt | Test.kt:101:5:103:5 | when ... | WhenExpr |
|
||||
@@ -186,8 +200,7 @@
|
||||
| Test.kt:108:9:108:29 | <Expr>; | ExprStmt | Test.kt:108:17:108:28 | "y not null" | StringLiteral |
|
||||
| Test.kt:108:9:108:29 | println(...) | MethodCall | Test.kt:100:1:110:1 | Normal Exit | Method |
|
||||
| Test.kt:108:17:108:28 | "y not null" | StringLiteral | Test.kt:108:9:108:29 | println(...) | MethodCall |
|
||||
| Test.kt:112:1:116:1 | Exceptional Exit | Method | Test.kt:112:1:116:1 | Exit | Method |
|
||||
| Test.kt:112:1:116:1 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:112:1:116:1 | Entry | Method | Test.kt:112:32:116:1 | { ... } | BlockStmt |
|
||||
| Test.kt:112:1:116:1 | Normal Exit | Method | Test.kt:112:1:116:1 | Exit | Method |
|
||||
| Test.kt:112:32:116:1 | { ... } | BlockStmt | Test.kt:113:5:115:5 | <Expr>; | ExprStmt |
|
||||
| Test.kt:113:5:115:5 | <Expr>; | ExprStmt | Test.kt:113:5:115:5 | when ... | WhenExpr |
|
||||
@@ -199,8 +212,7 @@
|
||||
| Test.kt:113:14:113:14 | y | VarAccess | Test.kt:112:1:116:1 | Normal Exit | Method |
|
||||
| Test.kt:113:14:113:14 | y | VarAccess | Test.kt:113:17:115:5 | { ... } | BlockStmt |
|
||||
| Test.kt:113:17:115:5 | { ... } | BlockStmt | Test.kt:112:1:116:1 | Normal Exit | Method |
|
||||
| Test.kt:118:1:124:1 | Exceptional Exit | Method | Test.kt:118:1:124:1 | Exit | Method |
|
||||
| Test.kt:118:1:124:1 | Exit | Method | file://:0:0:0:0 | <none> | <none> |
|
||||
| Test.kt:118:1:124:1 | Entry | Method | Test.kt:118:37:124:1 | { ... } | BlockStmt |
|
||||
| Test.kt:118:1:124:1 | Normal Exit | Method | Test.kt:118:1:124:1 | Exit | Method |
|
||||
| Test.kt:118:37:124:1 | { ... } | BlockStmt | Test.kt:119:2:123:12 | <Expr>; | ExprStmt |
|
||||
| Test.kt:119:2:123:12 | <Expr>; | ExprStmt | Test.kt:119:2:123:12 | when ... | WhenExpr |
|
||||
@@ -216,6 +228,7 @@
|
||||
| Test.kt:122:12:122:16 | ... -> ... | WhenBranch | Test.kt:122:12:122:16 | true | BooleanLiteral |
|
||||
| Test.kt:122:12:122:16 | <Expr>; | ExprStmt | Test.kt:122:12:122:16 | false | BooleanLiteral |
|
||||
| Test.kt:122:12:122:16 | false | BooleanLiteral | Test.kt:118:1:124:1 | Normal Exit | Method |
|
||||
| Test.kt:122:12:122:16 | false | BooleanLiteral | Test.kt:123:8:123:10 | { ... } | BlockStmt |
|
||||
| Test.kt:122:12:122:16 | true | BooleanLiteral | Test.kt:122:12:122:16 | <Expr>; | ExprStmt |
|
||||
| Test.kt:123:8:123:10 | { ... } | BlockStmt | Test.kt:118:1:124:1 | Normal Exit | Method |
|
||||
missingSuccessor
|
||||
|
||||
@@ -1,54 +1,15 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
newtype TMaybeControlFlowNode =
|
||||
TControlFlowNode(ControlFlowNode c) or
|
||||
TNoControlFlowNode()
|
||||
|
||||
class MaybeControlFlowNode extends TMaybeControlFlowNode {
|
||||
abstract string toString();
|
||||
|
||||
abstract Location getLocation();
|
||||
|
||||
abstract string getPrimaryQlClasses();
|
||||
}
|
||||
|
||||
class YesMaybeControlFlowNode extends MaybeControlFlowNode {
|
||||
ControlFlowNode c;
|
||||
|
||||
YesMaybeControlFlowNode() { this = TControlFlowNode(c) }
|
||||
|
||||
override string toString() { result = c.toString() }
|
||||
|
||||
override Location getLocation() { result = c.getLocation() }
|
||||
|
||||
override string getPrimaryQlClasses() { result = c.getAstNode().getPrimaryQlClasses() }
|
||||
}
|
||||
|
||||
class NoMaybeControlFlowNode extends MaybeControlFlowNode {
|
||||
NoMaybeControlFlowNode() { this = TNoControlFlowNode() }
|
||||
|
||||
override string toString() { result = "<none>" }
|
||||
|
||||
override Location getLocation() { result.toString() = "file://:0:0:0:0" }
|
||||
|
||||
override string getPrimaryQlClasses() { result = "<none>" }
|
||||
}
|
||||
|
||||
MaybeControlFlowNode maybeSuccessor(ControlFlowNode n) {
|
||||
if exists(n.getASuccessor())
|
||||
then result = TControlFlowNode(n.getASuccessor())
|
||||
else result = TNoControlFlowNode()
|
||||
}
|
||||
|
||||
from ControlFlowNode n, MaybeControlFlowNode m
|
||||
from ControlFlowNode n, ControlFlowNode m
|
||||
where
|
||||
m = maybeSuccessor(n) and
|
||||
m = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().(CompilationUnit).fromSource()
|
||||
select n, n.getAstNode().getPrimaryQlClasses(), m, m.getPrimaryQlClasses()
|
||||
select n, n.getAstNode().getPrimaryQlClasses(), m, m.getAstNode().getPrimaryQlClasses()
|
||||
|
||||
query predicate missingSuccessor(Expr n) {
|
||||
maybeSuccessor(n.getControlFlowNode()) instanceof NoMaybeControlFlowNode and
|
||||
n.getFile().(CompilationUnit).fromSource() and
|
||||
not n instanceof TypeAccess and
|
||||
not n instanceof VarWrite
|
||||
query predicate missingSuccessor(Expr e) {
|
||||
exists(ControlFlowNode n | n = e.getControlFlowNode() and not exists(n.getASuccessor())) and
|
||||
e.getFile().(CompilationUnit).fromSource() and
|
||||
not e instanceof TypeAccess and
|
||||
not e instanceof VarWrite
|
||||
}
|
||||
|
||||
@@ -1,5 +1,9 @@
|
||||
| MultiCatch.java:6:14:6:23 | Entry | MultiCatch.java:6:14:6:23 | { ... } |
|
||||
| MultiCatch.java:6:14:6:23 | Normal Exit | MultiCatch.java:6:14:6:23 | Exit |
|
||||
| MultiCatch.java:6:14:6:23 | super(...) | MultiCatch.java:6:14:6:23 | Normal Exit |
|
||||
| MultiCatch.java:6:14:6:23 | { ... } | MultiCatch.java:6:14:6:23 | super(...) |
|
||||
| MultiCatch.java:7:14:7:23 | Entry | MultiCatch.java:8:2:20:2 | { ... } |
|
||||
| MultiCatch.java:7:14:7:23 | Exceptional Exit | MultiCatch.java:7:14:7:23 | Exit |
|
||||
| MultiCatch.java:8:2:20:2 | { ... } | MultiCatch.java:9:3:19:3 | try ... |
|
||||
| MultiCatch.java:9:3:19:3 | try ... | MultiCatch.java:10:3:15:3 | { ... } |
|
||||
| MultiCatch.java:10:3:15:3 | { ... } | MultiCatch.java:11:4:11:8 | if (...) |
|
||||
@@ -10,6 +14,7 @@
|
||||
| MultiCatch.java:12:11:12:27 | new IOException(...) | MultiCatch.java:12:5:12:28 | throw ... |
|
||||
| MultiCatch.java:14:5:14:29 | throw ... | MultiCatch.java:15:5:15:37 | catch (...) |
|
||||
| MultiCatch.java:14:11:14:28 | new SQLException(...) | MultiCatch.java:14:5:14:29 | throw ... |
|
||||
| MultiCatch.java:15:5:15:37 | catch (...) | MultiCatch.java:7:14:7:23 | Exceptional Exit |
|
||||
| MultiCatch.java:15:5:15:37 | catch (...) | MultiCatch.java:15:36:15:36 | e |
|
||||
| MultiCatch.java:15:36:15:36 | e | MultiCatch.java:16:3:19:3 | { ... } |
|
||||
| MultiCatch.java:16:3:19:3 | { ... } | MultiCatch.java:17:4:17:23 | <Expr>; |
|
||||
@@ -18,6 +23,9 @@
|
||||
| MultiCatch.java:17:4:17:23 | <Expr>; | MultiCatch.java:17:4:17:4 | e |
|
||||
| MultiCatch.java:18:4:18:11 | throw ... | MultiCatch.java:7:14:7:23 | Exceptional Exit |
|
||||
| MultiCatch.java:18:10:18:10 | e | MultiCatch.java:18:4:18:11 | throw ... |
|
||||
| MultiCatch.java:22:14:22:24 | Entry | MultiCatch.java:23:2:33:2 | { ... } |
|
||||
| MultiCatch.java:22:14:22:24 | Exceptional Exit | MultiCatch.java:22:14:22:24 | Exit |
|
||||
| MultiCatch.java:22:14:22:24 | Normal Exit | MultiCatch.java:22:14:22:24 | Exit |
|
||||
| MultiCatch.java:23:2:33:2 | { ... } | MultiCatch.java:24:3:32:4 | try ... |
|
||||
| MultiCatch.java:24:3:32:4 | try ... | MultiCatch.java:25:3:31:3 | { ... } |
|
||||
| MultiCatch.java:25:3:31:3 | { ... } | MultiCatch.java:26:4:26:8 | if (...) |
|
||||
@@ -31,12 +39,14 @@
|
||||
| MultiCatch.java:28:12:28:12 | c | MultiCatch.java:30:10:30:24 | new Exception(...) |
|
||||
| MultiCatch.java:29:5:29:29 | throw ... | MultiCatch.java:31:5:31:37 | catch (...) |
|
||||
| MultiCatch.java:29:11:29:28 | new SQLException(...) | MultiCatch.java:29:5:29:29 | throw ... |
|
||||
| MultiCatch.java:30:4:30:25 | throw ... | MultiCatch.java:22:14:22:24 | Exceptional Exit |
|
||||
| MultiCatch.java:30:4:30:25 | throw ... | MultiCatch.java:31:5:31:37 | catch (...) |
|
||||
| MultiCatch.java:30:10:30:24 | new Exception(...) | MultiCatch.java:30:4:30:25 | throw ... |
|
||||
| MultiCatch.java:31:5:31:37 | catch (...) | MultiCatch.java:22:14:22:24 | Exceptional Exit |
|
||||
| MultiCatch.java:31:5:31:37 | catch (...) | MultiCatch.java:31:36:31:36 | e |
|
||||
| MultiCatch.java:31:36:31:36 | e | MultiCatch.java:32:3:32:4 | { ... } |
|
||||
| MultiCatch.java:32:3:32:4 | { ... } | MultiCatch.java:22:14:22:24 | Normal Exit |
|
||||
| MultiCatch.java:35:14:35:26 | Entry | MultiCatch.java:36:2:42:2 | { ... } |
|
||||
| MultiCatch.java:35:14:35:26 | Normal Exit | MultiCatch.java:35:14:35:26 | Exit |
|
||||
| MultiCatch.java:36:2:42:2 | { ... } | MultiCatch.java:37:3:41:4 | try ... |
|
||||
| MultiCatch.java:37:3:41:4 | try ... | MultiCatch.java:38:3:40:3 | { ... } |
|
||||
| MultiCatch.java:38:3:40:3 | { ... } | MultiCatch.java:39:10:39:26 | new IOException(...) |
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import default
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n
|
||||
where n.getEnclosingCallable().getCompilationUnit().fromSource()
|
||||
select n, n.getASuccessor()
|
||||
select n, getAnAstSuccessor(n)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
| Test.java:1:14:1:17 | Exceptional Exit | Test.java:1:14:1:17 | Exit |
|
||||
| Test.java:1:14:1:17 | Entry | Test.java:1:14:1:17 | { ... } |
|
||||
| Test.java:1:14:1:17 | Normal Exit | Test.java:1:14:1:17 | Exit |
|
||||
| Test.java:1:14:1:17 | super(...) | Test.java:1:14:1:17 | Normal Exit |
|
||||
| Test.java:1:14:1:17 | { ... } | Test.java:1:14:1:17 | super(...) |
|
||||
| Test.java:3:22:3:25 | Exceptional Exit | Test.java:3:22:3:25 | Exit |
|
||||
| Test.java:3:22:3:25 | Entry | Test.java:3:40:20:3 | { ... } |
|
||||
| Test.java:3:22:3:25 | Normal Exit | Test.java:3:22:3:25 | Exit |
|
||||
| Test.java:3:40:20:3 | { ... } | Test.java:5:5:5:34 | var ...; |
|
||||
| Test.java:5:5:5:34 | var ...; | Test.java:5:26:5:33 | source(...) |
|
||||
@@ -50,35 +50,39 @@
|
||||
| Test.java:17:7:17:26 | sink(...) | Test.java:3:22:3:25 | Normal Exit |
|
||||
| Test.java:17:7:17:27 | <Expr>; | Test.java:17:12:17:25 | alsoNotTainted |
|
||||
| Test.java:17:12:17:25 | alsoNotTainted | Test.java:17:7:17:26 | sink(...) |
|
||||
| Test.java:22:24:22:29 | Exceptional Exit | Test.java:22:24:22:29 | Exit |
|
||||
| Test.java:22:24:22:29 | Entry | Test.java:22:33:22:53 | { ... } |
|
||||
| Test.java:22:24:22:29 | Normal Exit | Test.java:22:24:22:29 | Exit |
|
||||
| Test.java:22:33:22:53 | { ... } | Test.java:22:42:22:50 | "tainted" |
|
||||
| Test.java:22:35:22:51 | return ... | Test.java:22:24:22:29 | Normal Exit |
|
||||
| Test.java:22:42:22:50 | "tainted" | Test.java:22:35:22:51 | return ... |
|
||||
| Test.java:23:22:23:25 | Exceptional Exit | Test.java:23:22:23:25 | Exit |
|
||||
| Test.java:23:22:23:25 | Entry | Test.java:23:40:23:42 | { ... } |
|
||||
| Test.java:23:22:23:25 | Normal Exit | Test.java:23:22:23:25 | Exit |
|
||||
| Test.java:23:40:23:42 | { ... } | Test.java:23:22:23:25 | Normal Exit |
|
||||
| Test.java:27:8:27:12 | ...=... | Test.java:27:8:27:12 | <Expr>; |
|
||||
| Test.java:27:8:27:12 | ...=... | Test.java:27:8:27:12 | Normal Exit |
|
||||
| Test.java:27:8:27:12 | <Expr>; | Test.java:27:8:27:12 | this |
|
||||
| Test.java:27:8:27:12 | <Expr>; | Test.java:27:8:27:12 | this |
|
||||
| Test.java:27:8:27:12 | Exceptional Exit | Test.java:27:8:27:12 | Exit |
|
||||
| Test.java:27:8:27:12 | Entry | Test.java:27:8:27:12 | { ... } |
|
||||
| Test.java:27:8:27:12 | Normal Exit | Test.java:27:8:27:12 | Exit |
|
||||
| Test.java:27:8:27:12 | i | Test.java:27:8:27:12 | ...=... |
|
||||
| Test.java:27:8:27:12 | otherField | Test.java:27:8:27:12 | ...=... |
|
||||
| Test.java:27:8:27:12 | super(...) | Test.java:27:8:27:12 | <Expr>; |
|
||||
| Test.java:27:8:27:12 | this | Test.java:27:8:27:12 | i |
|
||||
| Test.java:27:8:27:12 | this | Test.java:27:8:27:12 | otherField |
|
||||
| Test.java:27:8:27:12 | this | Test.java:27:8:27:12 | this.i |
|
||||
| Test.java:27:8:27:12 | this | Test.java:27:8:27:12 | this.otherField |
|
||||
| Test.java:27:8:27:12 | this.i | Test.java:27:8:27:12 | i |
|
||||
| Test.java:27:8:27:12 | this.otherField | Test.java:27:8:27:12 | otherField |
|
||||
| Test.java:27:8:27:12 | { ... } | Test.java:27:8:27:12 | super(...) |
|
||||
| Test.java:28:8:28:12 | ...=... | Test.java:28:8:28:12 | <Expr>; |
|
||||
| Test.java:28:8:28:12 | ...=... | Test.java:28:8:28:12 | Normal Exit |
|
||||
| Test.java:28:8:28:12 | <Expr>; | Test.java:28:8:28:12 | this |
|
||||
| Test.java:28:8:28:12 | <Expr>; | Test.java:28:8:28:12 | this |
|
||||
| Test.java:28:8:28:12 | Exceptional Exit | Test.java:28:8:28:12 | Exit |
|
||||
| Test.java:28:8:28:12 | Entry | Test.java:28:8:28:12 | { ... } |
|
||||
| Test.java:28:8:28:12 | Normal Exit | Test.java:28:8:28:12 | Exit |
|
||||
| Test.java:28:8:28:12 | nonTaintedField | Test.java:28:8:28:12 | ...=... |
|
||||
| Test.java:28:8:28:12 | super(...) | Test.java:28:8:28:12 | <Expr>; |
|
||||
| Test.java:28:8:28:12 | taintedField | Test.java:28:8:28:12 | ...=... |
|
||||
| Test.java:28:8:28:12 | this | Test.java:28:8:28:12 | nonTaintedField |
|
||||
| Test.java:28:8:28:12 | this | Test.java:28:8:28:12 | taintedField |
|
||||
| Test.java:28:8:28:12 | this | Test.java:28:8:28:12 | this.nonTaintedField |
|
||||
| Test.java:28:8:28:12 | this | Test.java:28:8:28:12 | this.taintedField |
|
||||
| Test.java:28:8:28:12 | this.nonTaintedField | Test.java:28:8:28:12 | nonTaintedField |
|
||||
| Test.java:28:8:28:12 | this.taintedField | Test.java:28:8:28:12 | taintedField |
|
||||
| Test.java:28:8:28:12 | { ... } | Test.java:28:8:28:12 | super(...) |
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode cn
|
||||
where cn.getLocation().getFile().getBaseName() = "Test.java"
|
||||
select cn, cn.getASuccessor()
|
||||
select cn, getAnAstSuccessor(cn)
|
||||
|
||||
@@ -1,32 +1,35 @@
|
||||
| Exhaustive.java:1:14:1:23 | Exceptional Exit | Exhaustive.java:1:14:1:23 | Exit |
|
||||
| Exhaustive.java:1:14:1:23 | Entry | Exhaustive.java:1:14:1:23 | { ... } |
|
||||
| Exhaustive.java:1:14:1:23 | Normal Exit | Exhaustive.java:1:14:1:23 | Exit |
|
||||
| Exhaustive.java:1:14:1:23 | super(...) | Exhaustive.java:1:14:1:23 | Normal Exit |
|
||||
| Exhaustive.java:1:14:1:23 | { ... } | Exhaustive.java:1:14:1:23 | super(...) |
|
||||
| Exhaustive.java:3:8:3:8 | Exceptional Exit | Exhaustive.java:3:8:3:8 | Exit |
|
||||
| Exhaustive.java:3:8:3:8 | Exceptional Exit | Exhaustive.java:3:8:3:8 | Exit |
|
||||
| Exhaustive.java:3:8:3:8 | Entry | Exhaustive.java:3:8:3:8 | { ... } |
|
||||
| Exhaustive.java:3:8:3:8 | Entry | Exhaustive.java:3:8:3:8 | { ... } |
|
||||
| Exhaustive.java:3:8:3:8 | Normal Exit | Exhaustive.java:3:8:3:8 | Exit |
|
||||
| Exhaustive.java:3:8:3:8 | Normal Exit | Exhaustive.java:3:8:3:8 | Exit |
|
||||
| Exhaustive.java:3:8:3:8 | super(...) | Exhaustive.java:3:8:3:8 | Normal Exit |
|
||||
| Exhaustive.java:3:8:3:8 | { ... } | Exhaustive.java:3:8:3:8 | super(...) |
|
||||
| Exhaustive.java:3:8:3:8 | { ... } | Exhaustive.java:3:12:3:12 | <Expr>; |
|
||||
| Exhaustive.java:3:12:3:12 | ...=... | Exhaustive.java:3:15:3:15 | <Expr>; |
|
||||
| Exhaustive.java:3:12:3:12 | <Expr>; | Exhaustive.java:3:12:3:12 | new E(...) |
|
||||
| Exhaustive.java:3:12:3:12 | <Expr>; | Exhaustive.java:3:12:3:12 | A |
|
||||
| Exhaustive.java:3:12:3:12 | A | Exhaustive.java:3:12:3:12 | new E(...) |
|
||||
| Exhaustive.java:3:12:3:12 | new E(...) | Exhaustive.java:3:12:3:12 | ...=... |
|
||||
| Exhaustive.java:3:15:3:15 | ...=... | Exhaustive.java:3:18:3:18 | <Expr>; |
|
||||
| Exhaustive.java:3:15:3:15 | <Expr>; | Exhaustive.java:3:15:3:15 | new E(...) |
|
||||
| Exhaustive.java:3:15:3:15 | <Expr>; | Exhaustive.java:3:15:3:15 | B |
|
||||
| Exhaustive.java:3:15:3:15 | B | Exhaustive.java:3:15:3:15 | new E(...) |
|
||||
| Exhaustive.java:3:15:3:15 | new E(...) | Exhaustive.java:3:15:3:15 | ...=... |
|
||||
| Exhaustive.java:3:18:3:18 | ...=... | Exhaustive.java:3:8:3:8 | Normal Exit |
|
||||
| Exhaustive.java:3:18:3:18 | <Expr>; | Exhaustive.java:3:18:3:18 | new E(...) |
|
||||
| Exhaustive.java:3:18:3:18 | <Expr>; | Exhaustive.java:3:18:3:18 | C |
|
||||
| Exhaustive.java:3:18:3:18 | C | Exhaustive.java:3:18:3:18 | new E(...) |
|
||||
| Exhaustive.java:3:18:3:18 | new E(...) | Exhaustive.java:3:18:3:18 | ...=... |
|
||||
| Exhaustive.java:5:15:5:15 | Exceptional Exit | Exhaustive.java:5:15:5:15 | Exit |
|
||||
| Exhaustive.java:5:15:5:15 | Entry | Exhaustive.java:5:15:5:15 | { ... } |
|
||||
| Exhaustive.java:5:15:5:15 | Normal Exit | Exhaustive.java:5:15:5:15 | Exit |
|
||||
| Exhaustive.java:5:15:5:15 | super(...) | Exhaustive.java:5:15:5:15 | Normal Exit |
|
||||
| Exhaustive.java:5:15:5:15 | { ... } | Exhaustive.java:5:15:5:15 | super(...) |
|
||||
| Exhaustive.java:6:15:6:15 | Exceptional Exit | Exhaustive.java:6:15:6:15 | Exit |
|
||||
| Exhaustive.java:6:15:6:15 | Entry | Exhaustive.java:6:15:6:15 | { ... } |
|
||||
| Exhaustive.java:6:15:6:15 | Normal Exit | Exhaustive.java:6:15:6:15 | Exit |
|
||||
| Exhaustive.java:6:15:6:15 | super(...) | Exhaustive.java:6:15:6:15 | Normal Exit |
|
||||
| Exhaustive.java:6:15:6:15 | { ... } | Exhaustive.java:6:15:6:15 | super(...) |
|
||||
| Exhaustive.java:8:22:8:25 | Exceptional Exit | Exhaustive.java:8:22:8:25 | Exit |
|
||||
| Exhaustive.java:8:22:8:25 | Entry | Exhaustive.java:8:47:35:3 | { ... } |
|
||||
| Exhaustive.java:8:22:8:25 | Normal Exit | Exhaustive.java:8:22:8:25 | Exit |
|
||||
| Exhaustive.java:8:47:35:3 | { ... } | Exhaustive.java:11:5:11:14 | switch (...) |
|
||||
| Exhaustive.java:11:5:11:14 | switch (...) | Exhaustive.java:11:13:11:13 | o |
|
||||
@@ -40,14 +43,17 @@
|
||||
| Exhaustive.java:13:25:13:27 | { ... } | Exhaustive.java:18:5:18:14 | switch (...) |
|
||||
| Exhaustive.java:18:5:18:14 | switch (...) | Exhaustive.java:18:13:18:13 | e |
|
||||
| Exhaustive.java:18:13:18:13 | e | Exhaustive.java:19:7:19:15 | case ... |
|
||||
| Exhaustive.java:18:13:18:13 | e | Exhaustive.java:20:7:20:15 | case ... |
|
||||
| Exhaustive.java:18:13:18:13 | e | Exhaustive.java:21:7:21:15 | case ... |
|
||||
| Exhaustive.java:18:13:18:13 | e | Exhaustive.java:24:5:24:14 | switch (...) |
|
||||
| Exhaustive.java:19:7:19:15 | case ... | Exhaustive.java:19:17:19:19 | { ... } |
|
||||
| Exhaustive.java:19:7:19:15 | case ... | Exhaustive.java:19:12:19:12 | A |
|
||||
| Exhaustive.java:19:7:19:15 | case ... | Exhaustive.java:20:7:20:15 | case ... |
|
||||
| Exhaustive.java:19:12:19:12 | A | Exhaustive.java:19:17:19:19 | { ... } |
|
||||
| Exhaustive.java:19:17:19:19 | { ... } | Exhaustive.java:24:5:24:14 | switch (...) |
|
||||
| Exhaustive.java:20:7:20:15 | case ... | Exhaustive.java:20:17:20:19 | { ... } |
|
||||
| Exhaustive.java:20:7:20:15 | case ... | Exhaustive.java:20:12:20:12 | B |
|
||||
| Exhaustive.java:20:7:20:15 | case ... | Exhaustive.java:21:7:21:15 | case ... |
|
||||
| Exhaustive.java:20:12:20:12 | B | Exhaustive.java:20:17:20:19 | { ... } |
|
||||
| Exhaustive.java:20:17:20:19 | { ... } | Exhaustive.java:24:5:24:14 | switch (...) |
|
||||
| Exhaustive.java:21:7:21:15 | case ... | Exhaustive.java:21:17:21:19 | { ... } |
|
||||
| Exhaustive.java:21:7:21:15 | case ... | Exhaustive.java:21:12:21:12 | C |
|
||||
| Exhaustive.java:21:7:21:15 | case ... | Exhaustive.java:24:5:24:14 | switch (...) |
|
||||
| Exhaustive.java:21:12:21:12 | C | Exhaustive.java:21:17:21:19 | { ... } |
|
||||
| Exhaustive.java:21:17:21:19 | { ... } | Exhaustive.java:24:5:24:14 | switch (...) |
|
||||
| Exhaustive.java:24:5:24:14 | switch (...) | Exhaustive.java:24:13:24:13 | i |
|
||||
| Exhaustive.java:24:13:24:13 | i | Exhaustive.java:25:7:25:17 | case <Pattern> |
|
||||
@@ -65,11 +71,11 @@
|
||||
| Exhaustive.java:31:14:31:14 | <anonymous local variable> | Exhaustive.java:8:22:8:25 | Normal Exit |
|
||||
| Exhaustive.java:32:7:32:15 | case <Pattern> | Exhaustive.java:32:14:32:14 | <anonymous local variable> |
|
||||
| Exhaustive.java:32:14:32:14 | <anonymous local variable> | Exhaustive.java:8:22:8:25 | Normal Exit |
|
||||
| Test.java:1:14:1:17 | Exceptional Exit | Test.java:1:14:1:17 | Exit |
|
||||
| Test.java:1:14:1:17 | Entry | Test.java:1:14:1:17 | { ... } |
|
||||
| Test.java:1:14:1:17 | Normal Exit | Test.java:1:14:1:17 | Exit |
|
||||
| Test.java:1:14:1:17 | super(...) | Test.java:1:14:1:17 | Normal Exit |
|
||||
| Test.java:1:14:1:17 | { ... } | Test.java:1:14:1:17 | super(...) |
|
||||
| Test.java:3:22:3:25 | Exceptional Exit | Test.java:3:22:3:25 | Exit |
|
||||
| Test.java:3:22:3:25 | Entry | Test.java:3:41:134:3 | { ... } |
|
||||
| Test.java:3:22:3:25 | Normal Exit | Test.java:3:22:3:25 | Exit |
|
||||
| Test.java:3:41:134:3 | { ... } | Test.java:5:6:5:19 | switch (...) |
|
||||
| Test.java:5:6:5:19 | switch (...) | Test.java:5:14:5:18 | thing |
|
||||
@@ -79,14 +85,12 @@
|
||||
| Test.java:6:20:6:20 | s | Test.java:6:25:6:34 | System.out |
|
||||
| Test.java:6:25:6:34 | System.out | Test.java:6:44:6:44 | s |
|
||||
| Test.java:6:25:6:45 | println(...) | Test.java:11:6:11:19 | switch (...) |
|
||||
| Test.java:6:25:6:46 | <Expr>; | Test.java:6:25:6:34 | System.out |
|
||||
| Test.java:6:44:6:44 | s | Test.java:6:25:6:45 | println(...) |
|
||||
| Test.java:7:8:7:24 | case <Pattern> | Test.java:7:21:7:21 | i |
|
||||
| Test.java:7:8:7:24 | case <Pattern> | Test.java:8:8:8:17 | default |
|
||||
| Test.java:7:21:7:21 | i | Test.java:7:26:7:35 | System.out |
|
||||
| Test.java:7:26:7:35 | System.out | Test.java:7:45:7:58 | "An integer: " |
|
||||
| Test.java:7:26:7:63 | println(...) | Test.java:11:6:11:19 | switch (...) |
|
||||
| Test.java:7:26:7:64 | <Expr>; | Test.java:7:26:7:35 | System.out |
|
||||
| Test.java:7:45:7:58 | "An integer: " | Test.java:7:62:7:62 | i |
|
||||
| Test.java:7:45:7:62 | ... + ... | Test.java:7:26:7:63 | println(...) |
|
||||
| Test.java:7:62:7:62 | i | Test.java:7:45:7:62 | ... + ... |
|
||||
@@ -136,19 +140,19 @@
|
||||
| Test.java:28:34:28:38 | thing | Test.java:29:8:29:21 | case <Pattern> |
|
||||
| Test.java:29:8:29:21 | case <Pattern> | Test.java:29:20:29:20 | s |
|
||||
| Test.java:29:8:29:21 | case <Pattern> | Test.java:31:8:31:22 | case <Pattern> |
|
||||
| Test.java:29:20:29:20 | s | Test.java:30:10:30:17 | yield ... |
|
||||
| Test.java:30:10:30:17 | yield ... | Test.java:30:16:30:16 | s |
|
||||
| Test.java:30:16:30:16 | s | Test.java:28:10:28:39 | thingAsString2 |
|
||||
| Test.java:29:20:29:20 | s | Test.java:30:16:30:16 | s |
|
||||
| Test.java:30:10:30:17 | yield ... | Test.java:28:10:28:39 | thingAsString2 |
|
||||
| Test.java:30:16:30:16 | s | Test.java:30:10:30:17 | yield ... |
|
||||
| Test.java:31:8:31:22 | case <Pattern> | Test.java:31:21:31:21 | i |
|
||||
| Test.java:31:8:31:22 | case <Pattern> | Test.java:33:8:33:15 | default |
|
||||
| Test.java:31:21:31:21 | i | Test.java:32:10:32:34 | yield ... |
|
||||
| Test.java:32:10:32:34 | yield ... | Test.java:32:16:32:29 | "An integer: " |
|
||||
| Test.java:31:21:31:21 | i | Test.java:32:16:32:29 | "An integer: " |
|
||||
| Test.java:32:10:32:34 | yield ... | Test.java:28:10:28:39 | thingAsString2 |
|
||||
| Test.java:32:16:32:29 | "An integer: " | Test.java:32:33:32:33 | i |
|
||||
| Test.java:32:16:32:33 | ... + ... | Test.java:28:10:28:39 | thingAsString2 |
|
||||
| Test.java:32:16:32:33 | ... + ... | Test.java:32:10:32:34 | yield ... |
|
||||
| Test.java:32:33:32:33 | i | Test.java:32:16:32:33 | ... + ... |
|
||||
| Test.java:33:8:33:15 | default | Test.java:34:10:34:32 | yield ... |
|
||||
| Test.java:34:10:34:32 | yield ... | Test.java:34:16:34:31 | "Something else" |
|
||||
| Test.java:34:16:34:31 | "Something else" | Test.java:28:10:28:39 | thingAsString2 |
|
||||
| Test.java:33:8:33:15 | default | Test.java:34:16:34:31 | "Something else" |
|
||||
| Test.java:34:10:34:32 | yield ... | Test.java:28:10:28:39 | thingAsString2 |
|
||||
| Test.java:34:16:34:31 | "Something else" | Test.java:34:10:34:32 | yield ... |
|
||||
| Test.java:37:6:37:18 | switch (...) | Test.java:37:13:37:17 | thing |
|
||||
| Test.java:37:13:37:17 | thing | Test.java:38:8:38:42 | case <Pattern> |
|
||||
| Test.java:38:8:38:42 | case <Pattern> | Test.java:38:20:38:20 | s |
|
||||
@@ -195,7 +199,6 @@
|
||||
| Test.java:50:41:50:41 | 3 | Test.java:50:27:50:41 | ... == ... |
|
||||
| Test.java:50:46:50:55 | System.out | Test.java:50:65:50:74 | "Length 3" |
|
||||
| Test.java:50:46:50:75 | println(...) | Test.java:55:6:55:26 | switch (...) |
|
||||
| Test.java:50:46:50:76 | <Expr>; | Test.java:50:46:50:55 | System.out |
|
||||
| Test.java:50:65:50:74 | "Length 3" | Test.java:50:46:50:75 | println(...) |
|
||||
| Test.java:51:8:51:44 | case <Pattern> | Test.java:51:20:51:20 | s |
|
||||
| Test.java:51:8:51:44 | case <Pattern> | Test.java:52:8:52:17 | default |
|
||||
@@ -207,22 +210,22 @@
|
||||
| Test.java:51:41:51:41 | 5 | Test.java:51:27:51:41 | ... == ... |
|
||||
| Test.java:51:46:51:55 | System.out | Test.java:51:65:51:74 | "Length 5" |
|
||||
| Test.java:51:46:51:75 | println(...) | Test.java:55:6:55:26 | switch (...) |
|
||||
| Test.java:51:46:51:76 | <Expr>; | Test.java:51:46:51:55 | System.out |
|
||||
| Test.java:51:65:51:74 | "Length 5" | Test.java:51:46:51:75 | println(...) |
|
||||
| Test.java:52:8:52:17 | default | Test.java:52:19:52:21 | { ... } |
|
||||
| Test.java:52:19:52:21 | { ... } | Test.java:55:6:55:26 | switch (...) |
|
||||
| Test.java:55:6:55:26 | switch (...) | Test.java:55:21:55:25 | thing |
|
||||
| Test.java:55:13:55:25 | (...)... | Test.java:56:8:56:21 | case ... |
|
||||
| Test.java:55:13:55:25 | (...)... | Test.java:58:8:58:21 | case ... |
|
||||
| Test.java:55:13:55:25 | (...)... | Test.java:61:8:61:42 | case <Pattern> |
|
||||
| Test.java:55:13:55:25 | (...)... | Test.java:69:8:69:26 | case null, default |
|
||||
| Test.java:55:21:55:25 | thing | Test.java:55:13:55:25 | (...)... |
|
||||
| Test.java:56:8:56:21 | case ... | Test.java:57:10:57:44 | <Expr>; |
|
||||
| Test.java:56:8:56:21 | case ... | Test.java:56:13:56:20 | "Const1" |
|
||||
| Test.java:56:8:56:21 | case ... | Test.java:58:8:58:21 | case ... |
|
||||
| Test.java:56:13:56:20 | "Const1" | Test.java:57:10:57:44 | <Expr>; |
|
||||
| Test.java:57:10:57:19 | System.out | Test.java:57:29:57:42 | "It's Const1!" |
|
||||
| Test.java:57:10:57:43 | println(...) | Test.java:58:8:58:21 | case ... |
|
||||
| Test.java:57:10:57:43 | println(...) | Test.java:59:10:59:54 | <Expr>; |
|
||||
| Test.java:57:10:57:44 | <Expr>; | Test.java:57:10:57:19 | System.out |
|
||||
| Test.java:57:29:57:42 | "It's Const1!" | Test.java:57:10:57:43 | println(...) |
|
||||
| Test.java:58:8:58:21 | case ... | Test.java:59:10:59:54 | <Expr>; |
|
||||
| Test.java:58:8:58:21 | case ... | Test.java:58:13:58:20 | "Const2" |
|
||||
| Test.java:58:8:58:21 | case ... | Test.java:61:8:61:42 | case <Pattern> |
|
||||
| Test.java:58:13:58:20 | "Const2" | Test.java:59:10:59:54 | <Expr>; |
|
||||
| Test.java:59:10:59:19 | System.out | Test.java:59:29:59:52 | "It's Const1 or Const2!" |
|
||||
| Test.java:59:10:59:53 | println(...) | Test.java:60:10:60:15 | break |
|
||||
| Test.java:59:10:59:54 | <Expr>; | Test.java:59:10:59:19 | System.out |
|
||||
@@ -230,27 +233,27 @@
|
||||
| Test.java:60:10:60:15 | break | Test.java:73:6:73:18 | switch (...) |
|
||||
| Test.java:61:8:61:42 | case <Pattern> | Test.java:61:20:61:20 | s |
|
||||
| Test.java:61:8:61:42 | case <Pattern> | Test.java:63:8:63:21 | case ... |
|
||||
| Test.java:61:8:61:42 | case <Pattern> | Test.java:66:8:66:22 | case ... |
|
||||
| Test.java:61:8:61:42 | case <Pattern> | Test.java:69:8:69:26 | case null, default |
|
||||
| Test.java:61:20:61:20 | s | Test.java:61:27:61:27 | s |
|
||||
| Test.java:61:27:61:27 | s | Test.java:61:27:61:36 | length(...) |
|
||||
| Test.java:61:27:61:36 | length(...) | Test.java:61:41:61:41 | 6 |
|
||||
| Test.java:61:27:61:41 | ... <= ... | Test.java:62:10:62:83 | <Expr>; |
|
||||
| Test.java:61:27:61:41 | ... <= ... | Test.java:63:8:63:21 | case ... |
|
||||
| Test.java:61:27:61:41 | ... <= ... | Test.java:66:8:66:22 | case ... |
|
||||
| Test.java:61:27:61:41 | ... <= ... | Test.java:69:8:69:26 | case null, default |
|
||||
| Test.java:61:41:61:41 | 6 | Test.java:61:27:61:41 | ... <= ... |
|
||||
| Test.java:62:10:62:19 | System.out | Test.java:62:29:62:81 | "It's <= 6 chars long, and neither Const1 nor Const2" |
|
||||
| Test.java:62:10:62:82 | println(...) | Test.java:63:8:63:21 | case ... |
|
||||
| Test.java:62:10:62:82 | println(...) | Test.java:64:10:64:96 | <Expr>; |
|
||||
| Test.java:62:10:62:83 | <Expr>; | Test.java:62:10:62:19 | System.out |
|
||||
| Test.java:62:29:62:81 | "It's <= 6 chars long, and neither Const1 nor Const2" | Test.java:62:10:62:82 | println(...) |
|
||||
| Test.java:63:8:63:21 | case ... | Test.java:64:10:64:96 | <Expr>; |
|
||||
| Test.java:63:8:63:21 | case ... | Test.java:63:13:63:20 | "Const3" |
|
||||
| Test.java:63:8:63:21 | case ... | Test.java:66:8:66:22 | case ... |
|
||||
| Test.java:63:13:63:20 | "Const3" | Test.java:64:10:64:96 | <Expr>; |
|
||||
| Test.java:64:10:64:19 | System.out | Test.java:64:29:64:94 | "It's (<= 6 chars long, and neither Const1 nor Const2), or Const3" |
|
||||
| Test.java:64:10:64:95 | println(...) | Test.java:65:10:65:15 | break |
|
||||
| Test.java:64:10:64:96 | <Expr>; | Test.java:64:10:64:19 | System.out |
|
||||
| Test.java:64:29:64:94 | "It's (<= 6 chars long, and neither Const1 nor Const2), or Const3" | Test.java:64:10:64:95 | println(...) |
|
||||
| Test.java:65:10:65:15 | break | Test.java:73:6:73:18 | switch (...) |
|
||||
| Test.java:66:8:66:22 | case ... | Test.java:67:10:67:44 | <Expr>; |
|
||||
| Test.java:66:8:66:22 | case ... | Test.java:66:13:66:21 | "Const30" |
|
||||
| Test.java:66:8:66:22 | case ... | Test.java:69:8:69:26 | case null, default |
|
||||
| Test.java:66:13:66:21 | "Const30" | Test.java:67:10:67:44 | <Expr>; |
|
||||
| Test.java:67:10:67:19 | System.out | Test.java:67:29:67:42 | "It's Const30" |
|
||||
| Test.java:67:10:67:43 | println(...) | Test.java:68:10:68:15 | break |
|
||||
| Test.java:67:10:67:44 | <Expr>; | Test.java:67:10:67:19 | System.out |
|
||||
@@ -263,16 +266,17 @@
|
||||
| Test.java:70:29:70:58 | "It's null, or something else" | Test.java:70:10:70:59 | println(...) |
|
||||
| Test.java:73:6:73:18 | switch (...) | Test.java:73:13:73:17 | thing |
|
||||
| Test.java:73:13:73:17 | thing | Test.java:74:8:74:21 | case <Pattern> |
|
||||
| Test.java:73:13:73:17 | thing | Test.java:77:8:77:17 | case ... |
|
||||
| Test.java:74:8:74:21 | case <Pattern> | Test.java:74:20:74:20 | s |
|
||||
| Test.java:74:8:74:21 | case <Pattern> | Test.java:80:8:80:22 | case <Pattern> |
|
||||
| Test.java:74:8:74:21 | case <Pattern> | Test.java:77:8:77:17 | case ... |
|
||||
| Test.java:74:20:74:20 | s | Test.java:75:10:75:31 | <Expr>; |
|
||||
| Test.java:75:10:75:19 | System.out | Test.java:75:29:75:29 | s |
|
||||
| Test.java:75:10:75:30 | println(...) | Test.java:76:10:76:15 | break |
|
||||
| Test.java:75:10:75:31 | <Expr>; | Test.java:75:10:75:19 | System.out |
|
||||
| Test.java:75:29:75:29 | s | Test.java:75:10:75:30 | println(...) |
|
||||
| Test.java:76:10:76:15 | break | Test.java:87:6:87:18 | switch (...) |
|
||||
| Test.java:77:8:77:17 | case ... | Test.java:78:10:78:41 | <Expr>; |
|
||||
| Test.java:77:8:77:17 | case ... | Test.java:77:13:77:16 | null |
|
||||
| Test.java:77:8:77:17 | case ... | Test.java:80:8:80:22 | case <Pattern> |
|
||||
| Test.java:77:13:77:16 | null | Test.java:78:10:78:41 | <Expr>; |
|
||||
| Test.java:78:10:78:19 | System.out | Test.java:78:29:78:39 | "It's null" |
|
||||
| Test.java:78:10:78:40 | println(...) | Test.java:79:10:79:15 | break |
|
||||
| Test.java:78:10:78:41 | <Expr>; | Test.java:78:10:78:19 | System.out |
|
||||
@@ -347,7 +351,7 @@
|
||||
| Test.java:110:26:110:30 | thing | Test.java:111:8:111:20 | case <Pattern> |
|
||||
| Test.java:111:8:111:20 | case <Pattern> | Test.java:111:15:111:15 | <anonymous local variable> |
|
||||
| Test.java:111:8:111:20 | case <Pattern> | Test.java:112:8:112:77 | case <Pattern> |
|
||||
| Test.java:111:13:111:19 | B(...) | Test.java:114:10:114:17 | yield ... |
|
||||
| Test.java:111:13:111:19 | B(...) | Test.java:114:16:114:16 | 1 |
|
||||
| Test.java:111:15:111:15 | <anonymous local variable> | Test.java:111:18:111:18 | <anonymous local variable> |
|
||||
| Test.java:111:18:111:18 | <anonymous local variable> | Test.java:111:13:111:19 | B(...) |
|
||||
| Test.java:112:8:112:77 | case <Pattern> | Test.java:112:21:112:21 | <anonymous local variable> |
|
||||
@@ -362,32 +366,34 @@
|
||||
| Test.java:112:47:112:51 | thing | Test.java:112:47:112:62 | toString(...) |
|
||||
| Test.java:112:47:112:62 | toString(...) | Test.java:112:71:112:75 | "abc" |
|
||||
| Test.java:112:47:112:76 | equals(...) | Test.java:113:8:113:20 | case <Pattern> |
|
||||
| Test.java:112:47:112:76 | equals(...) | Test.java:114:10:114:17 | yield ... |
|
||||
| Test.java:112:47:112:76 | equals(...) | Test.java:114:16:114:16 | 1 |
|
||||
| Test.java:112:71:112:75 | "abc" | Test.java:112:47:112:76 | equals(...) |
|
||||
| Test.java:113:8:113:20 | case <Pattern> | Test.java:113:19:113:19 | <anonymous local variable> |
|
||||
| Test.java:113:8:113:20 | case <Pattern> | Test.java:115:8:115:15 | default |
|
||||
| Test.java:113:19:113:19 | <anonymous local variable> | Test.java:114:10:114:17 | yield ... |
|
||||
| Test.java:114:10:114:17 | yield ... | Test.java:114:16:114:16 | 1 |
|
||||
| Test.java:114:16:114:16 | 1 | Test.java:110:10:110:31 | result |
|
||||
| Test.java:115:8:115:15 | default | Test.java:116:10:116:17 | yield ... |
|
||||
| Test.java:116:10:116:17 | yield ... | Test.java:116:16:116:16 | 2 |
|
||||
| Test.java:116:16:116:16 | 2 | Test.java:110:10:110:31 | result |
|
||||
| Test.java:113:19:113:19 | <anonymous local variable> | Test.java:114:16:114:16 | 1 |
|
||||
| Test.java:114:10:114:17 | yield ... | Test.java:110:10:110:31 | result |
|
||||
| Test.java:114:16:114:16 | 1 | Test.java:114:10:114:17 | yield ... |
|
||||
| Test.java:115:8:115:15 | default | Test.java:116:16:116:16 | 2 |
|
||||
| Test.java:116:10:116:17 | yield ... | Test.java:110:10:110:31 | result |
|
||||
| Test.java:116:16:116:16 | 2 | Test.java:116:10:116:17 | yield ... |
|
||||
| Test.java:119:6:119:27 | switch (...) | Test.java:119:22:119:26 | thing |
|
||||
| Test.java:119:14:119:26 | (...)... | Test.java:120:8:120:16 | case ... |
|
||||
| Test.java:119:14:119:26 | (...)... | Test.java:121:8:121:56 | case <Pattern> |
|
||||
| Test.java:119:22:119:26 | thing | Test.java:119:14:119:26 | (...)... |
|
||||
| Test.java:120:8:120:16 | case ... | Test.java:122:8:122:16 | case ... |
|
||||
| Test.java:120:8:120:16 | case ... | Test.java:120:13:120:15 | "a" |
|
||||
| Test.java:120:8:120:16 | case ... | Test.java:121:8:121:56 | case <Pattern> |
|
||||
| Test.java:120:13:120:15 | "a" | Test.java:123:10:123:15 | break |
|
||||
| Test.java:121:8:121:56 | case <Pattern> | Test.java:121:20:121:20 | <anonymous local variable> |
|
||||
| Test.java:121:8:121:56 | case <Pattern> | Test.java:122:8:122:16 | case ... |
|
||||
| Test.java:121:8:121:56 | case <Pattern> | Test.java:124:8:124:15 | default |
|
||||
| Test.java:121:20:121:20 | <anonymous local variable> | Test.java:121:36:121:40 | thing |
|
||||
| Test.java:121:27:121:50 | length(...) | Test.java:121:55:121:55 | 5 |
|
||||
| Test.java:121:27:121:55 | ... == ... | Test.java:122:8:122:16 | case ... |
|
||||
| Test.java:121:27:121:55 | ... == ... | Test.java:124:8:124:15 | default |
|
||||
| Test.java:121:27:121:55 | ... == ... | Test.java:123:10:123:15 | break |
|
||||
| Test.java:121:28:121:40 | (...)... | Test.java:121:27:121:50 | length(...) |
|
||||
| Test.java:121:36:121:40 | thing | Test.java:121:28:121:40 | (...)... |
|
||||
| Test.java:121:55:121:55 | 5 | Test.java:121:27:121:55 | ... == ... |
|
||||
| Test.java:122:8:122:16 | case ... | Test.java:123:10:123:15 | break |
|
||||
| Test.java:122:8:122:16 | case ... | Test.java:122:13:122:15 | "b" |
|
||||
| Test.java:122:8:122:16 | case ... | Test.java:124:8:124:15 | default |
|
||||
| Test.java:122:13:122:15 | "b" | Test.java:123:10:123:15 | break |
|
||||
| Test.java:123:10:123:15 | break | Test.java:129:6:129:18 | switch (...) |
|
||||
| Test.java:124:8:124:15 | default | Test.java:125:10:125:15 | break |
|
||||
| Test.java:125:10:125:15 | break | Test.java:129:6:129:18 | switch (...) |
|
||||
@@ -395,29 +401,33 @@
|
||||
| Test.java:129:13:129:17 | thing | Test.java:130:8:130:21 | case <Pattern> |
|
||||
| Test.java:130:8:130:21 | case <Pattern> | Test.java:130:20:130:20 | <anonymous local variable> |
|
||||
| Test.java:130:8:130:21 | case <Pattern> | Test.java:131:8:131:15 | default |
|
||||
| Test.java:130:20:130:20 | <anonymous local variable> | Test.java:131:8:131:15 | default |
|
||||
| Test.java:130:20:130:20 | <anonymous local variable> | Test.java:3:22:3:25 | Normal Exit |
|
||||
| Test.java:131:8:131:15 | default | Test.java:3:22:3:25 | Normal Exit |
|
||||
| Test.java:138:8:138:8 | ...=... | Test.java:138:8:138:8 | <Expr>; |
|
||||
| Test.java:138:8:138:8 | ...=... | Test.java:138:8:138:8 | Normal Exit |
|
||||
| Test.java:138:8:138:8 | <Expr>; | Test.java:138:8:138:8 | this |
|
||||
| Test.java:138:8:138:8 | <Expr>; | Test.java:138:8:138:8 | this |
|
||||
| Test.java:138:8:138:8 | Exceptional Exit | Test.java:138:8:138:8 | Exit |
|
||||
| Test.java:138:8:138:8 | Entry | Test.java:138:8:138:8 | { ... } |
|
||||
| Test.java:138:8:138:8 | Normal Exit | Test.java:138:8:138:8 | Exit |
|
||||
| Test.java:138:8:138:8 | b | Test.java:138:8:138:8 | ...=... |
|
||||
| Test.java:138:8:138:8 | field3 | Test.java:138:8:138:8 | ...=... |
|
||||
| Test.java:138:8:138:8 | super(...) | Test.java:138:8:138:8 | <Expr>; |
|
||||
| Test.java:138:8:138:8 | this | Test.java:138:8:138:8 | b |
|
||||
| Test.java:138:8:138:8 | this | Test.java:138:8:138:8 | field3 |
|
||||
| Test.java:138:8:138:8 | this | Test.java:138:8:138:8 | this.b |
|
||||
| Test.java:138:8:138:8 | this | Test.java:138:8:138:8 | this.field3 |
|
||||
| Test.java:138:8:138:8 | this.b | Test.java:138:8:138:8 | b |
|
||||
| Test.java:138:8:138:8 | this.field3 | Test.java:138:8:138:8 | field3 |
|
||||
| Test.java:138:8:138:8 | { ... } | Test.java:138:8:138:8 | super(...) |
|
||||
| Test.java:139:8:139:8 | ...=... | Test.java:139:8:139:8 | <Expr>; |
|
||||
| Test.java:139:8:139:8 | ...=... | Test.java:139:8:139:8 | Normal Exit |
|
||||
| Test.java:139:8:139:8 | <Expr>; | Test.java:139:8:139:8 | this |
|
||||
| Test.java:139:8:139:8 | <Expr>; | Test.java:139:8:139:8 | this |
|
||||
| Test.java:139:8:139:8 | Exceptional Exit | Test.java:139:8:139:8 | Exit |
|
||||
| Test.java:139:8:139:8 | Entry | Test.java:139:8:139:8 | { ... } |
|
||||
| Test.java:139:8:139:8 | Normal Exit | Test.java:139:8:139:8 | Exit |
|
||||
| Test.java:139:8:139:8 | field1 | Test.java:139:8:139:8 | ...=... |
|
||||
| Test.java:139:8:139:8 | field2 | Test.java:139:8:139:8 | ...=... |
|
||||
| Test.java:139:8:139:8 | super(...) | Test.java:139:8:139:8 | <Expr>; |
|
||||
| Test.java:139:8:139:8 | this | Test.java:139:8:139:8 | field1 |
|
||||
| Test.java:139:8:139:8 | this | Test.java:139:8:139:8 | field2 |
|
||||
| Test.java:139:8:139:8 | this | Test.java:139:8:139:8 | this.field1 |
|
||||
| Test.java:139:8:139:8 | this | Test.java:139:8:139:8 | this.field2 |
|
||||
| Test.java:139:8:139:8 | this.field1 | Test.java:139:8:139:8 | field1 |
|
||||
| Test.java:139:8:139:8 | this.field2 | Test.java:139:8:139:8 | field2 |
|
||||
| Test.java:139:8:139:8 | { ... } | Test.java:139:8:139:8 | super(...) |
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode cn
|
||||
where cn.getLocation().getFile().getBaseName() = ["Test.java", "Exhaustive.java"]
|
||||
select cn, cn.getASuccessor()
|
||||
select cn, getAnAstSuccessor(cn)
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
| CloseReaderTest.java:8:14:8:28 | Exceptional Exit | CloseReaderTest.java:8:14:8:28 | Exit |
|
||||
| CloseReaderTest.java:8:14:8:28 | Entry | CloseReaderTest.java:8:14:8:28 | { ... } |
|
||||
| CloseReaderTest.java:8:14:8:28 | Normal Exit | CloseReaderTest.java:8:14:8:28 | Exit |
|
||||
| CloseReaderTest.java:8:14:8:28 | super(...) | CloseReaderTest.java:8:14:8:28 | Normal Exit |
|
||||
| CloseReaderTest.java:8:14:8:28 | { ... } | CloseReaderTest.java:8:14:8:28 | super(...) |
|
||||
| CloseReaderTest.java:9:23:9:34 | Entry | CloseReaderTest.java:10:2:24:2 | { ... } |
|
||||
| CloseReaderTest.java:9:23:9:34 | Exceptional Exit | CloseReaderTest.java:9:23:9:34 | Exit |
|
||||
| CloseReaderTest.java:9:23:9:34 | Normal Exit | CloseReaderTest.java:9:23:9:34 | Exit |
|
||||
| CloseReaderTest.java:10:2:24:2 | { ... } | CloseReaderTest.java:12:3:13:42 | <Expr>; |
|
||||
@@ -27,6 +28,7 @@
|
||||
| CloseReaderTest.java:19:11:19:15 | stdin | CloseReaderTest.java:19:11:19:26 | readLine(...) |
|
||||
| CloseReaderTest.java:19:11:19:26 | readLine(...) | CloseReaderTest.java:19:4:19:27 | return ... |
|
||||
| CloseReaderTest.java:19:11:19:26 | readLine(...) | CloseReaderTest.java:20:5:20:26 | catch (...) |
|
||||
| CloseReaderTest.java:20:5:20:26 | catch (...) | CloseReaderTest.java:9:23:9:34 | Exceptional Exit |
|
||||
| CloseReaderTest.java:20:5:20:26 | catch (...) | CloseReaderTest.java:20:24:20:25 | ex |
|
||||
| CloseReaderTest.java:20:24:20:25 | ex | CloseReaderTest.java:21:3:23:3 | { ... } |
|
||||
| CloseReaderTest.java:21:3:23:3 | { ... } | CloseReaderTest.java:22:11:22:14 | null |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
| LoopVarReadTest.java:3:14:3:28 | Exceptional Exit | LoopVarReadTest.java:3:14:3:28 | Exit |
|
||||
| LoopVarReadTest.java:3:14:3:28 | Entry | LoopVarReadTest.java:3:14:3:28 | { ... } |
|
||||
| LoopVarReadTest.java:3:14:3:28 | Normal Exit | LoopVarReadTest.java:3:14:3:28 | Exit |
|
||||
| LoopVarReadTest.java:3:14:3:28 | super(...) | LoopVarReadTest.java:3:14:3:28 | Normal Exit |
|
||||
| LoopVarReadTest.java:3:14:3:28 | { ... } | LoopVarReadTest.java:3:14:3:28 | super(...) |
|
||||
| LoopVarReadTest.java:4:21:4:28 | Exceptional Exit | LoopVarReadTest.java:4:21:4:28 | Exit |
|
||||
| LoopVarReadTest.java:4:21:4:28 | Entry | LoopVarReadTest.java:5:2:15:2 | { ... } |
|
||||
| LoopVarReadTest.java:4:21:4:28 | Normal Exit | LoopVarReadTest.java:4:21:4:28 | Exit |
|
||||
| LoopVarReadTest.java:5:2:15:2 | { ... } | LoopVarReadTest.java:6:3:6:12 | var ...; |
|
||||
| LoopVarReadTest.java:6:3:6:12 | var ...; | LoopVarReadTest.java:6:11:6:11 | 2 |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
| SaveFileTest.java:11:14:11:25 | Exceptional Exit | SaveFileTest.java:11:14:11:25 | Exit |
|
||||
| SaveFileTest.java:11:14:11:25 | Entry | SaveFileTest.java:11:14:11:25 | { ... } |
|
||||
| SaveFileTest.java:11:14:11:25 | Normal Exit | SaveFileTest.java:11:14:11:25 | Exit |
|
||||
| SaveFileTest.java:11:14:11:25 | super(...) | SaveFileTest.java:11:14:11:25 | Normal Exit |
|
||||
| SaveFileTest.java:11:14:11:25 | { ... } | SaveFileTest.java:11:14:11:25 | super(...) |
|
||||
| SaveFileTest.java:12:14:12:21 | Entry | SaveFileTest.java:15:2:55:2 | { ... } |
|
||||
| SaveFileTest.java:12:14:12:21 | Exceptional Exit | SaveFileTest.java:12:14:12:21 | Exit |
|
||||
| SaveFileTest.java:12:14:12:21 | Normal Exit | SaveFileTest.java:12:14:12:21 | Exit |
|
||||
| SaveFileTest.java:15:2:55:2 | { ... } | SaveFileTest.java:17:3:17:25 | var ...; |
|
||||
@@ -14,8 +15,9 @@
|
||||
| SaveFileTest.java:18:7:18:26 | startsWith(...) | SaveFileTest.java:24:3:24:33 | var ...; |
|
||||
| SaveFileTest.java:18:23:18:25 | "/" | SaveFileTest.java:18:7:18:26 | startsWith(...) |
|
||||
| SaveFileTest.java:19:3:21:3 | { ... } | SaveFileTest.java:20:4:20:32 | <Expr>; |
|
||||
| SaveFileTest.java:20:4:20:11 | savePath | SaveFileTest.java:20:15:20:18 | path |
|
||||
| SaveFileTest.java:20:4:20:31 | ...=... | SaveFileTest.java:24:3:24:33 | var ...; |
|
||||
| SaveFileTest.java:20:4:20:32 | <Expr>; | SaveFileTest.java:20:15:20:18 | path |
|
||||
| SaveFileTest.java:20:4:20:32 | <Expr>; | SaveFileTest.java:20:4:20:11 | savePath |
|
||||
| SaveFileTest.java:20:15:20:18 | path | SaveFileTest.java:20:30:20:30 | 1 |
|
||||
| SaveFileTest.java:20:15:20:31 | substring(...) | SaveFileTest.java:20:4:20:31 | ...=... |
|
||||
| SaveFileTest.java:20:30:20:30 | 1 | SaveFileTest.java:20:15:20:31 | substring(...) |
|
||||
@@ -44,20 +46,20 @@
|
||||
| SaveFileTest.java:30:22:30:25 | null | SaveFileTest.java:30:16:30:25 | bos |
|
||||
| SaveFileTest.java:31:3:53:3 | try ... | SaveFileTest.java:32:3:41:3 | { ... } |
|
||||
| SaveFileTest.java:32:3:41:3 | { ... } | SaveFileTest.java:33:4:33:40 | <Expr>; |
|
||||
| SaveFileTest.java:33:4:33:6 | bos | SaveFileTest.java:33:31:33:38 | saveFile |
|
||||
| SaveFileTest.java:33:4:33:39 | ...=... | SaveFileTest.java:34:4:34:55 | while (...) |
|
||||
| SaveFileTest.java:33:4:33:40 | <Expr>; | SaveFileTest.java:33:31:33:38 | saveFile |
|
||||
| SaveFileTest.java:33:4:33:40 | <Expr>; | SaveFileTest.java:33:4:33:6 | bos |
|
||||
| SaveFileTest.java:33:10:33:39 | new FileOutputStream(...) | SaveFileTest.java:33:4:33:39 | ...=... |
|
||||
| SaveFileTest.java:33:10:33:39 | new FileOutputStream(...) | SaveFileTest.java:41:5:41:23 | catch (...) |
|
||||
| SaveFileTest.java:33:10:33:39 | new FileOutputStream(...) | SaveFileTest.java:45:3:53:3 | { ... } |
|
||||
| SaveFileTest.java:33:31:33:38 | saveFile | SaveFileTest.java:33:10:33:39 | new FileOutputStream(...) |
|
||||
| SaveFileTest.java:34:4:34:55 | while (...) | SaveFileTest.java:34:24:34:25 | is |
|
||||
| SaveFileTest.java:34:4:34:55 | while (...) | SaveFileTest.java:34:12:34:20 | bytesRead |
|
||||
| SaveFileTest.java:34:11:34:54 | ... != ... | SaveFileTest.java:35:4:37:4 | { ... } |
|
||||
| SaveFileTest.java:34:11:34:54 | ... != ... | SaveFileTest.java:39:4:40:41 | <Expr>; |
|
||||
| SaveFileTest.java:34:12:34:20 | bytesRead | SaveFileTest.java:34:24:34:25 | is |
|
||||
| SaveFileTest.java:34:12:34:47 | ...=... | SaveFileTest.java:34:54:34:54 | 1 |
|
||||
| SaveFileTest.java:34:24:34:25 | is | SaveFileTest.java:34:32:34:37 | buffer |
|
||||
| SaveFileTest.java:34:24:34:47 | read(...) | SaveFileTest.java:34:12:34:47 | ...=... |
|
||||
| SaveFileTest.java:34:24:34:47 | read(...) | SaveFileTest.java:41:5:41:23 | catch (...) |
|
||||
| SaveFileTest.java:34:24:34:47 | read(...) | SaveFileTest.java:45:3:53:3 | { ... } |
|
||||
| SaveFileTest.java:34:32:34:37 | buffer | SaveFileTest.java:34:40:34:40 | 0 |
|
||||
| SaveFileTest.java:34:40:34:40 | 0 | SaveFileTest.java:34:43:34:46 | 8192 |
|
||||
| SaveFileTest.java:34:43:34:46 | 8192 | SaveFileTest.java:34:24:34:47 | read(...) |
|
||||
@@ -65,9 +67,8 @@
|
||||
| SaveFileTest.java:34:54:34:54 | 1 | SaveFileTest.java:34:53:34:54 | -... |
|
||||
| SaveFileTest.java:35:4:37:4 | { ... } | SaveFileTest.java:36:5:36:36 | <Expr>; |
|
||||
| SaveFileTest.java:36:5:36:7 | bos | SaveFileTest.java:36:15:36:20 | buffer |
|
||||
| SaveFileTest.java:36:5:36:35 | write(...) | SaveFileTest.java:34:24:34:25 | is |
|
||||
| SaveFileTest.java:36:5:36:35 | write(...) | SaveFileTest.java:34:12:34:20 | bytesRead |
|
||||
| SaveFileTest.java:36:5:36:35 | write(...) | SaveFileTest.java:41:5:41:23 | catch (...) |
|
||||
| SaveFileTest.java:36:5:36:35 | write(...) | SaveFileTest.java:45:3:53:3 | { ... } |
|
||||
| SaveFileTest.java:36:5:36:36 | <Expr>; | SaveFileTest.java:36:5:36:7 | bos |
|
||||
| SaveFileTest.java:36:15:36:20 | buffer | SaveFileTest.java:36:23:36:23 | 0 |
|
||||
| SaveFileTest.java:36:23:36:23 | 0 | SaveFileTest.java:36:26:36:34 | bytesRead |
|
||||
@@ -82,7 +83,6 @@
|
||||
| SaveFileTest.java:40:8:40:15 | saveFile | SaveFileTest.java:40:8:40:33 | getAbsolutePath(...) |
|
||||
| SaveFileTest.java:40:8:40:33 | getAbsolutePath(...) | SaveFileTest.java:39:23:40:33 | ... + ... |
|
||||
| SaveFileTest.java:40:8:40:33 | getAbsolutePath(...) | SaveFileTest.java:41:5:41:23 | catch (...) |
|
||||
| SaveFileTest.java:40:8:40:33 | getAbsolutePath(...) | SaveFileTest.java:45:3:53:3 | { ... } |
|
||||
| SaveFileTest.java:40:37:40:39 | "]" | SaveFileTest.java:39:23:40:39 | ... + ... |
|
||||
| SaveFileTest.java:41:5:41:23 | catch (...) | SaveFileTest.java:41:22:41:22 | e |
|
||||
| SaveFileTest.java:41:22:41:22 | e | SaveFileTest.java:42:3:44:3 | { ... } |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
| SchackTest.java:1:14:1:23 | Exceptional Exit | SchackTest.java:1:14:1:23 | Exit |
|
||||
| SchackTest.java:1:14:1:23 | Entry | SchackTest.java:1:14:1:23 | { ... } |
|
||||
| SchackTest.java:1:14:1:23 | Normal Exit | SchackTest.java:1:14:1:23 | Exit |
|
||||
| SchackTest.java:1:14:1:23 | super(...) | SchackTest.java:1:14:1:23 | Normal Exit |
|
||||
| SchackTest.java:1:14:1:23 | { ... } | SchackTest.java:1:14:1:23 | super(...) |
|
||||
| SchackTest.java:2:8:2:10 | Exceptional Exit | SchackTest.java:2:8:2:10 | Exit |
|
||||
| SchackTest.java:2:8:2:10 | Entry | SchackTest.java:2:8:2:10 | { ... } |
|
||||
| SchackTest.java:2:8:2:10 | Normal Exit | SchackTest.java:2:8:2:10 | Exit |
|
||||
| SchackTest.java:2:8:2:10 | super(...) | SchackTest.java:2:8:2:10 | Normal Exit |
|
||||
| SchackTest.java:2:8:2:10 | { ... } | SchackTest.java:2:8:2:10 | super(...) |
|
||||
| SchackTest.java:3:8:3:10 | Exceptional Exit | SchackTest.java:3:8:3:10 | Exit |
|
||||
| SchackTest.java:3:8:3:10 | Entry | SchackTest.java:3:8:3:10 | { ... } |
|
||||
| SchackTest.java:3:8:3:10 | Normal Exit | SchackTest.java:3:8:3:10 | Exit |
|
||||
| SchackTest.java:3:8:3:10 | super(...) | SchackTest.java:3:8:3:10 | Normal Exit |
|
||||
| SchackTest.java:3:8:3:10 | { ... } | SchackTest.java:3:8:3:10 | super(...) |
|
||||
| SchackTest.java:5:7:5:9 | Entry | SchackTest.java:5:18:24:2 | { ... } |
|
||||
| SchackTest.java:5:7:5:9 | Exceptional Exit | SchackTest.java:5:7:5:9 | Exit |
|
||||
| SchackTest.java:5:7:5:9 | Normal Exit | SchackTest.java:5:7:5:9 | Exit |
|
||||
| SchackTest.java:5:18:24:2 | { ... } | SchackTest.java:6:3:23:3 | try ... |
|
||||
@@ -36,7 +37,6 @@
|
||||
| SchackTest.java:13:9:13:13 | bar(...) | SchackTest.java:14:6:14:42 | <Expr>; |
|
||||
| SchackTest.java:13:9:13:13 | bar(...) | SchackTest.java:16:4:16:41 | <Expr>; |
|
||||
| SchackTest.java:13:9:13:13 | bar(...) | SchackTest.java:17:5:17:17 | catch (...) |
|
||||
| SchackTest.java:13:9:13:13 | bar(...) | SchackTest.java:19:5:19:17 | catch (...) |
|
||||
| SchackTest.java:13:9:13:13 | bar(...) | SchackTest.java:21:13:23:3 | { ... } |
|
||||
| SchackTest.java:14:6:14:15 | System.out | SchackTest.java:14:25:14:40 | "true successor" |
|
||||
| SchackTest.java:14:6:14:41 | println(...) | SchackTest.java:16:4:16:41 | <Expr>; |
|
||||
@@ -45,10 +45,12 @@
|
||||
| SchackTest.java:14:6:14:42 | <Expr>; | SchackTest.java:14:6:14:15 | System.out |
|
||||
| SchackTest.java:14:25:14:40 | "true successor" | SchackTest.java:14:6:14:41 | println(...) |
|
||||
| SchackTest.java:16:4:16:13 | System.out | SchackTest.java:16:23:16:39 | "false successor" |
|
||||
| SchackTest.java:16:4:16:40 | println(...) | SchackTest.java:17:5:17:17 | catch (...) |
|
||||
| SchackTest.java:16:4:16:40 | println(...) | SchackTest.java:21:13:23:3 | { ... } |
|
||||
| SchackTest.java:16:4:16:41 | <Expr>; | SchackTest.java:16:4:16:13 | System.out |
|
||||
| SchackTest.java:16:23:16:39 | "false successor" | SchackTest.java:16:4:16:40 | println(...) |
|
||||
| SchackTest.java:17:5:17:17 | catch (...) | SchackTest.java:17:16:17:16 | e |
|
||||
| SchackTest.java:17:5:17:17 | catch (...) | SchackTest.java:19:5:19:17 | catch (...) |
|
||||
| SchackTest.java:17:16:17:16 | e | SchackTest.java:17:19:19:3 | { ... } |
|
||||
| SchackTest.java:17:19:19:3 | { ... } | SchackTest.java:18:4:18:41 | <Expr>; |
|
||||
| SchackTest.java:18:4:18:13 | System.out | SchackTest.java:18:23:18:39 | "false successor" |
|
||||
@@ -56,6 +58,7 @@
|
||||
| SchackTest.java:18:4:18:41 | <Expr>; | SchackTest.java:18:4:18:13 | System.out |
|
||||
| SchackTest.java:18:23:18:39 | "false successor" | SchackTest.java:18:4:18:40 | println(...) |
|
||||
| SchackTest.java:19:5:19:17 | catch (...) | SchackTest.java:19:16:19:16 | e |
|
||||
| SchackTest.java:19:5:19:17 | catch (...) | SchackTest.java:21:13:23:3 | { ... } |
|
||||
| SchackTest.java:19:16:19:16 | e | SchackTest.java:19:19:21:3 | { ... } |
|
||||
| SchackTest.java:19:19:21:3 | { ... } | SchackTest.java:20:4:20:74 | <Expr>; |
|
||||
| SchackTest.java:20:4:20:13 | System.out | SchackTest.java:20:23:20:72 | "successor (but neither true nor false successor)" |
|
||||
@@ -68,6 +71,7 @@
|
||||
| SchackTest.java:22:4:22:40 | println(...) | SchackTest.java:5:7:5:9 | Normal Exit |
|
||||
| SchackTest.java:22:4:22:41 | <Expr>; | SchackTest.java:22:4:22:13 | System.out |
|
||||
| SchackTest.java:22:23:22:39 | "false successor" | SchackTest.java:22:4:22:40 | println(...) |
|
||||
| SchackTest.java:26:18:26:20 | Entry | SchackTest.java:26:35:30:2 | { ... } |
|
||||
| SchackTest.java:26:18:26:20 | Exceptional Exit | SchackTest.java:26:18:26:20 | Exit |
|
||||
| SchackTest.java:26:18:26:20 | Normal Exit | SchackTest.java:26:18:26:20 | Exit |
|
||||
| SchackTest.java:26:35:30:2 | { ... } | SchackTest.java:27:3:27:25 | if (...) |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
| TestBreak.java:3:14:3:22 | Exceptional Exit | TestBreak.java:3:14:3:22 | Exit |
|
||||
| TestBreak.java:3:14:3:22 | Entry | TestBreak.java:3:14:3:22 | { ... } |
|
||||
| TestBreak.java:3:14:3:22 | Normal Exit | TestBreak.java:3:14:3:22 | Exit |
|
||||
| TestBreak.java:3:14:3:22 | super(...) | TestBreak.java:3:14:3:22 | Normal Exit |
|
||||
| TestBreak.java:3:14:3:22 | { ... } | TestBreak.java:3:14:3:22 | super(...) |
|
||||
| TestBreak.java:4:14:4:14 | Exceptional Exit | TestBreak.java:4:14:4:14 | Exit |
|
||||
| TestBreak.java:4:14:4:14 | Entry | TestBreak.java:5:2:85:2 | { ... } |
|
||||
| TestBreak.java:4:14:4:14 | Normal Exit | TestBreak.java:4:14:4:14 | Exit |
|
||||
| TestBreak.java:5:2:85:2 | { ... } | TestBreak.java:7:3:8:11 | <Label>: ... |
|
||||
| TestBreak.java:7:3:8:11 | <Label>: ... | TestBreak.java:8:4:8:11 | for (...;...;...) |
|
||||
@@ -11,8 +11,9 @@
|
||||
| TestBreak.java:10:5:10:14 | var ...; | TestBreak.java:10:13:10:13 | 1 |
|
||||
| TestBreak.java:10:9:10:13 | x | TestBreak.java:11:5:11:14 | <Expr>; |
|
||||
| TestBreak.java:10:13:10:13 | 1 | TestBreak.java:10:9:10:13 | x |
|
||||
| TestBreak.java:11:5:11:5 | x | TestBreak.java:11:9:11:9 | x |
|
||||
| TestBreak.java:11:5:11:13 | ...=... | TestBreak.java:12:5:12:15 | if (...) |
|
||||
| TestBreak.java:11:5:11:14 | <Expr>; | TestBreak.java:11:9:11:9 | x |
|
||||
| TestBreak.java:11:5:11:14 | <Expr>; | TestBreak.java:11:5:11:5 | x |
|
||||
| TestBreak.java:11:9:11:9 | x | TestBreak.java:11:13:11:13 | 1 |
|
||||
| TestBreak.java:11:9:11:13 | ... + ... | TestBreak.java:11:5:11:13 | ...=... |
|
||||
| TestBreak.java:11:13:11:13 | 1 | TestBreak.java:11:9:11:13 | ... + ... |
|
||||
@@ -62,8 +63,9 @@
|
||||
| TestBreak.java:39:15:39:15 | 2 | TestBreak.java:39:10:39:15 | ... == ... |
|
||||
| TestBreak.java:40:6:42:6 | { ... } | TestBreak.java:41:7:41:12 | break |
|
||||
| TestBreak.java:41:7:41:12 | break | TestBreak.java:45:5:45:11 | <Expr>; |
|
||||
| TestBreak.java:43:6:43:6 | y | TestBreak.java:43:10:43:10 | y |
|
||||
| TestBreak.java:43:6:43:14 | ...=... | TestBreak.java:44:14:44:14 | y |
|
||||
| TestBreak.java:43:6:43:15 | <Expr>; | TestBreak.java:43:10:43:10 | y |
|
||||
| TestBreak.java:43:6:43:15 | <Expr>; | TestBreak.java:43:6:43:6 | y |
|
||||
| TestBreak.java:43:10:43:10 | y | TestBreak.java:43:14:43:14 | 2 |
|
||||
| TestBreak.java:43:10:43:14 | ... + ... | TestBreak.java:43:6:43:14 | ...=... |
|
||||
| TestBreak.java:43:14:43:14 | 2 | TestBreak.java:43:10:43:14 | ... + ... |
|
||||
@@ -71,89 +73,111 @@
|
||||
| TestBreak.java:44:14:44:19 | ... == ... | TestBreak.java:38:5:44:5 | { ... } |
|
||||
| TestBreak.java:44:14:44:19 | ... == ... | TestBreak.java:45:5:45:11 | <Expr>; |
|
||||
| TestBreak.java:44:19:44:19 | 1 | TestBreak.java:44:14:44:19 | ... == ... |
|
||||
| TestBreak.java:45:5:45:5 | y | TestBreak.java:45:9:45:10 | 12 |
|
||||
| TestBreak.java:45:5:45:10 | ...=... | TestBreak.java:30:10:30:13 | true |
|
||||
| TestBreak.java:45:5:45:11 | <Expr>; | TestBreak.java:45:9:45:10 | 12 |
|
||||
| TestBreak.java:45:5:45:11 | <Expr>; | TestBreak.java:45:5:45:5 | y |
|
||||
| TestBreak.java:45:9:45:10 | 12 | TestBreak.java:45:5:45:10 | ...=... |
|
||||
| TestBreak.java:48:3:48:3 | y | TestBreak.java:48:7:48:8 | 13 |
|
||||
| TestBreak.java:48:3:48:8 | ...=... | TestBreak.java:51:3:51:12 | var ...; |
|
||||
| TestBreak.java:48:3:48:9 | <Expr>; | TestBreak.java:48:7:48:8 | 13 |
|
||||
| TestBreak.java:48:3:48:9 | <Expr>; | TestBreak.java:48:3:48:3 | y |
|
||||
| TestBreak.java:48:7:48:8 | 13 | TestBreak.java:48:3:48:8 | ...=... |
|
||||
| TestBreak.java:51:3:51:12 | var ...; | TestBreak.java:51:10:51:11 | 12 |
|
||||
| TestBreak.java:51:7:51:11 | x | TestBreak.java:52:3:52:12 | switch (...) |
|
||||
| TestBreak.java:51:10:51:11 | 12 | TestBreak.java:51:7:51:11 | x |
|
||||
| TestBreak.java:52:3:52:12 | switch (...) | TestBreak.java:52:11:52:11 | x |
|
||||
| TestBreak.java:52:11:52:11 | x | TestBreak.java:54:3:54:9 | case ... |
|
||||
| TestBreak.java:52:11:52:11 | x | TestBreak.java:57:3:57:9 | case ... |
|
||||
| TestBreak.java:52:11:52:11 | x | TestBreak.java:61:3:61:9 | case ... |
|
||||
| TestBreak.java:52:11:52:11 | x | TestBreak.java:62:3:62:9 | case ... |
|
||||
| TestBreak.java:52:11:52:11 | x | TestBreak.java:66:3:66:9 | case ... |
|
||||
| TestBreak.java:52:11:52:11 | x | TestBreak.java:67:3:67:9 | case ... |
|
||||
| TestBreak.java:52:11:52:11 | x | TestBreak.java:70:3:70:10 | default |
|
||||
| TestBreak.java:54:3:54:9 | case ... | TestBreak.java:55:4:55:13 | <Expr>; |
|
||||
| TestBreak.java:54:3:54:9 | case ... | TestBreak.java:54:8:54:8 | 1 |
|
||||
| TestBreak.java:54:3:54:9 | case ... | TestBreak.java:57:3:57:9 | case ... |
|
||||
| TestBreak.java:54:8:54:8 | 1 | TestBreak.java:55:4:55:13 | <Expr>; |
|
||||
| TestBreak.java:55:4:55:4 | x | TestBreak.java:55:8:55:8 | x |
|
||||
| TestBreak.java:55:4:55:12 | ...=... | TestBreak.java:56:4:56:13 | <Expr>; |
|
||||
| TestBreak.java:55:4:55:13 | <Expr>; | TestBreak.java:55:8:55:8 | x |
|
||||
| TestBreak.java:55:4:55:13 | <Expr>; | TestBreak.java:55:4:55:4 | x |
|
||||
| TestBreak.java:55:8:55:8 | x | TestBreak.java:55:12:55:12 | 1 |
|
||||
| TestBreak.java:55:8:55:12 | ... + ... | TestBreak.java:55:4:55:12 | ...=... |
|
||||
| TestBreak.java:55:12:55:12 | 1 | TestBreak.java:55:8:55:12 | ... + ... |
|
||||
| TestBreak.java:56:4:56:12 | ...=... | TestBreak.java:57:3:57:9 | case ... |
|
||||
| TestBreak.java:56:4:56:13 | <Expr>; | TestBreak.java:56:8:56:8 | y |
|
||||
| TestBreak.java:56:4:56:4 | y | TestBreak.java:56:8:56:8 | y |
|
||||
| TestBreak.java:56:4:56:12 | ...=... | TestBreak.java:58:4:58:13 | <Expr>; |
|
||||
| TestBreak.java:56:4:56:13 | <Expr>; | TestBreak.java:56:4:56:4 | y |
|
||||
| TestBreak.java:56:8:56:8 | y | TestBreak.java:56:12:56:12 | 1 |
|
||||
| TestBreak.java:56:8:56:12 | ... + ... | TestBreak.java:56:4:56:12 | ...=... |
|
||||
| TestBreak.java:56:12:56:12 | 1 | TestBreak.java:56:8:56:12 | ... + ... |
|
||||
| TestBreak.java:57:3:57:9 | case ... | TestBreak.java:58:4:58:13 | <Expr>; |
|
||||
| TestBreak.java:57:3:57:9 | case ... | TestBreak.java:57:8:57:8 | 2 |
|
||||
| TestBreak.java:57:3:57:9 | case ... | TestBreak.java:61:3:61:9 | case ... |
|
||||
| TestBreak.java:57:8:57:8 | 2 | TestBreak.java:58:4:58:13 | <Expr>; |
|
||||
| TestBreak.java:58:4:58:4 | x | TestBreak.java:58:8:58:8 | x |
|
||||
| TestBreak.java:58:4:58:12 | ...=... | TestBreak.java:59:4:59:13 | <Expr>; |
|
||||
| TestBreak.java:58:4:58:13 | <Expr>; | TestBreak.java:58:8:58:8 | x |
|
||||
| TestBreak.java:58:4:58:13 | <Expr>; | TestBreak.java:58:4:58:4 | x |
|
||||
| TestBreak.java:58:8:58:8 | x | TestBreak.java:58:12:58:12 | 2 |
|
||||
| TestBreak.java:58:8:58:12 | ... + ... | TestBreak.java:58:4:58:12 | ...=... |
|
||||
| TestBreak.java:58:12:58:12 | 2 | TestBreak.java:58:8:58:12 | ... + ... |
|
||||
| TestBreak.java:59:4:59:4 | y | TestBreak.java:59:8:59:8 | y |
|
||||
| TestBreak.java:59:4:59:12 | ...=... | TestBreak.java:60:4:60:9 | break |
|
||||
| TestBreak.java:59:4:59:13 | <Expr>; | TestBreak.java:59:8:59:8 | y |
|
||||
| TestBreak.java:59:4:59:13 | <Expr>; | TestBreak.java:59:4:59:4 | y |
|
||||
| TestBreak.java:59:8:59:8 | y | TestBreak.java:59:12:59:12 | 2 |
|
||||
| TestBreak.java:59:8:59:12 | ... + ... | TestBreak.java:59:4:59:12 | ...=... |
|
||||
| TestBreak.java:59:12:59:12 | 2 | TestBreak.java:59:8:59:12 | ... + ... |
|
||||
| TestBreak.java:60:4:60:9 | break | TestBreak.java:76:3:76:11 | switch (...) |
|
||||
| TestBreak.java:61:3:61:9 | case ... | TestBreak.java:61:8:61:8 | 3 |
|
||||
| TestBreak.java:61:3:61:9 | case ... | TestBreak.java:62:3:62:9 | case ... |
|
||||
| TestBreak.java:62:3:62:9 | case ... | TestBreak.java:63:4:63:13 | <Expr>; |
|
||||
| TestBreak.java:61:8:61:8 | 3 | TestBreak.java:63:4:63:13 | <Expr>; |
|
||||
| TestBreak.java:62:3:62:9 | case ... | TestBreak.java:62:8:62:8 | 4 |
|
||||
| TestBreak.java:62:3:62:9 | case ... | TestBreak.java:66:3:66:9 | case ... |
|
||||
| TestBreak.java:62:8:62:8 | 4 | TestBreak.java:63:4:63:13 | <Expr>; |
|
||||
| TestBreak.java:63:4:63:4 | x | TestBreak.java:63:8:63:8 | x |
|
||||
| TestBreak.java:63:4:63:12 | ...=... | TestBreak.java:64:4:64:13 | <Expr>; |
|
||||
| TestBreak.java:63:4:63:13 | <Expr>; | TestBreak.java:63:8:63:8 | x |
|
||||
| TestBreak.java:63:4:63:13 | <Expr>; | TestBreak.java:63:4:63:4 | x |
|
||||
| TestBreak.java:63:8:63:8 | x | TestBreak.java:63:12:63:12 | 3 |
|
||||
| TestBreak.java:63:8:63:12 | ... + ... | TestBreak.java:63:4:63:12 | ...=... |
|
||||
| TestBreak.java:63:12:63:12 | 3 | TestBreak.java:63:8:63:12 | ... + ... |
|
||||
| TestBreak.java:64:4:64:4 | y | TestBreak.java:64:8:64:8 | y |
|
||||
| TestBreak.java:64:4:64:12 | ...=... | TestBreak.java:65:4:65:9 | break |
|
||||
| TestBreak.java:64:4:64:13 | <Expr>; | TestBreak.java:64:8:64:8 | y |
|
||||
| TestBreak.java:64:4:64:13 | <Expr>; | TestBreak.java:64:4:64:4 | y |
|
||||
| TestBreak.java:64:8:64:8 | y | TestBreak.java:64:12:64:12 | 4 |
|
||||
| TestBreak.java:64:8:64:12 | ... + ... | TestBreak.java:64:4:64:12 | ...=... |
|
||||
| TestBreak.java:64:12:64:12 | 4 | TestBreak.java:64:8:64:12 | ... + ... |
|
||||
| TestBreak.java:65:4:65:9 | break | TestBreak.java:76:3:76:11 | switch (...) |
|
||||
| TestBreak.java:66:3:66:9 | case ... | TestBreak.java:66:8:66:8 | 5 |
|
||||
| TestBreak.java:66:3:66:9 | case ... | TestBreak.java:67:3:67:9 | case ... |
|
||||
| TestBreak.java:67:3:67:9 | case ... | TestBreak.java:68:4:68:13 | <Expr>; |
|
||||
| TestBreak.java:66:8:66:8 | 5 | TestBreak.java:68:4:68:13 | <Expr>; |
|
||||
| TestBreak.java:67:3:67:9 | case ... | TestBreak.java:67:8:67:8 | 6 |
|
||||
| TestBreak.java:67:3:67:9 | case ... | TestBreak.java:70:3:70:10 | default |
|
||||
| TestBreak.java:67:8:67:8 | 6 | TestBreak.java:68:4:68:13 | <Expr>; |
|
||||
| TestBreak.java:68:4:68:4 | x | TestBreak.java:68:8:68:8 | x |
|
||||
| TestBreak.java:68:4:68:12 | ...=... | TestBreak.java:69:4:69:13 | <Expr>; |
|
||||
| TestBreak.java:68:4:68:13 | <Expr>; | TestBreak.java:68:8:68:8 | x |
|
||||
| TestBreak.java:68:4:68:13 | <Expr>; | TestBreak.java:68:4:68:4 | x |
|
||||
| TestBreak.java:68:8:68:8 | x | TestBreak.java:68:12:68:12 | 5 |
|
||||
| TestBreak.java:68:8:68:12 | ... + ... | TestBreak.java:68:4:68:12 | ...=... |
|
||||
| TestBreak.java:68:12:68:12 | 5 | TestBreak.java:68:8:68:12 | ... + ... |
|
||||
| TestBreak.java:69:4:69:12 | ...=... | TestBreak.java:70:3:70:10 | default |
|
||||
| TestBreak.java:69:4:69:13 | <Expr>; | TestBreak.java:69:8:69:8 | y |
|
||||
| TestBreak.java:69:4:69:4 | y | TestBreak.java:69:8:69:8 | y |
|
||||
| TestBreak.java:69:4:69:12 | ...=... | TestBreak.java:71:4:71:9 | <Expr>; |
|
||||
| TestBreak.java:69:4:69:13 | <Expr>; | TestBreak.java:69:4:69:4 | y |
|
||||
| TestBreak.java:69:8:69:8 | y | TestBreak.java:69:12:69:12 | 6 |
|
||||
| TestBreak.java:69:8:69:12 | ... + ... | TestBreak.java:69:4:69:12 | ...=... |
|
||||
| TestBreak.java:69:12:69:12 | 6 | TestBreak.java:69:8:69:12 | ... + ... |
|
||||
| TestBreak.java:70:3:70:10 | default | TestBreak.java:71:4:71:9 | <Expr>; |
|
||||
| TestBreak.java:71:4:71:4 | x | TestBreak.java:71:8:71:8 | y |
|
||||
| TestBreak.java:71:4:71:8 | ...=... | TestBreak.java:72:4:72:9 | <Expr>; |
|
||||
| TestBreak.java:71:4:71:9 | <Expr>; | TestBreak.java:71:8:71:8 | y |
|
||||
| TestBreak.java:71:4:71:9 | <Expr>; | TestBreak.java:71:4:71:4 | x |
|
||||
| TestBreak.java:71:8:71:8 | y | TestBreak.java:71:4:71:8 | ...=... |
|
||||
| TestBreak.java:72:4:72:4 | y | TestBreak.java:72:8:72:8 | x |
|
||||
| TestBreak.java:72:4:72:8 | ...=... | TestBreak.java:76:3:76:11 | switch (...) |
|
||||
| TestBreak.java:72:4:72:9 | <Expr>; | TestBreak.java:72:8:72:8 | x |
|
||||
| TestBreak.java:72:4:72:9 | <Expr>; | TestBreak.java:72:4:72:4 | y |
|
||||
| TestBreak.java:72:8:72:8 | x | TestBreak.java:72:4:72:8 | ...=... |
|
||||
| TestBreak.java:76:3:76:11 | switch (...) | TestBreak.java:76:10:76:10 | x |
|
||||
| TestBreak.java:76:10:76:10 | x | TestBreak.java:4:14:4:14 | Normal Exit |
|
||||
| TestBreak.java:76:10:76:10 | x | TestBreak.java:78:3:78:9 | case ... |
|
||||
| TestBreak.java:76:10:76:10 | x | TestBreak.java:81:3:81:9 | case ... |
|
||||
| TestBreak.java:78:3:78:9 | case ... | TestBreak.java:79:4:79:9 | <Expr>; |
|
||||
| TestBreak.java:78:3:78:9 | case ... | TestBreak.java:78:8:78:8 | 1 |
|
||||
| TestBreak.java:78:3:78:9 | case ... | TestBreak.java:81:3:81:9 | case ... |
|
||||
| TestBreak.java:78:8:78:8 | 1 | TestBreak.java:79:4:79:9 | <Expr>; |
|
||||
| TestBreak.java:79:4:79:4 | x | TestBreak.java:79:8:79:8 | 1 |
|
||||
| TestBreak.java:79:4:79:8 | ...=... | TestBreak.java:80:4:80:9 | break |
|
||||
| TestBreak.java:79:4:79:9 | <Expr>; | TestBreak.java:79:8:79:8 | 1 |
|
||||
| TestBreak.java:79:4:79:9 | <Expr>; | TestBreak.java:79:4:79:4 | x |
|
||||
| TestBreak.java:79:8:79:8 | 1 | TestBreak.java:79:4:79:8 | ...=... |
|
||||
| TestBreak.java:80:4:80:9 | break | TestBreak.java:4:14:4:14 | Normal Exit |
|
||||
| TestBreak.java:81:3:81:9 | case ... | TestBreak.java:82:4:82:9 | <Expr>; |
|
||||
| TestBreak.java:81:3:81:9 | case ... | TestBreak.java:4:14:4:14 | Normal Exit |
|
||||
| TestBreak.java:81:3:81:9 | case ... | TestBreak.java:81:8:81:8 | 2 |
|
||||
| TestBreak.java:81:8:81:8 | 2 | TestBreak.java:82:4:82:9 | <Expr>; |
|
||||
| TestBreak.java:82:4:82:4 | x | TestBreak.java:82:8:82:8 | 2 |
|
||||
| TestBreak.java:82:4:82:8 | ...=... | TestBreak.java:83:4:83:9 | break |
|
||||
| TestBreak.java:82:4:82:9 | <Expr>; | TestBreak.java:82:8:82:8 | 2 |
|
||||
| TestBreak.java:82:4:82:9 | <Expr>; | TestBreak.java:82:4:82:4 | x |
|
||||
| TestBreak.java:82:8:82:8 | 2 | TestBreak.java:82:4:82:8 | ...=... |
|
||||
| TestBreak.java:83:4:83:9 | break | TestBreak.java:4:14:4:14 | Normal Exit |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
| TestContinue.java:3:14:3:25 | Exceptional Exit | TestContinue.java:3:14:3:25 | Exit |
|
||||
| TestContinue.java:3:14:3:25 | Entry | TestContinue.java:3:14:3:25 | { ... } |
|
||||
| TestContinue.java:3:14:3:25 | Normal Exit | TestContinue.java:3:14:3:25 | Exit |
|
||||
| TestContinue.java:3:14:3:25 | super(...) | TestContinue.java:3:14:3:25 | Normal Exit |
|
||||
| TestContinue.java:3:14:3:25 | { ... } | TestContinue.java:3:14:3:25 | super(...) |
|
||||
| TestContinue.java:4:14:4:14 | Exceptional Exit | TestContinue.java:4:14:4:14 | Exit |
|
||||
| TestContinue.java:4:14:4:14 | Entry | TestContinue.java:5:2:58:2 | { ... } |
|
||||
| TestContinue.java:4:14:4:14 | Normal Exit | TestContinue.java:4:14:4:14 | Exit |
|
||||
| TestContinue.java:5:2:58:2 | { ... } | TestContinue.java:7:3:8:27 | <Label>: ... |
|
||||
| TestContinue.java:7:3:8:27 | <Label>: ... | TestContinue.java:8:4:8:27 | for (...;...;...) |
|
||||
@@ -17,8 +17,9 @@
|
||||
| TestContinue.java:10:5:10:14 | var ...; | TestContinue.java:10:13:10:13 | 1 |
|
||||
| TestContinue.java:10:9:10:13 | x | TestContinue.java:11:5:11:14 | <Expr>; |
|
||||
| TestContinue.java:10:13:10:13 | 1 | TestContinue.java:10:9:10:13 | x |
|
||||
| TestContinue.java:11:5:11:5 | x | TestContinue.java:11:9:11:9 | x |
|
||||
| TestContinue.java:11:5:11:13 | ...=... | TestContinue.java:12:5:12:15 | if (...) |
|
||||
| TestContinue.java:11:5:11:14 | <Expr>; | TestContinue.java:11:9:11:9 | x |
|
||||
| TestContinue.java:11:5:11:14 | <Expr>; | TestContinue.java:11:5:11:5 | x |
|
||||
| TestContinue.java:11:9:11:9 | x | TestContinue.java:11:13:11:13 | 1 |
|
||||
| TestContinue.java:11:9:11:13 | ... + ... | TestContinue.java:11:5:11:13 | ...=... |
|
||||
| TestContinue.java:11:13:11:13 | 1 | TestContinue.java:11:9:11:13 | ... + ... |
|
||||
@@ -51,9 +52,10 @@
|
||||
| TestContinue.java:22:23:22:23 | 2 | TestContinue.java:22:18:22:23 | ... == ... |
|
||||
| TestContinue.java:23:7:25:7 | { ... } | TestContinue.java:24:8:24:18 | continue |
|
||||
| TestContinue.java:24:8:24:18 | continue | TestContinue.java:8:20:8:20 | p |
|
||||
| TestContinue.java:26:7:26:7 | q | TestContinue.java:26:11:26:12 | 12 |
|
||||
| TestContinue.java:26:7:26:12 | ...=... | TestContinue.java:8:20:8:20 | p |
|
||||
| TestContinue.java:26:7:26:12 | ...=... | TestContinue.java:17:15:17:15 | q |
|
||||
| TestContinue.java:26:7:26:13 | <Expr>; | TestContinue.java:26:11:26:12 | 12 |
|
||||
| TestContinue.java:26:7:26:13 | <Expr>; | TestContinue.java:26:7:26:7 | q |
|
||||
| TestContinue.java:26:11:26:12 | 12 | TestContinue.java:26:7:26:12 | ...=... |
|
||||
| TestContinue.java:30:3:30:13 | var ...; | TestContinue.java:30:11:30:12 | 12 |
|
||||
| TestContinue.java:30:7:30:12 | y | TestContinue.java:31:3:31:17 | while (...) |
|
||||
@@ -81,8 +83,9 @@
|
||||
| TestContinue.java:40:15:40:15 | 2 | TestContinue.java:40:10:40:15 | ... == ... |
|
||||
| TestContinue.java:41:6:43:6 | { ... } | TestContinue.java:42:7:42:15 | continue |
|
||||
| TestContinue.java:42:7:42:15 | continue | TestContinue.java:45:14:45:14 | y |
|
||||
| TestContinue.java:44:6:44:6 | y | TestContinue.java:44:10:44:10 | y |
|
||||
| TestContinue.java:44:6:44:14 | ...=... | TestContinue.java:45:14:45:14 | y |
|
||||
| TestContinue.java:44:6:44:15 | <Expr>; | TestContinue.java:44:10:44:10 | y |
|
||||
| TestContinue.java:44:6:44:15 | <Expr>; | TestContinue.java:44:6:44:6 | y |
|
||||
| TestContinue.java:44:10:44:10 | y | TestContinue.java:44:14:44:14 | 2 |
|
||||
| TestContinue.java:44:10:44:14 | ... + ... | TestContinue.java:44:6:44:14 | ...=... |
|
||||
| TestContinue.java:44:14:44:14 | 2 | TestContinue.java:44:10:44:14 | ... + ... |
|
||||
@@ -90,14 +93,17 @@
|
||||
| TestContinue.java:45:14:45:19 | ... == ... | TestContinue.java:39:5:45:5 | { ... } |
|
||||
| TestContinue.java:45:14:45:19 | ... == ... | TestContinue.java:46:5:46:11 | <Expr>; |
|
||||
| TestContinue.java:45:19:45:19 | 1 | TestContinue.java:45:14:45:19 | ... == ... |
|
||||
| TestContinue.java:46:5:46:5 | y | TestContinue.java:46:9:46:10 | 12 |
|
||||
| TestContinue.java:46:5:46:10 | ...=... | TestContinue.java:48:4:48:10 | <Expr>; |
|
||||
| TestContinue.java:46:5:46:11 | <Expr>; | TestContinue.java:46:9:46:10 | 12 |
|
||||
| TestContinue.java:46:5:46:11 | <Expr>; | TestContinue.java:46:5:46:5 | y |
|
||||
| TestContinue.java:46:9:46:10 | 12 | TestContinue.java:46:5:46:10 | ...=... |
|
||||
| TestContinue.java:48:4:48:4 | y | TestContinue.java:48:8:48:9 | 15 |
|
||||
| TestContinue.java:48:4:48:9 | ...=... | TestContinue.java:31:10:31:10 | y |
|
||||
| TestContinue.java:48:4:48:10 | <Expr>; | TestContinue.java:48:8:48:9 | 15 |
|
||||
| TestContinue.java:48:4:48:10 | <Expr>; | TestContinue.java:48:4:48:4 | y |
|
||||
| TestContinue.java:48:8:48:9 | 15 | TestContinue.java:48:4:48:9 | ...=... |
|
||||
| TestContinue.java:50:3:50:3 | y | TestContinue.java:50:7:50:8 | 13 |
|
||||
| TestContinue.java:50:3:50:8 | ...=... | TestContinue.java:51:3:51:17 | while (...) |
|
||||
| TestContinue.java:50:3:50:9 | <Expr>; | TestContinue.java:50:7:50:8 | 13 |
|
||||
| TestContinue.java:50:3:50:9 | <Expr>; | TestContinue.java:50:3:50:3 | y |
|
||||
| TestContinue.java:50:7:50:8 | 13 | TestContinue.java:50:3:50:8 | ...=... |
|
||||
| TestContinue.java:51:3:51:17 | while (...) | TestContinue.java:51:10:51:10 | y |
|
||||
| TestContinue.java:51:10:51:10 | y | TestContinue.java:51:15:51:16 | 12 |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,24 +1,27 @@
|
||||
| TestDeclarations.java:1:7:1:22 | Exceptional Exit | TestDeclarations.java:1:7:1:22 | Exit |
|
||||
| TestDeclarations.java:1:7:1:22 | Entry | TestDeclarations.java:1:7:1:22 | { ... } |
|
||||
| TestDeclarations.java:1:7:1:22 | Normal Exit | TestDeclarations.java:1:7:1:22 | Exit |
|
||||
| TestDeclarations.java:1:7:1:22 | super(...) | TestDeclarations.java:1:7:1:22 | Normal Exit |
|
||||
| TestDeclarations.java:1:7:1:22 | { ... } | TestDeclarations.java:1:7:1:22 | super(...) |
|
||||
| TestDeclarations.java:2:6:2:21 | Exceptional Exit | TestDeclarations.java:2:6:2:21 | Exit |
|
||||
| TestDeclarations.java:2:6:2:21 | Entry | TestDeclarations.java:2:30:24:2 | { ... } |
|
||||
| TestDeclarations.java:2:6:2:21 | Normal Exit | TestDeclarations.java:2:6:2:21 | Exit |
|
||||
| TestDeclarations.java:2:30:24:2 | { ... } | TestDeclarations.java:4:3:4:11 | var ...; |
|
||||
| TestDeclarations.java:4:3:4:11 | var ...; | TestDeclarations.java:4:7:4:7 | b |
|
||||
| TestDeclarations.java:4:7:4:7 | b | TestDeclarations.java:4:10:4:10 | c |
|
||||
| TestDeclarations.java:4:10:4:10 | c | TestDeclarations.java:5:3:5:8 | <Expr>; |
|
||||
| TestDeclarations.java:5:3:5:3 | b | TestDeclarations.java:5:7:5:7 | 0 |
|
||||
| TestDeclarations.java:5:3:5:7 | ...=... | TestDeclarations.java:6:3:6:8 | <Expr>; |
|
||||
| TestDeclarations.java:5:3:5:8 | <Expr>; | TestDeclarations.java:5:7:5:7 | 0 |
|
||||
| TestDeclarations.java:5:3:5:8 | <Expr>; | TestDeclarations.java:5:3:5:3 | b |
|
||||
| TestDeclarations.java:5:7:5:7 | 0 | TestDeclarations.java:5:3:5:7 | ...=... |
|
||||
| TestDeclarations.java:6:3:6:3 | c | TestDeclarations.java:6:7:6:7 | 0 |
|
||||
| TestDeclarations.java:6:3:6:7 | ...=... | TestDeclarations.java:7:3:7:13 | while (...) |
|
||||
| TestDeclarations.java:6:3:6:8 | <Expr>; | TestDeclarations.java:6:7:6:7 | 0 |
|
||||
| TestDeclarations.java:6:3:6:8 | <Expr>; | TestDeclarations.java:6:3:6:3 | c |
|
||||
| TestDeclarations.java:6:7:6:7 | 0 | TestDeclarations.java:6:3:6:7 | ...=... |
|
||||
| TestDeclarations.java:7:3:7:13 | while (...) | TestDeclarations.java:7:9:7:12 | true |
|
||||
| TestDeclarations.java:7:9:7:12 | true | TestDeclarations.java:8:3:19:3 | { ... } |
|
||||
| TestDeclarations.java:8:3:19:3 | { ... } | TestDeclarations.java:9:4:9:10 | <Expr>; |
|
||||
| TestDeclarations.java:9:4:9:4 | b | TestDeclarations.java:9:8:9:9 | 10 |
|
||||
| TestDeclarations.java:9:4:9:9 | ...=... | TestDeclarations.java:10:4:10:15 | if (...) |
|
||||
| TestDeclarations.java:9:4:9:10 | <Expr>; | TestDeclarations.java:9:8:9:9 | 10 |
|
||||
| TestDeclarations.java:9:4:9:10 | <Expr>; | TestDeclarations.java:9:4:9:4 | b |
|
||||
| TestDeclarations.java:9:8:9:9 | 10 | TestDeclarations.java:9:4:9:9 | ...=... |
|
||||
| TestDeclarations.java:10:4:10:15 | if (...) | TestDeclarations.java:10:8:10:8 | a |
|
||||
| TestDeclarations.java:10:8:10:8 | a | TestDeclarations.java:10:12:10:14 | 100 |
|
||||
@@ -26,11 +29,13 @@
|
||||
| TestDeclarations.java:10:8:10:14 | ... > ... | TestDeclarations.java:15:4:15:15 | if (...) |
|
||||
| TestDeclarations.java:10:12:10:14 | 100 | TestDeclarations.java:10:8:10:14 | ... > ... |
|
||||
| TestDeclarations.java:11:4:14:4 | { ... } | TestDeclarations.java:12:5:12:11 | <Expr>; |
|
||||
| TestDeclarations.java:12:5:12:5 | c | TestDeclarations.java:12:9:12:10 | 10 |
|
||||
| TestDeclarations.java:12:5:12:10 | ...=... | TestDeclarations.java:13:5:13:10 | <Expr>; |
|
||||
| TestDeclarations.java:12:5:12:11 | <Expr>; | TestDeclarations.java:12:9:12:10 | 10 |
|
||||
| TestDeclarations.java:12:5:12:11 | <Expr>; | TestDeclarations.java:12:5:12:5 | c |
|
||||
| TestDeclarations.java:12:9:12:10 | 10 | TestDeclarations.java:12:5:12:10 | ...=... |
|
||||
| TestDeclarations.java:13:5:13:5 | b | TestDeclarations.java:13:9:13:9 | c |
|
||||
| TestDeclarations.java:13:5:13:9 | ...=... | TestDeclarations.java:15:4:15:15 | if (...) |
|
||||
| TestDeclarations.java:13:5:13:10 | <Expr>; | TestDeclarations.java:13:9:13:9 | c |
|
||||
| TestDeclarations.java:13:5:13:10 | <Expr>; | TestDeclarations.java:13:5:13:5 | b |
|
||||
| TestDeclarations.java:13:9:13:9 | c | TestDeclarations.java:13:5:13:9 | ...=... |
|
||||
| TestDeclarations.java:15:4:15:15 | if (...) | TestDeclarations.java:15:8:15:8 | a |
|
||||
| TestDeclarations.java:15:8:15:8 | a | TestDeclarations.java:15:13:15:14 | 10 |
|
||||
@@ -48,11 +53,13 @@
|
||||
| TestDeclarations.java:20:3:20:10 | var ...; | TestDeclarations.java:20:7:20:7 | x |
|
||||
| TestDeclarations.java:20:7:20:7 | x | TestDeclarations.java:20:9:20:9 | y |
|
||||
| TestDeclarations.java:20:9:20:9 | y | TestDeclarations.java:21:3:21:8 | <Expr>; |
|
||||
| TestDeclarations.java:21:3:21:3 | x | TestDeclarations.java:21:7:21:7 | 3 |
|
||||
| TestDeclarations.java:21:3:21:7 | ...=... | TestDeclarations.java:22:3:22:8 | <Expr>; |
|
||||
| TestDeclarations.java:21:3:21:8 | <Expr>; | TestDeclarations.java:21:7:21:7 | 3 |
|
||||
| TestDeclarations.java:21:3:21:8 | <Expr>; | TestDeclarations.java:21:3:21:3 | x |
|
||||
| TestDeclarations.java:21:7:21:7 | 3 | TestDeclarations.java:21:3:21:7 | ...=... |
|
||||
| TestDeclarations.java:22:3:22:3 | y | TestDeclarations.java:22:7:22:7 | 4 |
|
||||
| TestDeclarations.java:22:3:22:7 | ...=... | TestDeclarations.java:23:10:23:10 | b |
|
||||
| TestDeclarations.java:22:3:22:8 | <Expr>; | TestDeclarations.java:22:7:22:7 | 4 |
|
||||
| TestDeclarations.java:22:3:22:8 | <Expr>; | TestDeclarations.java:22:3:22:3 | y |
|
||||
| TestDeclarations.java:22:7:22:7 | 4 | TestDeclarations.java:22:3:22:7 | ...=... |
|
||||
| TestDeclarations.java:23:3:23:11 | return ... | TestDeclarations.java:2:6:2:21 | Normal Exit |
|
||||
| TestDeclarations.java:23:10:23:10 | b | TestDeclarations.java:23:3:23:11 | return ... |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
| TestFinally.java:3:14:3:24 | Exceptional Exit | TestFinally.java:3:14:3:24 | Exit |
|
||||
| TestFinally.java:3:14:3:24 | Entry | TestFinally.java:3:14:3:24 | { ... } |
|
||||
| TestFinally.java:3:14:3:24 | Normal Exit | TestFinally.java:3:14:3:24 | Exit |
|
||||
| TestFinally.java:3:14:3:24 | super(...) | TestFinally.java:3:14:3:24 | Normal Exit |
|
||||
| TestFinally.java:3:14:3:24 | { ... } | TestFinally.java:3:14:3:24 | super(...) |
|
||||
| TestFinally.java:4:14:4:14 | Exceptional Exit | TestFinally.java:4:14:4:14 | Exit |
|
||||
| TestFinally.java:4:14:4:14 | Entry | TestFinally.java:5:2:149:2 | { ... } |
|
||||
| TestFinally.java:4:14:4:14 | Normal Exit | TestFinally.java:4:14:4:14 | Exit |
|
||||
| TestFinally.java:5:2:149:2 | { ... } | TestFinally.java:6:3:6:13 | var ...; |
|
||||
| TestFinally.java:6:3:6:13 | var ...; | TestFinally.java:6:11:6:12 | 12 |
|
||||
@@ -15,7 +15,6 @@
|
||||
| TestFinally.java:11:5:11:14 | System.out | TestFinally.java:11:24:11:29 | "Try1" |
|
||||
| TestFinally.java:11:5:11:30 | println(...) | TestFinally.java:12:5:12:15 | if (...) |
|
||||
| TestFinally.java:11:5:11:30 | println(...) | TestFinally.java:41:6:41:25 | catch (...) |
|
||||
| TestFinally.java:11:5:11:30 | println(...) | TestFinally.java:73:4:80:4 | { ... } |
|
||||
| TestFinally.java:11:5:11:31 | <Expr>; | TestFinally.java:11:5:11:14 | System.out |
|
||||
| TestFinally.java:11:24:11:29 | "Try1" | TestFinally.java:11:5:11:30 | println(...) |
|
||||
| TestFinally.java:12:5:12:15 | if (...) | TestFinally.java:12:9:12:9 | z |
|
||||
@@ -30,7 +29,6 @@
|
||||
| TestFinally.java:18:6:18:15 | System.out | TestFinally.java:18:25:18:30 | "Try1" |
|
||||
| TestFinally.java:18:6:18:31 | println(...) | TestFinally.java:19:6:19:16 | if (...) |
|
||||
| TestFinally.java:18:6:18:31 | println(...) | TestFinally.java:24:7:24:26 | catch (...) |
|
||||
| TestFinally.java:18:6:18:31 | println(...) | TestFinally.java:32:5:39:5 | { ... } |
|
||||
| TestFinally.java:18:6:18:32 | <Expr>; | TestFinally.java:18:6:18:15 | System.out |
|
||||
| TestFinally.java:18:25:18:30 | "Try1" | TestFinally.java:18:6:18:31 | println(...) |
|
||||
| TestFinally.java:19:6:19:16 | if (...) | TestFinally.java:19:10:19:10 | z |
|
||||
@@ -64,7 +62,6 @@
|
||||
| TestFinally.java:33:6:33:15 | System.out | TestFinally.java:33:25:33:33 | "Finally" |
|
||||
| TestFinally.java:33:6:33:34 | println(...) | TestFinally.java:34:6:34:16 | if (...) |
|
||||
| TestFinally.java:33:6:33:34 | println(...) | TestFinally.java:41:6:41:25 | catch (...) |
|
||||
| TestFinally.java:33:6:33:34 | println(...) | TestFinally.java:73:4:80:4 | { ... } |
|
||||
| TestFinally.java:33:6:33:35 | <Expr>; | TestFinally.java:33:6:33:15 | System.out |
|
||||
| TestFinally.java:33:25:33:33 | "Finally" | TestFinally.java:33:6:33:34 | println(...) |
|
||||
| TestFinally.java:34:6:34:16 | if (...) | TestFinally.java:34:10:34:10 | z |
|
||||
@@ -98,7 +95,6 @@
|
||||
| TestFinally.java:46:6:46:15 | System.out | TestFinally.java:46:25:46:30 | "Try1" |
|
||||
| TestFinally.java:46:6:46:31 | println(...) | TestFinally.java:47:6:47:16 | if (...) |
|
||||
| TestFinally.java:46:6:46:31 | println(...) | TestFinally.java:52:7:52:27 | catch (...) |
|
||||
| TestFinally.java:46:6:46:31 | println(...) | TestFinally.java:60:5:67:5 | { ... } |
|
||||
| TestFinally.java:46:6:46:32 | <Expr>; | TestFinally.java:46:6:46:15 | System.out |
|
||||
| TestFinally.java:46:25:46:30 | "Try1" | TestFinally.java:46:6:46:31 | println(...) |
|
||||
| TestFinally.java:47:6:47:16 | if (...) | TestFinally.java:47:10:47:10 | z |
|
||||
@@ -157,7 +153,6 @@
|
||||
| TestFinally.java:74:5:74:14 | System.out | TestFinally.java:74:24:74:32 | "Finally" |
|
||||
| TestFinally.java:74:5:74:33 | println(...) | TestFinally.java:75:5:75:15 | if (...) |
|
||||
| TestFinally.java:74:5:74:33 | println(...) | TestFinally.java:86:5:86:23 | catch (...) |
|
||||
| TestFinally.java:74:5:74:33 | println(...) | TestFinally.java:116:3:120:3 | { ... } |
|
||||
| TestFinally.java:74:5:74:34 | <Expr>; | TestFinally.java:74:5:74:14 | System.out |
|
||||
| TestFinally.java:74:24:74:32 | "Finally" | TestFinally.java:74:5:74:33 | println(...) |
|
||||
| TestFinally.java:75:5:75:15 | if (...) | TestFinally.java:75:9:75:9 | z |
|
||||
@@ -176,7 +171,6 @@
|
||||
| TestFinally.java:81:4:81:13 | System.out | TestFinally.java:81:23:81:27 | "Foo" |
|
||||
| TestFinally.java:81:4:81:28 | println(...) | TestFinally.java:82:4:82:18 | var ...; |
|
||||
| TestFinally.java:81:4:81:28 | println(...) | TestFinally.java:86:5:86:23 | catch (...) |
|
||||
| TestFinally.java:81:4:81:28 | println(...) | TestFinally.java:116:3:120:3 | { ... } |
|
||||
| TestFinally.java:81:4:81:29 | <Expr>; | TestFinally.java:81:4:81:13 | System.out |
|
||||
| TestFinally.java:81:23:81:27 | "Foo" | TestFinally.java:81:4:81:28 | println(...) |
|
||||
| TestFinally.java:82:4:82:18 | var ...; | TestFinally.java:82:12:82:13 | 12 |
|
||||
@@ -187,11 +181,11 @@
|
||||
| TestFinally.java:83:4:83:13 | System.out | TestFinally.java:83:23:83:27 | "Bar" |
|
||||
| TestFinally.java:83:4:83:28 | println(...) | TestFinally.java:84:4:84:13 | <Expr>; |
|
||||
| TestFinally.java:83:4:83:28 | println(...) | TestFinally.java:86:5:86:23 | catch (...) |
|
||||
| TestFinally.java:83:4:83:28 | println(...) | TestFinally.java:116:3:120:3 | { ... } |
|
||||
| TestFinally.java:83:4:83:29 | <Expr>; | TestFinally.java:83:4:83:13 | System.out |
|
||||
| TestFinally.java:83:23:83:27 | "Bar" | TestFinally.java:83:4:83:28 | println(...) |
|
||||
| TestFinally.java:84:4:84:4 | y | TestFinally.java:84:8:84:8 | y |
|
||||
| TestFinally.java:84:4:84:12 | ...=... | TestFinally.java:85:4:85:10 | return ... |
|
||||
| TestFinally.java:84:4:84:13 | <Expr>; | TestFinally.java:84:8:84:8 | y |
|
||||
| TestFinally.java:84:4:84:13 | <Expr>; | TestFinally.java:84:4:84:4 | y |
|
||||
| TestFinally.java:84:8:84:8 | y | TestFinally.java:84:12:84:12 | 1 |
|
||||
| TestFinally.java:84:8:84:12 | ... + ... | TestFinally.java:84:4:84:12 | ...=... |
|
||||
| TestFinally.java:84:12:84:12 | 1 | TestFinally.java:84:8:84:12 | ... + ... |
|
||||
@@ -204,7 +198,6 @@
|
||||
| TestFinally.java:90:5:90:14 | System.out | TestFinally.java:90:24:90:29 | "Try1" |
|
||||
| TestFinally.java:90:5:90:30 | println(...) | TestFinally.java:91:5:91:15 | if (...) |
|
||||
| TestFinally.java:90:5:90:30 | println(...) | TestFinally.java:96:6:96:25 | catch (...) |
|
||||
| TestFinally.java:90:5:90:30 | println(...) | TestFinally.java:104:4:111:4 | { ... } |
|
||||
| TestFinally.java:90:5:90:31 | <Expr>; | TestFinally.java:90:5:90:14 | System.out |
|
||||
| TestFinally.java:90:24:90:29 | "Try1" | TestFinally.java:90:5:90:30 | println(...) |
|
||||
| TestFinally.java:91:5:91:15 | if (...) | TestFinally.java:91:9:91:9 | z |
|
||||
@@ -259,8 +252,9 @@
|
||||
| TestFinally.java:113:23:113:31 | "Error: " | TestFinally.java:113:35:113:35 | e |
|
||||
| TestFinally.java:113:23:113:35 | ... + ... | TestFinally.java:113:4:113:36 | println(...) |
|
||||
| TestFinally.java:113:35:113:35 | e | TestFinally.java:113:23:113:35 | ... + ... |
|
||||
| TestFinally.java:114:4:114:4 | x | TestFinally.java:114:8:114:8 | x |
|
||||
| TestFinally.java:114:4:114:12 | ...=... | TestFinally.java:116:3:120:3 | { ... } |
|
||||
| TestFinally.java:114:4:114:13 | <Expr>; | TestFinally.java:114:8:114:8 | x |
|
||||
| TestFinally.java:114:4:114:13 | <Expr>; | TestFinally.java:114:4:114:4 | x |
|
||||
| TestFinally.java:114:8:114:8 | x | TestFinally.java:114:12:114:12 | 1 |
|
||||
| TestFinally.java:114:8:114:12 | ... + ... | TestFinally.java:114:4:114:12 | ...=... |
|
||||
| TestFinally.java:114:12:114:12 | 1 | TestFinally.java:114:8:114:12 | ... + ... |
|
||||
@@ -272,15 +266,16 @@
|
||||
| TestFinally.java:118:4:118:32 | println(...) | TestFinally.java:119:4:119:13 | <Expr>; |
|
||||
| TestFinally.java:118:4:118:33 | <Expr>; | TestFinally.java:118:4:118:13 | System.out |
|
||||
| TestFinally.java:118:23:118:31 | "Finally" | TestFinally.java:118:4:118:32 | println(...) |
|
||||
| TestFinally.java:119:4:119:12 | ...=... | TestFinally.java:4:14:4:14 | Exceptional Exit |
|
||||
| TestFinally.java:119:4:119:4 | y | TestFinally.java:119:8:119:8 | y |
|
||||
| TestFinally.java:119:4:119:12 | ...=... | TestFinally.java:4:14:4:14 | Normal Exit |
|
||||
| TestFinally.java:119:4:119:12 | ...=... | TestFinally.java:121:3:121:12 | <Expr>; |
|
||||
| TestFinally.java:119:4:119:13 | <Expr>; | TestFinally.java:119:8:119:8 | y |
|
||||
| TestFinally.java:119:4:119:13 | <Expr>; | TestFinally.java:119:4:119:4 | y |
|
||||
| TestFinally.java:119:8:119:8 | y | TestFinally.java:119:12:119:12 | 1 |
|
||||
| TestFinally.java:119:8:119:12 | ... + ... | TestFinally.java:119:4:119:12 | ...=... |
|
||||
| TestFinally.java:119:12:119:12 | 1 | TestFinally.java:119:8:119:12 | ... + ... |
|
||||
| TestFinally.java:121:3:121:3 | z | TestFinally.java:121:7:121:7 | z |
|
||||
| TestFinally.java:121:3:121:11 | ...=... | TestFinally.java:123:3:146:3 | try ... |
|
||||
| TestFinally.java:121:3:121:12 | <Expr>; | TestFinally.java:121:7:121:7 | z |
|
||||
| TestFinally.java:121:3:121:12 | <Expr>; | TestFinally.java:121:3:121:3 | z |
|
||||
| TestFinally.java:121:7:121:7 | z | TestFinally.java:121:11:121:11 | 1 |
|
||||
| TestFinally.java:121:7:121:11 | ... + ... | TestFinally.java:121:3:121:11 | ...=... |
|
||||
| TestFinally.java:121:11:121:11 | 1 | TestFinally.java:121:7:121:11 | ... + ... |
|
||||
@@ -289,7 +284,6 @@
|
||||
| TestFinally.java:125:4:125:13 | System.out | TestFinally.java:125:23:125:28 | "Try1" |
|
||||
| TestFinally.java:125:4:125:29 | println(...) | TestFinally.java:126:4:126:14 | if (...) |
|
||||
| TestFinally.java:125:4:125:29 | println(...) | TestFinally.java:131:5:131:24 | catch (...) |
|
||||
| TestFinally.java:125:4:125:29 | println(...) | TestFinally.java:139:3:146:3 | { ... } |
|
||||
| TestFinally.java:125:4:125:30 | <Expr>; | TestFinally.java:125:4:125:13 | System.out |
|
||||
| TestFinally.java:125:23:125:28 | "Try1" | TestFinally.java:125:4:125:29 | println(...) |
|
||||
| TestFinally.java:126:4:126:14 | if (...) | TestFinally.java:126:8:126:8 | z |
|
||||
@@ -331,13 +325,13 @@
|
||||
| TestFinally.java:142:4:144:4 | { ... } | TestFinally.java:143:5:143:11 | return ... |
|
||||
| TestFinally.java:143:5:143:11 | return ... | TestFinally.java:4:14:4:14 | Normal Exit |
|
||||
| TestFinally.java:145:4:145:13 | System.out | TestFinally.java:145:23:145:32 | "Finally2" |
|
||||
| TestFinally.java:145:4:145:33 | println(...) | TestFinally.java:4:14:4:14 | Exceptional Exit |
|
||||
| TestFinally.java:145:4:145:33 | println(...) | TestFinally.java:4:14:4:14 | Normal Exit |
|
||||
| TestFinally.java:145:4:145:33 | println(...) | TestFinally.java:148:3:148:12 | <Expr>; |
|
||||
| TestFinally.java:145:4:145:34 | <Expr>; | TestFinally.java:145:4:145:13 | System.out |
|
||||
| TestFinally.java:145:23:145:32 | "Finally2" | TestFinally.java:145:4:145:33 | println(...) |
|
||||
| TestFinally.java:148:3:148:3 | z | TestFinally.java:148:7:148:7 | z |
|
||||
| TestFinally.java:148:3:148:11 | ...=... | TestFinally.java:4:14:4:14 | Normal Exit |
|
||||
| TestFinally.java:148:3:148:12 | <Expr>; | TestFinally.java:148:7:148:7 | z |
|
||||
| TestFinally.java:148:3:148:12 | <Expr>; | TestFinally.java:148:3:148:3 | z |
|
||||
| TestFinally.java:148:7:148:7 | z | TestFinally.java:148:11:148:11 | 2 |
|
||||
| TestFinally.java:148:7:148:11 | ... + ... | TestFinally.java:148:3:148:11 | ...=... |
|
||||
| TestFinally.java:148:11:148:11 | 2 | TestFinally.java:148:7:148:11 | ... + ... |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
| TestFinallyBreakContinue.java:3:14:3:37 | Exceptional Exit | TestFinallyBreakContinue.java:3:14:3:37 | Exit |
|
||||
| TestFinallyBreakContinue.java:3:14:3:37 | Entry | TestFinallyBreakContinue.java:3:14:3:37 | { ... } |
|
||||
| TestFinallyBreakContinue.java:3:14:3:37 | Normal Exit | TestFinallyBreakContinue.java:3:14:3:37 | Exit |
|
||||
| TestFinallyBreakContinue.java:3:14:3:37 | super(...) | TestFinallyBreakContinue.java:3:14:3:37 | Normal Exit |
|
||||
| TestFinallyBreakContinue.java:3:14:3:37 | { ... } | TestFinallyBreakContinue.java:3:14:3:37 | super(...) |
|
||||
| TestFinallyBreakContinue.java:4:14:4:14 | Exceptional Exit | TestFinallyBreakContinue.java:4:14:4:14 | Exit |
|
||||
| TestFinallyBreakContinue.java:4:14:4:14 | Entry | TestFinallyBreakContinue.java:5:2:107:2 | { ... } |
|
||||
| TestFinallyBreakContinue.java:4:14:4:14 | Normal Exit | TestFinallyBreakContinue.java:4:14:4:14 | Exit |
|
||||
| TestFinallyBreakContinue.java:5:2:107:2 | { ... } | TestFinallyBreakContinue.java:6:3:6:12 | var ...; |
|
||||
| TestFinallyBreakContinue.java:6:3:6:12 | var ...; | TestFinallyBreakContinue.java:6:11:6:11 | 1 |
|
||||
@@ -22,18 +22,6 @@
|
||||
| TestFinallyBreakContinue.java:14:6:14:11 | break | TestFinallyBreakContinue.java:29:4:31:4 | { ... } |
|
||||
| TestFinallyBreakContinue.java:16:5:18:5 | { ... } | TestFinallyBreakContinue.java:17:6:17:14 | continue |
|
||||
| TestFinallyBreakContinue.java:17:6:17:14 | continue | TestFinallyBreakContinue.java:29:4:31:4 | { ... } |
|
||||
| TestFinallyBreakContinue.java:19:6:19:24 | catch (...) | TestFinallyBreakContinue.java:19:23:19:23 | e |
|
||||
| TestFinallyBreakContinue.java:19:23:19:23 | e | TestFinallyBreakContinue.java:20:4:28:4 | { ... } |
|
||||
| TestFinallyBreakContinue.java:20:4:28:4 | { ... } | TestFinallyBreakContinue.java:21:5:21:15 | if (...) |
|
||||
| TestFinallyBreakContinue.java:21:5:21:15 | if (...) | TestFinallyBreakContinue.java:21:9:21:9 | x |
|
||||
| TestFinallyBreakContinue.java:21:9:21:9 | x | TestFinallyBreakContinue.java:21:14:21:14 | 1 |
|
||||
| TestFinallyBreakContinue.java:21:9:21:14 | ... == ... | TestFinallyBreakContinue.java:22:5:24:5 | { ... } |
|
||||
| TestFinallyBreakContinue.java:21:9:21:14 | ... == ... | TestFinallyBreakContinue.java:25:5:27:5 | { ... } |
|
||||
| TestFinallyBreakContinue.java:21:14:21:14 | 1 | TestFinallyBreakContinue.java:21:9:21:14 | ... == ... |
|
||||
| TestFinallyBreakContinue.java:22:5:24:5 | { ... } | TestFinallyBreakContinue.java:23:6:23:11 | break |
|
||||
| TestFinallyBreakContinue.java:23:6:23:11 | break | TestFinallyBreakContinue.java:29:4:31:4 | { ... } |
|
||||
| TestFinallyBreakContinue.java:25:5:27:5 | { ... } | TestFinallyBreakContinue.java:26:6:26:14 | continue |
|
||||
| TestFinallyBreakContinue.java:26:6:26:14 | continue | TestFinallyBreakContinue.java:29:4:31:4 | { ... } |
|
||||
| TestFinallyBreakContinue.java:29:4:31:4 | { ... } | TestFinallyBreakContinue.java:30:5:30:34 | <Expr>; |
|
||||
| TestFinallyBreakContinue.java:30:5:30:14 | System.out | TestFinallyBreakContinue.java:30:24:30:32 | "finally" |
|
||||
| TestFinallyBreakContinue.java:30:5:30:33 | println(...) | TestFinallyBreakContinue.java:9:3:32:3 | { ... } |
|
||||
@@ -56,18 +44,6 @@
|
||||
| TestFinallyBreakContinue.java:42:7:42:12 | break | TestFinallyBreakContinue.java:57:5:59:5 | { ... } |
|
||||
| TestFinallyBreakContinue.java:44:6:46:6 | { ... } | TestFinallyBreakContinue.java:45:7:45:15 | continue |
|
||||
| TestFinallyBreakContinue.java:45:7:45:15 | continue | TestFinallyBreakContinue.java:57:5:59:5 | { ... } |
|
||||
| TestFinallyBreakContinue.java:47:7:47:25 | catch (...) | TestFinallyBreakContinue.java:47:24:47:24 | e |
|
||||
| TestFinallyBreakContinue.java:47:24:47:24 | e | TestFinallyBreakContinue.java:48:5:56:5 | { ... } |
|
||||
| TestFinallyBreakContinue.java:48:5:56:5 | { ... } | TestFinallyBreakContinue.java:49:6:49:16 | if (...) |
|
||||
| TestFinallyBreakContinue.java:49:6:49:16 | if (...) | TestFinallyBreakContinue.java:49:10:49:10 | x |
|
||||
| TestFinallyBreakContinue.java:49:10:49:10 | x | TestFinallyBreakContinue.java:49:15:49:15 | 1 |
|
||||
| TestFinallyBreakContinue.java:49:10:49:15 | ... == ... | TestFinallyBreakContinue.java:50:6:52:6 | { ... } |
|
||||
| TestFinallyBreakContinue.java:49:10:49:15 | ... == ... | TestFinallyBreakContinue.java:53:6:55:6 | { ... } |
|
||||
| TestFinallyBreakContinue.java:49:15:49:15 | 1 | TestFinallyBreakContinue.java:49:10:49:15 | ... == ... |
|
||||
| TestFinallyBreakContinue.java:50:6:52:6 | { ... } | TestFinallyBreakContinue.java:51:7:51:12 | break |
|
||||
| TestFinallyBreakContinue.java:51:7:51:12 | break | TestFinallyBreakContinue.java:57:5:59:5 | { ... } |
|
||||
| TestFinallyBreakContinue.java:53:6:55:6 | { ... } | TestFinallyBreakContinue.java:54:7:54:15 | continue |
|
||||
| TestFinallyBreakContinue.java:54:7:54:15 | continue | TestFinallyBreakContinue.java:57:5:59:5 | { ... } |
|
||||
| TestFinallyBreakContinue.java:57:5:59:5 | { ... } | TestFinallyBreakContinue.java:58:6:58:35 | <Expr>; |
|
||||
| TestFinallyBreakContinue.java:58:6:58:15 | System.out | TestFinallyBreakContinue.java:58:25:58:33 | "finally" |
|
||||
| TestFinallyBreakContinue.java:58:6:58:34 | println(...) | TestFinallyBreakContinue.java:60:6:60:24 | catch (...) |
|
||||
@@ -83,7 +59,6 @@
|
||||
| TestFinallyBreakContinue.java:62:24:62:34 | "Exception" | TestFinallyBreakContinue.java:62:5:62:35 | println(...) |
|
||||
| TestFinallyBreakContinue.java:64:4:66:4 | { ... } | TestFinallyBreakContinue.java:65:5:65:34 | <Expr>; |
|
||||
| TestFinallyBreakContinue.java:65:5:65:14 | System.out | TestFinallyBreakContinue.java:65:24:65:32 | "finally" |
|
||||
| TestFinallyBreakContinue.java:65:5:65:33 | println(...) | TestFinallyBreakContinue.java:4:14:4:14 | Exceptional Exit |
|
||||
| TestFinallyBreakContinue.java:65:5:65:33 | println(...) | TestFinallyBreakContinue.java:34:10:34:13 | true |
|
||||
| TestFinallyBreakContinue.java:65:5:65:33 | println(...) | TestFinallyBreakContinue.java:69:3:106:17 | <Label>: ... |
|
||||
| TestFinallyBreakContinue.java:65:5:65:34 | <Expr>; | TestFinallyBreakContinue.java:65:5:65:14 | System.out |
|
||||
@@ -110,18 +85,6 @@
|
||||
| TestFinallyBreakContinue.java:80:8:80:13 | break | TestFinallyBreakContinue.java:95:6:97:6 | { ... } |
|
||||
| TestFinallyBreakContinue.java:82:7:84:7 | { ... } | TestFinallyBreakContinue.java:83:8:83:16 | continue |
|
||||
| TestFinallyBreakContinue.java:83:8:83:16 | continue | TestFinallyBreakContinue.java:95:6:97:6 | { ... } |
|
||||
| TestFinallyBreakContinue.java:85:8:85:26 | catch (...) | TestFinallyBreakContinue.java:85:25:85:25 | e |
|
||||
| TestFinallyBreakContinue.java:85:25:85:25 | e | TestFinallyBreakContinue.java:86:6:94:6 | { ... } |
|
||||
| TestFinallyBreakContinue.java:86:6:94:6 | { ... } | TestFinallyBreakContinue.java:87:7:87:17 | if (...) |
|
||||
| TestFinallyBreakContinue.java:87:7:87:17 | if (...) | TestFinallyBreakContinue.java:87:11:87:11 | x |
|
||||
| TestFinallyBreakContinue.java:87:11:87:11 | x | TestFinallyBreakContinue.java:87:16:87:16 | 1 |
|
||||
| TestFinallyBreakContinue.java:87:11:87:16 | ... == ... | TestFinallyBreakContinue.java:88:7:90:7 | { ... } |
|
||||
| TestFinallyBreakContinue.java:87:11:87:16 | ... == ... | TestFinallyBreakContinue.java:91:7:93:7 | { ... } |
|
||||
| TestFinallyBreakContinue.java:87:16:87:16 | 1 | TestFinallyBreakContinue.java:87:11:87:16 | ... == ... |
|
||||
| TestFinallyBreakContinue.java:88:7:90:7 | { ... } | TestFinallyBreakContinue.java:89:8:89:15 | break |
|
||||
| TestFinallyBreakContinue.java:89:8:89:15 | break | TestFinallyBreakContinue.java:95:6:97:6 | { ... } |
|
||||
| TestFinallyBreakContinue.java:91:7:93:7 | { ... } | TestFinallyBreakContinue.java:92:8:92:18 | continue |
|
||||
| TestFinallyBreakContinue.java:92:8:92:18 | continue | TestFinallyBreakContinue.java:95:6:97:6 | { ... } |
|
||||
| TestFinallyBreakContinue.java:95:6:97:6 | { ... } | TestFinallyBreakContinue.java:96:7:96:36 | <Expr>; |
|
||||
| TestFinallyBreakContinue.java:96:7:96:16 | System.out | TestFinallyBreakContinue.java:96:26:96:34 | "finally" |
|
||||
| TestFinallyBreakContinue.java:96:7:96:35 | println(...) | TestFinallyBreakContinue.java:74:14:74:14 | i |
|
||||
@@ -138,7 +101,6 @@
|
||||
| TestFinallyBreakContinue.java:101:24:101:34 | "Exception" | TestFinallyBreakContinue.java:101:5:101:35 | println(...) |
|
||||
| TestFinallyBreakContinue.java:103:4:105:4 | { ... } | TestFinallyBreakContinue.java:104:5:104:34 | <Expr>; |
|
||||
| TestFinallyBreakContinue.java:104:5:104:14 | System.out | TestFinallyBreakContinue.java:104:24:104:32 | "finally" |
|
||||
| TestFinallyBreakContinue.java:104:5:104:33 | println(...) | TestFinallyBreakContinue.java:4:14:4:14 | Exceptional Exit |
|
||||
| TestFinallyBreakContinue.java:104:5:104:33 | println(...) | TestFinallyBreakContinue.java:4:14:4:14 | Normal Exit |
|
||||
| TestFinallyBreakContinue.java:104:5:104:33 | println(...) | TestFinallyBreakContinue.java:106:12:106:15 | true |
|
||||
| TestFinallyBreakContinue.java:104:5:104:34 | <Expr>; | TestFinallyBreakContinue.java:104:5:104:14 | System.out |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,13 +1,15 @@
|
||||
| TestLoopBranch.java:3:14:3:27 | Exceptional Exit | TestLoopBranch.java:3:14:3:27 | Exit |
|
||||
| TestLoopBranch.java:3:14:3:27 | Entry | TestLoopBranch.java:3:14:3:27 | { ... } |
|
||||
| TestLoopBranch.java:3:14:3:27 | Normal Exit | TestLoopBranch.java:3:14:3:27 | Exit |
|
||||
| TestLoopBranch.java:3:14:3:27 | { ... } | TestLoopBranch.java:4:2:4:13 | <Expr>; |
|
||||
| TestLoopBranch.java:4:2:4:13 | ...=... | TestLoopBranch.java:5:2:5:13 | <Expr>; |
|
||||
| TestLoopBranch.java:4:2:4:13 | <Expr>; | TestLoopBranch.java:4:11:4:12 | 12 |
|
||||
| TestLoopBranch.java:4:2:4:13 | <Expr>; | TestLoopBranch.java:4:2:4:13 | xx |
|
||||
| TestLoopBranch.java:4:2:4:13 | xx | TestLoopBranch.java:4:11:4:12 | 12 |
|
||||
| TestLoopBranch.java:4:11:4:12 | 12 | TestLoopBranch.java:4:2:4:13 | ...=... |
|
||||
| TestLoopBranch.java:5:2:5:13 | ...=... | TestLoopBranch.java:3:14:3:27 | Normal Exit |
|
||||
| TestLoopBranch.java:5:2:5:13 | <Expr>; | TestLoopBranch.java:5:11:5:12 | 13 |
|
||||
| TestLoopBranch.java:5:2:5:13 | <Expr>; | TestLoopBranch.java:5:2:5:13 | yy |
|
||||
| TestLoopBranch.java:5:2:5:13 | yy | TestLoopBranch.java:5:11:5:12 | 13 |
|
||||
| TestLoopBranch.java:5:11:5:12 | 13 | TestLoopBranch.java:5:2:5:13 | ...=... |
|
||||
| TestLoopBranch.java:7:14:7:14 | Exceptional Exit | TestLoopBranch.java:7:14:7:14 | Exit |
|
||||
| TestLoopBranch.java:7:14:7:14 | Entry | TestLoopBranch.java:8:2:107:2 | { ... } |
|
||||
| TestLoopBranch.java:7:14:7:14 | Normal Exit | TestLoopBranch.java:7:14:7:14 | Exit |
|
||||
| TestLoopBranch.java:8:2:107:2 | { ... } | TestLoopBranch.java:9:3:9:12 | var ...; |
|
||||
| TestLoopBranch.java:9:3:9:12 | var ...; | TestLoopBranch.java:9:11:9:11 | 1 |
|
||||
@@ -57,8 +59,9 @@
|
||||
| TestLoopBranch.java:27:4:27:31 | println(...) | TestLoopBranch.java:28:4:28:13 | <Expr>; |
|
||||
| TestLoopBranch.java:27:4:27:32 | <Expr>; | TestLoopBranch.java:27:4:27:13 | System.out |
|
||||
| TestLoopBranch.java:27:23:27:30 | "shodan" | TestLoopBranch.java:27:4:27:31 | println(...) |
|
||||
| TestLoopBranch.java:28:4:28:4 | x | TestLoopBranch.java:28:8:28:8 | x |
|
||||
| TestLoopBranch.java:28:4:28:12 | ...=... | TestLoopBranch.java:24:10:24:10 | x |
|
||||
| TestLoopBranch.java:28:4:28:13 | <Expr>; | TestLoopBranch.java:28:8:28:8 | x |
|
||||
| TestLoopBranch.java:28:4:28:13 | <Expr>; | TestLoopBranch.java:28:4:28:4 | x |
|
||||
| TestLoopBranch.java:28:8:28:8 | x | TestLoopBranch.java:28:12:28:12 | 1 |
|
||||
| TestLoopBranch.java:28:8:28:12 | ... + ... | TestLoopBranch.java:28:4:28:12 | ...=... |
|
||||
| TestLoopBranch.java:28:12:28:12 | 1 | TestLoopBranch.java:28:8:28:12 | ... + ... |
|
||||
@@ -76,8 +79,9 @@
|
||||
| TestLoopBranch.java:33:4:33:32 | println(...) | TestLoopBranch.java:34:4:34:13 | <Expr>; |
|
||||
| TestLoopBranch.java:33:4:33:33 | <Expr>; | TestLoopBranch.java:33:4:33:13 | System.out |
|
||||
| TestLoopBranch.java:33:23:33:31 | "rapture" | TestLoopBranch.java:33:4:33:32 | println(...) |
|
||||
| TestLoopBranch.java:34:4:34:4 | y | TestLoopBranch.java:34:8:34:8 | x |
|
||||
| TestLoopBranch.java:34:4:34:12 | ...=... | TestLoopBranch.java:31:27:31:27 | i |
|
||||
| TestLoopBranch.java:34:4:34:13 | <Expr>; | TestLoopBranch.java:34:8:34:8 | x |
|
||||
| TestLoopBranch.java:34:4:34:13 | <Expr>; | TestLoopBranch.java:34:4:34:4 | y |
|
||||
| TestLoopBranch.java:34:8:34:8 | x | TestLoopBranch.java:34:12:34:12 | 2 |
|
||||
| TestLoopBranch.java:34:8:34:12 | ... - ... | TestLoopBranch.java:34:4:34:12 | ...=... |
|
||||
| TestLoopBranch.java:34:12:34:12 | 2 | TestLoopBranch.java:34:8:34:12 | ... - ... |
|
||||
@@ -95,9 +99,10 @@
|
||||
| TestLoopBranch.java:42:23:42:31 | "Zero : " | TestLoopBranch.java:42:35:42:35 | j |
|
||||
| TestLoopBranch.java:42:23:42:35 | ... + ... | TestLoopBranch.java:42:4:42:36 | println(...) |
|
||||
| TestLoopBranch.java:42:35:42:35 | j | TestLoopBranch.java:42:23:42:35 | ... + ... |
|
||||
| TestLoopBranch.java:43:4:43:4 | j | TestLoopBranch.java:43:8:43:8 | j |
|
||||
| TestLoopBranch.java:43:4:43:12 | ...=... | TestLoopBranch.java:40:12:40:12 | j |
|
||||
| TestLoopBranch.java:43:4:43:12 | ...=... | TestLoopBranch.java:46:3:46:14 | if (...) |
|
||||
| TestLoopBranch.java:43:4:43:13 | <Expr>; | TestLoopBranch.java:43:8:43:8 | j |
|
||||
| TestLoopBranch.java:43:4:43:13 | <Expr>; | TestLoopBranch.java:43:4:43:4 | j |
|
||||
| TestLoopBranch.java:43:8:43:8 | j | TestLoopBranch.java:43:12:43:12 | x |
|
||||
| TestLoopBranch.java:43:8:43:12 | ... + ... | TestLoopBranch.java:43:4:43:12 | ...=... |
|
||||
| TestLoopBranch.java:43:12:43:12 | x | TestLoopBranch.java:43:8:43:12 | ... + ... |
|
||||
@@ -122,8 +127,9 @@
|
||||
| TestLoopBranch.java:53:4:53:28 | println(...) | TestLoopBranch.java:54:4:54:13 | <Expr>; |
|
||||
| TestLoopBranch.java:53:4:53:29 | <Expr>; | TestLoopBranch.java:53:4:53:13 | System.out |
|
||||
| TestLoopBranch.java:53:23:53:27 | "rat" | TestLoopBranch.java:53:4:53:28 | println(...) |
|
||||
| TestLoopBranch.java:54:4:54:4 | x | TestLoopBranch.java:54:8:54:8 | 6 |
|
||||
| TestLoopBranch.java:54:4:54:12 | ...=... | TestLoopBranch.java:62:3:62:12 | switch (...) |
|
||||
| TestLoopBranch.java:54:4:54:13 | <Expr>; | TestLoopBranch.java:54:8:54:8 | 6 |
|
||||
| TestLoopBranch.java:54:4:54:13 | <Expr>; | TestLoopBranch.java:54:4:54:4 | x |
|
||||
| TestLoopBranch.java:54:8:54:8 | 6 | TestLoopBranch.java:54:12:54:12 | 9 |
|
||||
| TestLoopBranch.java:54:8:54:12 | ... * ... | TestLoopBranch.java:54:4:54:12 | ...=... |
|
||||
| TestLoopBranch.java:54:12:54:12 | 9 | TestLoopBranch.java:54:8:54:12 | ... * ... |
|
||||
@@ -132,97 +138,118 @@
|
||||
| TestLoopBranch.java:57:4:57:28 | println(...) | TestLoopBranch.java:58:4:58:13 | <Expr>; |
|
||||
| TestLoopBranch.java:57:4:57:29 | <Expr>; | TestLoopBranch.java:57:4:57:13 | System.out |
|
||||
| TestLoopBranch.java:57:23:57:27 | "arr" | TestLoopBranch.java:57:4:57:28 | println(...) |
|
||||
| TestLoopBranch.java:58:4:58:4 | x | TestLoopBranch.java:58:8:58:8 | y |
|
||||
| TestLoopBranch.java:58:4:58:12 | ...=... | TestLoopBranch.java:59:4:59:10 | return ... |
|
||||
| TestLoopBranch.java:58:4:58:13 | <Expr>; | TestLoopBranch.java:58:8:58:8 | y |
|
||||
| TestLoopBranch.java:58:4:58:13 | <Expr>; | TestLoopBranch.java:58:4:58:4 | x |
|
||||
| TestLoopBranch.java:58:8:58:8 | y | TestLoopBranch.java:58:12:58:12 | x |
|
||||
| TestLoopBranch.java:58:8:58:12 | ... * ... | TestLoopBranch.java:58:4:58:12 | ...=... |
|
||||
| TestLoopBranch.java:58:12:58:12 | x | TestLoopBranch.java:58:8:58:12 | ... * ... |
|
||||
| TestLoopBranch.java:59:4:59:10 | return ... | TestLoopBranch.java:7:14:7:14 | Normal Exit |
|
||||
| TestLoopBranch.java:62:3:62:12 | switch (...) | TestLoopBranch.java:62:11:62:11 | x |
|
||||
| TestLoopBranch.java:62:11:62:11 | x | TestLoopBranch.java:64:3:64:9 | case ... |
|
||||
| TestLoopBranch.java:62:11:62:11 | x | TestLoopBranch.java:67:3:67:9 | case ... |
|
||||
| TestLoopBranch.java:62:11:62:11 | x | TestLoopBranch.java:71:3:71:9 | case ... |
|
||||
| TestLoopBranch.java:62:11:62:11 | x | TestLoopBranch.java:72:3:72:9 | case ... |
|
||||
| TestLoopBranch.java:62:11:62:11 | x | TestLoopBranch.java:76:3:76:9 | case ... |
|
||||
| TestLoopBranch.java:62:11:62:11 | x | TestLoopBranch.java:77:3:77:9 | case ... |
|
||||
| TestLoopBranch.java:62:11:62:11 | x | TestLoopBranch.java:80:3:80:10 | default |
|
||||
| TestLoopBranch.java:64:3:64:9 | case ... | TestLoopBranch.java:65:4:65:13 | <Expr>; |
|
||||
| TestLoopBranch.java:64:3:64:9 | case ... | TestLoopBranch.java:64:8:64:8 | 1 |
|
||||
| TestLoopBranch.java:64:3:64:9 | case ... | TestLoopBranch.java:67:3:67:9 | case ... |
|
||||
| TestLoopBranch.java:64:8:64:8 | 1 | TestLoopBranch.java:65:4:65:13 | <Expr>; |
|
||||
| TestLoopBranch.java:65:4:65:4 | x | TestLoopBranch.java:65:8:65:8 | x |
|
||||
| TestLoopBranch.java:65:4:65:12 | ...=... | TestLoopBranch.java:66:4:66:13 | <Expr>; |
|
||||
| TestLoopBranch.java:65:4:65:13 | <Expr>; | TestLoopBranch.java:65:8:65:8 | x |
|
||||
| TestLoopBranch.java:65:4:65:13 | <Expr>; | TestLoopBranch.java:65:4:65:4 | x |
|
||||
| TestLoopBranch.java:65:8:65:8 | x | TestLoopBranch.java:65:12:65:12 | 1 |
|
||||
| TestLoopBranch.java:65:8:65:12 | ... + ... | TestLoopBranch.java:65:4:65:12 | ...=... |
|
||||
| TestLoopBranch.java:65:12:65:12 | 1 | TestLoopBranch.java:65:8:65:12 | ... + ... |
|
||||
| TestLoopBranch.java:66:4:66:12 | ...=... | TestLoopBranch.java:67:3:67:9 | case ... |
|
||||
| TestLoopBranch.java:66:4:66:13 | <Expr>; | TestLoopBranch.java:66:8:66:8 | y |
|
||||
| TestLoopBranch.java:66:4:66:4 | y | TestLoopBranch.java:66:8:66:8 | y |
|
||||
| TestLoopBranch.java:66:4:66:12 | ...=... | TestLoopBranch.java:68:4:68:13 | <Expr>; |
|
||||
| TestLoopBranch.java:66:4:66:13 | <Expr>; | TestLoopBranch.java:66:4:66:4 | y |
|
||||
| TestLoopBranch.java:66:8:66:8 | y | TestLoopBranch.java:66:12:66:12 | 1 |
|
||||
| TestLoopBranch.java:66:8:66:12 | ... + ... | TestLoopBranch.java:66:4:66:12 | ...=... |
|
||||
| TestLoopBranch.java:66:12:66:12 | 1 | TestLoopBranch.java:66:8:66:12 | ... + ... |
|
||||
| TestLoopBranch.java:67:3:67:9 | case ... | TestLoopBranch.java:68:4:68:13 | <Expr>; |
|
||||
| TestLoopBranch.java:67:3:67:9 | case ... | TestLoopBranch.java:67:8:67:8 | 2 |
|
||||
| TestLoopBranch.java:67:3:67:9 | case ... | TestLoopBranch.java:71:3:71:9 | case ... |
|
||||
| TestLoopBranch.java:67:8:67:8 | 2 | TestLoopBranch.java:68:4:68:13 | <Expr>; |
|
||||
| TestLoopBranch.java:68:4:68:4 | x | TestLoopBranch.java:68:8:68:8 | x |
|
||||
| TestLoopBranch.java:68:4:68:12 | ...=... | TestLoopBranch.java:69:4:69:13 | <Expr>; |
|
||||
| TestLoopBranch.java:68:4:68:13 | <Expr>; | TestLoopBranch.java:68:8:68:8 | x |
|
||||
| TestLoopBranch.java:68:4:68:13 | <Expr>; | TestLoopBranch.java:68:4:68:4 | x |
|
||||
| TestLoopBranch.java:68:8:68:8 | x | TestLoopBranch.java:68:12:68:12 | 2 |
|
||||
| TestLoopBranch.java:68:8:68:12 | ... + ... | TestLoopBranch.java:68:4:68:12 | ...=... |
|
||||
| TestLoopBranch.java:68:12:68:12 | 2 | TestLoopBranch.java:68:8:68:12 | ... + ... |
|
||||
| TestLoopBranch.java:69:4:69:4 | y | TestLoopBranch.java:69:8:69:8 | y |
|
||||
| TestLoopBranch.java:69:4:69:12 | ...=... | TestLoopBranch.java:70:4:70:9 | break |
|
||||
| TestLoopBranch.java:69:4:69:13 | <Expr>; | TestLoopBranch.java:69:8:69:8 | y |
|
||||
| TestLoopBranch.java:69:4:69:13 | <Expr>; | TestLoopBranch.java:69:4:69:4 | y |
|
||||
| TestLoopBranch.java:69:8:69:8 | y | TestLoopBranch.java:69:12:69:12 | 2 |
|
||||
| TestLoopBranch.java:69:8:69:12 | ... + ... | TestLoopBranch.java:69:4:69:12 | ...=... |
|
||||
| TestLoopBranch.java:69:12:69:12 | 2 | TestLoopBranch.java:69:8:69:12 | ... + ... |
|
||||
| TestLoopBranch.java:70:4:70:9 | break | TestLoopBranch.java:86:3:86:11 | switch (...) |
|
||||
| TestLoopBranch.java:71:3:71:9 | case ... | TestLoopBranch.java:71:8:71:8 | 3 |
|
||||
| TestLoopBranch.java:71:3:71:9 | case ... | TestLoopBranch.java:72:3:72:9 | case ... |
|
||||
| TestLoopBranch.java:72:3:72:9 | case ... | TestLoopBranch.java:73:4:73:13 | <Expr>; |
|
||||
| TestLoopBranch.java:71:8:71:8 | 3 | TestLoopBranch.java:73:4:73:13 | <Expr>; |
|
||||
| TestLoopBranch.java:72:3:72:9 | case ... | TestLoopBranch.java:72:8:72:8 | 4 |
|
||||
| TestLoopBranch.java:72:3:72:9 | case ... | TestLoopBranch.java:76:3:76:9 | case ... |
|
||||
| TestLoopBranch.java:72:8:72:8 | 4 | TestLoopBranch.java:73:4:73:13 | <Expr>; |
|
||||
| TestLoopBranch.java:73:4:73:4 | x | TestLoopBranch.java:73:8:73:8 | x |
|
||||
| TestLoopBranch.java:73:4:73:12 | ...=... | TestLoopBranch.java:74:4:74:13 | <Expr>; |
|
||||
| TestLoopBranch.java:73:4:73:13 | <Expr>; | TestLoopBranch.java:73:8:73:8 | x |
|
||||
| TestLoopBranch.java:73:4:73:13 | <Expr>; | TestLoopBranch.java:73:4:73:4 | x |
|
||||
| TestLoopBranch.java:73:8:73:8 | x | TestLoopBranch.java:73:12:73:12 | 3 |
|
||||
| TestLoopBranch.java:73:8:73:12 | ... + ... | TestLoopBranch.java:73:4:73:12 | ...=... |
|
||||
| TestLoopBranch.java:73:12:73:12 | 3 | TestLoopBranch.java:73:8:73:12 | ... + ... |
|
||||
| TestLoopBranch.java:74:4:74:4 | y | TestLoopBranch.java:74:8:74:8 | y |
|
||||
| TestLoopBranch.java:74:4:74:12 | ...=... | TestLoopBranch.java:75:4:75:9 | break |
|
||||
| TestLoopBranch.java:74:4:74:13 | <Expr>; | TestLoopBranch.java:74:8:74:8 | y |
|
||||
| TestLoopBranch.java:74:4:74:13 | <Expr>; | TestLoopBranch.java:74:4:74:4 | y |
|
||||
| TestLoopBranch.java:74:8:74:8 | y | TestLoopBranch.java:74:12:74:12 | 4 |
|
||||
| TestLoopBranch.java:74:8:74:12 | ... + ... | TestLoopBranch.java:74:4:74:12 | ...=... |
|
||||
| TestLoopBranch.java:74:12:74:12 | 4 | TestLoopBranch.java:74:8:74:12 | ... + ... |
|
||||
| TestLoopBranch.java:75:4:75:9 | break | TestLoopBranch.java:86:3:86:11 | switch (...) |
|
||||
| TestLoopBranch.java:76:3:76:9 | case ... | TestLoopBranch.java:76:8:76:8 | 5 |
|
||||
| TestLoopBranch.java:76:3:76:9 | case ... | TestLoopBranch.java:77:3:77:9 | case ... |
|
||||
| TestLoopBranch.java:77:3:77:9 | case ... | TestLoopBranch.java:78:4:78:13 | <Expr>; |
|
||||
| TestLoopBranch.java:76:8:76:8 | 5 | TestLoopBranch.java:78:4:78:13 | <Expr>; |
|
||||
| TestLoopBranch.java:77:3:77:9 | case ... | TestLoopBranch.java:77:8:77:8 | 6 |
|
||||
| TestLoopBranch.java:77:3:77:9 | case ... | TestLoopBranch.java:80:3:80:10 | default |
|
||||
| TestLoopBranch.java:77:8:77:8 | 6 | TestLoopBranch.java:78:4:78:13 | <Expr>; |
|
||||
| TestLoopBranch.java:78:4:78:4 | x | TestLoopBranch.java:78:8:78:8 | x |
|
||||
| TestLoopBranch.java:78:4:78:12 | ...=... | TestLoopBranch.java:79:4:79:13 | <Expr>; |
|
||||
| TestLoopBranch.java:78:4:78:13 | <Expr>; | TestLoopBranch.java:78:8:78:8 | x |
|
||||
| TestLoopBranch.java:78:4:78:13 | <Expr>; | TestLoopBranch.java:78:4:78:4 | x |
|
||||
| TestLoopBranch.java:78:8:78:8 | x | TestLoopBranch.java:78:12:78:12 | 5 |
|
||||
| TestLoopBranch.java:78:8:78:12 | ... + ... | TestLoopBranch.java:78:4:78:12 | ...=... |
|
||||
| TestLoopBranch.java:78:12:78:12 | 5 | TestLoopBranch.java:78:8:78:12 | ... + ... |
|
||||
| TestLoopBranch.java:79:4:79:12 | ...=... | TestLoopBranch.java:80:3:80:10 | default |
|
||||
| TestLoopBranch.java:79:4:79:13 | <Expr>; | TestLoopBranch.java:79:8:79:8 | y |
|
||||
| TestLoopBranch.java:79:4:79:4 | y | TestLoopBranch.java:79:8:79:8 | y |
|
||||
| TestLoopBranch.java:79:4:79:12 | ...=... | TestLoopBranch.java:81:4:81:9 | <Expr>; |
|
||||
| TestLoopBranch.java:79:4:79:13 | <Expr>; | TestLoopBranch.java:79:4:79:4 | y |
|
||||
| TestLoopBranch.java:79:8:79:8 | y | TestLoopBranch.java:79:12:79:12 | 6 |
|
||||
| TestLoopBranch.java:79:8:79:12 | ... + ... | TestLoopBranch.java:79:4:79:12 | ...=... |
|
||||
| TestLoopBranch.java:79:12:79:12 | 6 | TestLoopBranch.java:79:8:79:12 | ... + ... |
|
||||
| TestLoopBranch.java:80:3:80:10 | default | TestLoopBranch.java:81:4:81:9 | <Expr>; |
|
||||
| TestLoopBranch.java:81:4:81:4 | x | TestLoopBranch.java:81:8:81:8 | y |
|
||||
| TestLoopBranch.java:81:4:81:8 | ...=... | TestLoopBranch.java:82:4:82:9 | <Expr>; |
|
||||
| TestLoopBranch.java:81:4:81:9 | <Expr>; | TestLoopBranch.java:81:8:81:8 | y |
|
||||
| TestLoopBranch.java:81:4:81:9 | <Expr>; | TestLoopBranch.java:81:4:81:4 | x |
|
||||
| TestLoopBranch.java:81:8:81:8 | y | TestLoopBranch.java:81:4:81:8 | ...=... |
|
||||
| TestLoopBranch.java:82:4:82:4 | y | TestLoopBranch.java:82:8:82:8 | x |
|
||||
| TestLoopBranch.java:82:4:82:8 | ...=... | TestLoopBranch.java:86:3:86:11 | switch (...) |
|
||||
| TestLoopBranch.java:82:4:82:9 | <Expr>; | TestLoopBranch.java:82:8:82:8 | x |
|
||||
| TestLoopBranch.java:82:4:82:9 | <Expr>; | TestLoopBranch.java:82:4:82:4 | y |
|
||||
| TestLoopBranch.java:82:8:82:8 | x | TestLoopBranch.java:82:4:82:8 | ...=... |
|
||||
| TestLoopBranch.java:86:3:86:11 | switch (...) | TestLoopBranch.java:86:10:86:10 | x |
|
||||
| TestLoopBranch.java:86:10:86:10 | x | TestLoopBranch.java:88:3:88:9 | case ... |
|
||||
| TestLoopBranch.java:86:10:86:10 | x | TestLoopBranch.java:91:3:91:9 | case ... |
|
||||
| TestLoopBranch.java:86:10:86:10 | x | TestLoopBranch.java:96:3:102:4 | var ...; |
|
||||
| TestLoopBranch.java:88:3:88:9 | case ... | TestLoopBranch.java:89:4:89:9 | <Expr>; |
|
||||
| TestLoopBranch.java:88:3:88:9 | case ... | TestLoopBranch.java:88:8:88:8 | 1 |
|
||||
| TestLoopBranch.java:88:3:88:9 | case ... | TestLoopBranch.java:91:3:91:9 | case ... |
|
||||
| TestLoopBranch.java:88:8:88:8 | 1 | TestLoopBranch.java:89:4:89:9 | <Expr>; |
|
||||
| TestLoopBranch.java:89:4:89:4 | x | TestLoopBranch.java:89:8:89:8 | 1 |
|
||||
| TestLoopBranch.java:89:4:89:8 | ...=... | TestLoopBranch.java:90:4:90:9 | break |
|
||||
| TestLoopBranch.java:89:4:89:9 | <Expr>; | TestLoopBranch.java:89:8:89:8 | 1 |
|
||||
| TestLoopBranch.java:89:4:89:9 | <Expr>; | TestLoopBranch.java:89:4:89:4 | x |
|
||||
| TestLoopBranch.java:89:8:89:8 | 1 | TestLoopBranch.java:89:4:89:8 | ...=... |
|
||||
| TestLoopBranch.java:90:4:90:9 | break | TestLoopBranch.java:96:3:102:4 | var ...; |
|
||||
| TestLoopBranch.java:91:3:91:9 | case ... | TestLoopBranch.java:92:4:92:9 | <Expr>; |
|
||||
| TestLoopBranch.java:91:3:91:9 | case ... | TestLoopBranch.java:91:8:91:8 | 2 |
|
||||
| TestLoopBranch.java:91:3:91:9 | case ... | TestLoopBranch.java:96:3:102:4 | var ...; |
|
||||
| TestLoopBranch.java:91:8:91:8 | 2 | TestLoopBranch.java:92:4:92:9 | <Expr>; |
|
||||
| TestLoopBranch.java:92:4:92:4 | x | TestLoopBranch.java:92:8:92:8 | 2 |
|
||||
| TestLoopBranch.java:92:4:92:8 | ...=... | TestLoopBranch.java:93:4:93:9 | break |
|
||||
| TestLoopBranch.java:92:4:92:9 | <Expr>; | TestLoopBranch.java:92:8:92:8 | 2 |
|
||||
| TestLoopBranch.java:92:4:92:9 | <Expr>; | TestLoopBranch.java:92:4:92:4 | x |
|
||||
| TestLoopBranch.java:92:8:92:8 | 2 | TestLoopBranch.java:92:4:92:8 | ...=... |
|
||||
| TestLoopBranch.java:93:4:93:9 | break | TestLoopBranch.java:96:3:102:4 | var ...; |
|
||||
| TestLoopBranch.java:96:3:102:4 | var ...; | TestLoopBranch.java:96:26:102:3 | new (...) |
|
||||
| TestLoopBranch.java:96:22:102:3 | b | TestLoopBranch.java:103:3:103:21 | <Expr>; |
|
||||
| TestLoopBranch.java:96:26:102:3 | new (...) | TestLoopBranch.java:96:22:102:3 | b |
|
||||
| TestLoopBranch.java:96:30:96:47 | Exceptional Exit | TestLoopBranch.java:96:30:96:47 | Exit |
|
||||
| TestLoopBranch.java:96:30:96:47 | Entry | TestLoopBranch.java:96:30:96:47 | { ... } |
|
||||
| TestLoopBranch.java:96:30:96:47 | Normal Exit | TestLoopBranch.java:96:30:96:47 | Exit |
|
||||
| TestLoopBranch.java:96:30:96:47 | super(...) | TestLoopBranch.java:96:30:96:47 | Normal Exit |
|
||||
| TestLoopBranch.java:96:30:96:47 | { ... } | TestLoopBranch.java:96:30:96:47 | super(...) |
|
||||
| TestLoopBranch.java:98:15:98:23 | Exceptional Exit | TestLoopBranch.java:98:15:98:23 | Exit |
|
||||
| TestLoopBranch.java:98:15:98:23 | Entry | TestLoopBranch.java:99:4:101:4 | { ... } |
|
||||
| TestLoopBranch.java:98:15:98:23 | Normal Exit | TestLoopBranch.java:98:15:98:23 | Exit |
|
||||
| TestLoopBranch.java:99:4:101:4 | { ... } | TestLoopBranch.java:100:12:100:12 | 0 |
|
||||
| TestLoopBranch.java:100:5:100:13 | return ... | TestLoopBranch.java:98:15:98:23 | Normal Exit |
|
||||
@@ -231,33 +258,38 @@
|
||||
| TestLoopBranch.java:103:3:103:20 | compareTo(...) | TestLoopBranch.java:105:3:105:12 | <Expr>; |
|
||||
| TestLoopBranch.java:103:3:103:21 | <Expr>; | TestLoopBranch.java:103:3:103:3 | b |
|
||||
| TestLoopBranch.java:103:15:103:19 | "Foo" | TestLoopBranch.java:103:3:103:20 | compareTo(...) |
|
||||
| TestLoopBranch.java:105:3:105:3 | x | TestLoopBranch.java:105:7:105:7 | x |
|
||||
| TestLoopBranch.java:105:3:105:11 | ...=... | TestLoopBranch.java:106:3:106:9 | return ... |
|
||||
| TestLoopBranch.java:105:3:105:12 | <Expr>; | TestLoopBranch.java:105:7:105:7 | x |
|
||||
| TestLoopBranch.java:105:3:105:12 | <Expr>; | TestLoopBranch.java:105:3:105:3 | x |
|
||||
| TestLoopBranch.java:105:7:105:7 | x | TestLoopBranch.java:105:11:105:11 | y |
|
||||
| TestLoopBranch.java:105:7:105:11 | ... + ... | TestLoopBranch.java:105:3:105:11 | ...=... |
|
||||
| TestLoopBranch.java:105:11:105:11 | y | TestLoopBranch.java:105:7:105:11 | ... + ... |
|
||||
| TestLoopBranch.java:106:3:106:9 | return ... | TestLoopBranch.java:7:14:7:14 | Normal Exit |
|
||||
| TestLoopBranch.java:109:9:109:22 | <Expr>; | TestLoopBranch.java:109:9:109:22 | <obinit>(...) |
|
||||
| TestLoopBranch.java:109:9:109:22 | <obinit>(...) | TestLoopBranch.java:111:3:111:10 | <Expr>; |
|
||||
| TestLoopBranch.java:109:9:109:22 | Exceptional Exit | TestLoopBranch.java:109:9:109:22 | Exit |
|
||||
| TestLoopBranch.java:109:9:109:22 | Entry | TestLoopBranch.java:110:2:113:2 | { ... } |
|
||||
| TestLoopBranch.java:109:9:109:22 | Normal Exit | TestLoopBranch.java:109:9:109:22 | Exit |
|
||||
| TestLoopBranch.java:109:9:109:22 | super(...) | TestLoopBranch.java:109:9:109:22 | <Expr>; |
|
||||
| TestLoopBranch.java:110:2:113:2 | { ... } | TestLoopBranch.java:109:9:109:22 | super(...) |
|
||||
| TestLoopBranch.java:111:3:111:4 | xx | TestLoopBranch.java:111:8:111:9 | 33 |
|
||||
| TestLoopBranch.java:111:3:111:9 | ...=... | TestLoopBranch.java:112:3:112:10 | <Expr>; |
|
||||
| TestLoopBranch.java:111:3:111:10 | <Expr>; | TestLoopBranch.java:111:8:111:9 | 33 |
|
||||
| TestLoopBranch.java:111:3:111:10 | <Expr>; | TestLoopBranch.java:111:3:111:4 | xx |
|
||||
| TestLoopBranch.java:111:8:111:9 | 33 | TestLoopBranch.java:111:3:111:9 | ...=... |
|
||||
| TestLoopBranch.java:112:3:112:4 | yy | TestLoopBranch.java:112:8:112:9 | 44 |
|
||||
| TestLoopBranch.java:112:3:112:9 | ...=... | TestLoopBranch.java:109:9:109:22 | Normal Exit |
|
||||
| TestLoopBranch.java:112:3:112:10 | <Expr>; | TestLoopBranch.java:112:8:112:9 | 44 |
|
||||
| TestLoopBranch.java:112:3:112:10 | <Expr>; | TestLoopBranch.java:112:3:112:4 | yy |
|
||||
| TestLoopBranch.java:112:8:112:9 | 44 | TestLoopBranch.java:112:3:112:9 | ...=... |
|
||||
| TestLoopBranch.java:115:9:115:22 | <Expr>; | TestLoopBranch.java:115:9:115:22 | <obinit>(...) |
|
||||
| TestLoopBranch.java:115:9:115:22 | <obinit>(...) | TestLoopBranch.java:117:3:117:9 | <Expr>; |
|
||||
| TestLoopBranch.java:115:9:115:22 | Exceptional Exit | TestLoopBranch.java:115:9:115:22 | Exit |
|
||||
| TestLoopBranch.java:115:9:115:22 | Entry | TestLoopBranch.java:116:2:119:2 | { ... } |
|
||||
| TestLoopBranch.java:115:9:115:22 | Normal Exit | TestLoopBranch.java:115:9:115:22 | Exit |
|
||||
| TestLoopBranch.java:115:9:115:22 | super(...) | TestLoopBranch.java:115:9:115:22 | <Expr>; |
|
||||
| TestLoopBranch.java:116:2:119:2 | { ... } | TestLoopBranch.java:115:9:115:22 | super(...) |
|
||||
| TestLoopBranch.java:117:3:117:4 | xx | TestLoopBranch.java:117:8:117:8 | i |
|
||||
| TestLoopBranch.java:117:3:117:8 | ...=... | TestLoopBranch.java:118:3:118:9 | <Expr>; |
|
||||
| TestLoopBranch.java:117:3:117:9 | <Expr>; | TestLoopBranch.java:117:8:117:8 | i |
|
||||
| TestLoopBranch.java:117:3:117:9 | <Expr>; | TestLoopBranch.java:117:3:117:4 | xx |
|
||||
| TestLoopBranch.java:117:8:117:8 | i | TestLoopBranch.java:117:3:117:8 | ...=... |
|
||||
| TestLoopBranch.java:118:3:118:4 | yy | TestLoopBranch.java:118:8:118:8 | i |
|
||||
| TestLoopBranch.java:118:3:118:8 | ...=... | TestLoopBranch.java:115:9:115:22 | Normal Exit |
|
||||
| TestLoopBranch.java:118:3:118:9 | <Expr>; | TestLoopBranch.java:118:8:118:8 | i |
|
||||
| TestLoopBranch.java:118:3:118:9 | <Expr>; | TestLoopBranch.java:118:3:118:4 | yy |
|
||||
| TestLoopBranch.java:118:8:118:8 | i | TestLoopBranch.java:118:3:118:8 | ...=... |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
| TestThrow.java:7:10:7:18 | Exceptional Exit | TestThrow.java:7:10:7:18 | Exit |
|
||||
| TestThrow.java:7:10:7:18 | Entry | TestThrow.java:8:2:9:2 | { ... } |
|
||||
| TestThrow.java:7:10:7:18 | Normal Exit | TestThrow.java:7:10:7:18 | Exit |
|
||||
| TestThrow.java:7:10:7:18 | super(...) | TestThrow.java:7:10:7:18 | Normal Exit |
|
||||
| TestThrow.java:8:2:9:2 | { ... } | TestThrow.java:7:10:7:18 | super(...) |
|
||||
| TestThrow.java:11:15:11:21 | Exceptional Exit | TestThrow.java:11:15:11:21 | Exit |
|
||||
| TestThrow.java:11:15:11:21 | Entry | TestThrow.java:12:2:13:2 | { ... } |
|
||||
| TestThrow.java:11:15:11:21 | Normal Exit | TestThrow.java:11:15:11:21 | Exit |
|
||||
| TestThrow.java:12:2:13:2 | { ... } | TestThrow.java:11:15:11:21 | Normal Exit |
|
||||
| TestThrow.java:15:14:15:14 | Entry | TestThrow.java:16:2:134:2 | { ... } |
|
||||
| TestThrow.java:15:14:15:14 | Exceptional Exit | TestThrow.java:15:14:15:14 | Exit |
|
||||
| TestThrow.java:15:14:15:14 | Normal Exit | TestThrow.java:15:14:15:14 | Exit |
|
||||
| TestThrow.java:16:2:134:2 | { ... } | TestThrow.java:17:3:17:12 | var ...; |
|
||||
@@ -17,19 +18,23 @@
|
||||
| TestThrow.java:20:10:20:31 | new RuntimeException(...) | TestThrow.java:20:4:20:32 | throw ... |
|
||||
| TestThrow.java:20:10:20:31 | new RuntimeException(...) | TestThrow.java:21:5:21:30 | catch (...) |
|
||||
| TestThrow.java:21:5:21:30 | catch (...) | TestThrow.java:21:29:21:29 | e |
|
||||
| TestThrow.java:21:5:21:30 | catch (...) | TestThrow.java:24:5:24:23 | catch (...) |
|
||||
| TestThrow.java:21:29:21:29 | e | TestThrow.java:22:3:24:3 | { ... } |
|
||||
| TestThrow.java:22:3:24:3 | { ... } | TestThrow.java:23:4:23:9 | <Expr>; |
|
||||
| TestThrow.java:23:4:23:4 | z | TestThrow.java:23:8:23:8 | 1 |
|
||||
| TestThrow.java:23:4:23:8 | ...=... | TestThrow.java:29:3:29:9 | <Expr>; |
|
||||
| TestThrow.java:23:4:23:9 | <Expr>; | TestThrow.java:23:8:23:8 | 1 |
|
||||
| TestThrow.java:23:4:23:9 | <Expr>; | TestThrow.java:23:4:23:4 | z |
|
||||
| TestThrow.java:23:8:23:8 | 1 | TestThrow.java:23:4:23:8 | ...=... |
|
||||
| TestThrow.java:24:5:24:23 | catch (...) | TestThrow.java:24:22:24:22 | e |
|
||||
| TestThrow.java:24:22:24:22 | e | TestThrow.java:25:3:27:3 | { ... } |
|
||||
| TestThrow.java:25:3:27:3 | { ... } | TestThrow.java:26:4:26:9 | <Expr>; |
|
||||
| TestThrow.java:26:4:26:4 | z | TestThrow.java:26:8:26:8 | 2 |
|
||||
| TestThrow.java:26:4:26:8 | ...=... | TestThrow.java:29:3:29:9 | <Expr>; |
|
||||
| TestThrow.java:26:4:26:9 | <Expr>; | TestThrow.java:26:8:26:8 | 2 |
|
||||
| TestThrow.java:26:4:26:9 | <Expr>; | TestThrow.java:26:4:26:4 | z |
|
||||
| TestThrow.java:26:8:26:8 | 2 | TestThrow.java:26:4:26:8 | ...=... |
|
||||
| TestThrow.java:29:3:29:3 | z | TestThrow.java:29:8:29:8 | 1 |
|
||||
| TestThrow.java:29:3:29:8 | ...=... | TestThrow.java:31:3:52:3 | try ... |
|
||||
| TestThrow.java:29:3:29:9 | <Expr>; | TestThrow.java:29:8:29:8 | 1 |
|
||||
| TestThrow.java:29:3:29:9 | <Expr>; | TestThrow.java:29:3:29:3 | z |
|
||||
| TestThrow.java:29:7:29:8 | -... | TestThrow.java:29:3:29:8 | ...=... |
|
||||
| TestThrow.java:29:8:29:8 | 1 | TestThrow.java:29:7:29:8 | -... |
|
||||
| TestThrow.java:31:3:52:3 | try ... | TestThrow.java:32:3:46:3 | { ... } |
|
||||
@@ -43,7 +48,6 @@
|
||||
| TestThrow.java:35:5:35:33 | throw ... | TestThrow.java:46:5:46:30 | catch (...) |
|
||||
| TestThrow.java:35:11:35:32 | new RuntimeException(...) | TestThrow.java:35:5:35:33 | throw ... |
|
||||
| TestThrow.java:35:11:35:32 | new RuntimeException(...) | TestThrow.java:46:5:46:30 | catch (...) |
|
||||
| TestThrow.java:35:11:35:32 | new RuntimeException(...) | TestThrow.java:50:3:52:3 | { ... } |
|
||||
| TestThrow.java:36:11:36:21 | if (...) | TestThrow.java:36:15:36:15 | z |
|
||||
| TestThrow.java:36:15:36:15 | z | TestThrow.java:36:20:36:20 | 2 |
|
||||
| TestThrow.java:36:15:36:20 | ... == ... | TestThrow.java:37:4:39:4 | { ... } |
|
||||
@@ -51,10 +55,8 @@
|
||||
| TestThrow.java:36:20:36:20 | 2 | TestThrow.java:36:15:36:20 | ... == ... |
|
||||
| TestThrow.java:37:4:39:4 | { ... } | TestThrow.java:38:11:38:25 | new Exception(...) |
|
||||
| TestThrow.java:38:5:38:26 | throw ... | TestThrow.java:46:5:46:30 | catch (...) |
|
||||
| TestThrow.java:38:5:38:26 | throw ... | TestThrow.java:50:3:52:3 | { ... } |
|
||||
| TestThrow.java:38:11:38:25 | new Exception(...) | TestThrow.java:38:5:38:26 | throw ... |
|
||||
| TestThrow.java:38:11:38:25 | new Exception(...) | TestThrow.java:46:5:46:30 | catch (...) |
|
||||
| TestThrow.java:38:11:38:25 | new Exception(...) | TestThrow.java:50:3:52:3 | { ... } |
|
||||
| TestThrow.java:39:11:39:21 | if (...) | TestThrow.java:39:15:39:15 | z |
|
||||
| TestThrow.java:39:15:39:15 | z | TestThrow.java:39:20:39:20 | 3 |
|
||||
| TestThrow.java:39:15:39:20 | ... == ... | TestThrow.java:40:4:42:4 | { ... } |
|
||||
@@ -69,18 +71,22 @@
|
||||
| TestThrow.java:44:5:44:13 | thrower(...) | TestThrow.java:50:3:52:3 | { ... } |
|
||||
| TestThrow.java:44:5:44:14 | <Expr>; | TestThrow.java:44:5:44:13 | thrower(...) |
|
||||
| TestThrow.java:46:5:46:30 | catch (...) | TestThrow.java:46:29:46:29 | e |
|
||||
| TestThrow.java:46:5:46:30 | catch (...) | TestThrow.java:50:3:52:3 | { ... } |
|
||||
| TestThrow.java:46:29:46:29 | e | TestThrow.java:47:3:49:3 | { ... } |
|
||||
| TestThrow.java:47:3:49:3 | { ... } | TestThrow.java:48:4:48:9 | <Expr>; |
|
||||
| TestThrow.java:48:4:48:4 | z | TestThrow.java:48:8:48:8 | 1 |
|
||||
| TestThrow.java:48:4:48:8 | ...=... | TestThrow.java:50:3:52:3 | { ... } |
|
||||
| TestThrow.java:48:4:48:9 | <Expr>; | TestThrow.java:48:8:48:8 | 1 |
|
||||
| TestThrow.java:48:4:48:9 | <Expr>; | TestThrow.java:48:4:48:4 | z |
|
||||
| TestThrow.java:48:8:48:8 | 1 | TestThrow.java:48:4:48:8 | ...=... |
|
||||
| TestThrow.java:50:3:52:3 | { ... } | TestThrow.java:51:4:51:9 | <Expr>; |
|
||||
| TestThrow.java:51:4:51:4 | z | TestThrow.java:51:8:51:8 | 2 |
|
||||
| TestThrow.java:51:4:51:8 | ...=... | TestThrow.java:15:14:15:14 | Exceptional Exit |
|
||||
| TestThrow.java:51:4:51:8 | ...=... | TestThrow.java:54:3:54:9 | <Expr>; |
|
||||
| TestThrow.java:51:4:51:9 | <Expr>; | TestThrow.java:51:8:51:8 | 2 |
|
||||
| TestThrow.java:51:4:51:9 | <Expr>; | TestThrow.java:51:4:51:4 | z |
|
||||
| TestThrow.java:51:8:51:8 | 2 | TestThrow.java:51:4:51:8 | ...=... |
|
||||
| TestThrow.java:54:3:54:3 | z | TestThrow.java:54:8:54:8 | 1 |
|
||||
| TestThrow.java:54:3:54:8 | ...=... | TestThrow.java:56:3:72:3 | try ... |
|
||||
| TestThrow.java:54:3:54:9 | <Expr>; | TestThrow.java:54:8:54:8 | 1 |
|
||||
| TestThrow.java:54:3:54:9 | <Expr>; | TestThrow.java:54:3:54:3 | z |
|
||||
| TestThrow.java:54:7:54:8 | -... | TestThrow.java:54:3:54:8 | ...=... |
|
||||
| TestThrow.java:54:8:54:8 | 1 | TestThrow.java:54:7:54:8 | -... |
|
||||
| TestThrow.java:56:3:72:3 | try ... | TestThrow.java:57:3:69:3 | { ... } |
|
||||
@@ -91,7 +97,6 @@
|
||||
| TestThrow.java:58:8:58:13 | ... == ... | TestThrow.java:62:9:62:19 | if (...) |
|
||||
| TestThrow.java:58:13:58:13 | 1 | TestThrow.java:58:8:58:13 | ... == ... |
|
||||
| TestThrow.java:59:4:61:4 | { ... } | TestThrow.java:60:11:60:25 | new Exception(...) |
|
||||
| TestThrow.java:60:5:60:26 | throw ... | TestThrow.java:15:14:15:14 | Exceptional Exit |
|
||||
| TestThrow.java:60:5:60:26 | throw ... | TestThrow.java:69:5:69:30 | catch (...) |
|
||||
| TestThrow.java:60:11:60:25 | new Exception(...) | TestThrow.java:60:5:60:26 | throw ... |
|
||||
| TestThrow.java:60:11:60:25 | new Exception(...) | TestThrow.java:69:5:69:30 | catch (...) |
|
||||
@@ -101,7 +106,6 @@
|
||||
| TestThrow.java:62:13:62:18 | ... == ... | TestThrow.java:66:4:68:4 | { ... } |
|
||||
| TestThrow.java:62:18:62:18 | 2 | TestThrow.java:62:13:62:18 | ... == ... |
|
||||
| TestThrow.java:63:4:65:4 | { ... } | TestThrow.java:64:5:64:20 | <Expr>; |
|
||||
| TestThrow.java:64:5:64:19 | new TestThrow(...) | TestThrow.java:15:14:15:14 | Exceptional Exit |
|
||||
| TestThrow.java:64:5:64:19 | new TestThrow(...) | TestThrow.java:69:5:69:30 | catch (...) |
|
||||
| TestThrow.java:64:5:64:19 | new TestThrow(...) | TestThrow.java:74:3:74:9 | <Expr>; |
|
||||
| TestThrow.java:64:5:64:20 | <Expr>; | TestThrow.java:64:5:64:19 | new TestThrow(...) |
|
||||
@@ -109,14 +113,17 @@
|
||||
| TestThrow.java:67:5:67:13 | thrower(...) | TestThrow.java:69:5:69:30 | catch (...) |
|
||||
| TestThrow.java:67:5:67:13 | thrower(...) | TestThrow.java:74:3:74:9 | <Expr>; |
|
||||
| TestThrow.java:67:5:67:14 | <Expr>; | TestThrow.java:67:5:67:13 | thrower(...) |
|
||||
| TestThrow.java:69:5:69:30 | catch (...) | TestThrow.java:15:14:15:14 | Exceptional Exit |
|
||||
| TestThrow.java:69:5:69:30 | catch (...) | TestThrow.java:69:29:69:29 | e |
|
||||
| TestThrow.java:69:29:69:29 | e | TestThrow.java:70:3:72:3 | { ... } |
|
||||
| TestThrow.java:70:3:72:3 | { ... } | TestThrow.java:71:4:71:9 | <Expr>; |
|
||||
| TestThrow.java:71:4:71:4 | z | TestThrow.java:71:8:71:8 | 1 |
|
||||
| TestThrow.java:71:4:71:8 | ...=... | TestThrow.java:74:3:74:9 | <Expr>; |
|
||||
| TestThrow.java:71:4:71:9 | <Expr>; | TestThrow.java:71:8:71:8 | 1 |
|
||||
| TestThrow.java:71:4:71:9 | <Expr>; | TestThrow.java:71:4:71:4 | z |
|
||||
| TestThrow.java:71:8:71:8 | 1 | TestThrow.java:71:4:71:8 | ...=... |
|
||||
| TestThrow.java:74:3:74:3 | z | TestThrow.java:74:8:74:8 | 1 |
|
||||
| TestThrow.java:74:3:74:8 | ...=... | TestThrow.java:76:3:83:3 | try ... |
|
||||
| TestThrow.java:74:3:74:9 | <Expr>; | TestThrow.java:74:8:74:8 | 1 |
|
||||
| TestThrow.java:74:3:74:9 | <Expr>; | TestThrow.java:74:3:74:3 | z |
|
||||
| TestThrow.java:74:7:74:8 | -... | TestThrow.java:74:3:74:8 | ...=... |
|
||||
| TestThrow.java:74:8:74:8 | 1 | TestThrow.java:74:7:74:8 | -... |
|
||||
| TestThrow.java:76:3:83:3 | try ... | TestThrow.java:77:3:80:3 | { ... } |
|
||||
@@ -130,9 +137,10 @@
|
||||
| TestThrow.java:79:11:79:25 | new Exception(...) | TestThrow.java:79:5:79:26 | throw ... |
|
||||
| TestThrow.java:79:11:79:25 | new Exception(...) | TestThrow.java:81:3:83:3 | { ... } |
|
||||
| TestThrow.java:81:3:83:3 | { ... } | TestThrow.java:82:4:82:9 | <Expr>; |
|
||||
| TestThrow.java:82:4:82:4 | z | TestThrow.java:82:8:82:8 | 1 |
|
||||
| TestThrow.java:82:4:82:8 | ...=... | TestThrow.java:15:14:15:14 | Exceptional Exit |
|
||||
| TestThrow.java:82:4:82:8 | ...=... | TestThrow.java:85:3:126:3 | try ... |
|
||||
| TestThrow.java:82:4:82:9 | <Expr>; | TestThrow.java:82:8:82:8 | 1 |
|
||||
| TestThrow.java:82:4:82:9 | <Expr>; | TestThrow.java:82:4:82:4 | z |
|
||||
| TestThrow.java:82:8:82:8 | 1 | TestThrow.java:82:4:82:8 | ...=... |
|
||||
| TestThrow.java:85:3:126:3 | try ... | TestThrow.java:86:3:119:3 | { ... } |
|
||||
| TestThrow.java:86:3:119:3 | { ... } | TestThrow.java:87:4:102:4 | try ... |
|
||||
@@ -145,11 +153,8 @@
|
||||
| TestThrow.java:89:14:89:14 | 1 | TestThrow.java:89:9:89:14 | ... == ... |
|
||||
| TestThrow.java:90:5:92:5 | { ... } | TestThrow.java:91:12:91:26 | new Exception(...) |
|
||||
| TestThrow.java:91:6:91:27 | throw ... | TestThrow.java:99:6:99:31 | catch (...) |
|
||||
| TestThrow.java:91:6:91:27 | throw ... | TestThrow.java:119:5:119:25 | catch (...) |
|
||||
| TestThrow.java:91:6:91:27 | throw ... | TestThrow.java:124:3:126:3 | { ... } |
|
||||
| TestThrow.java:91:12:91:26 | new Exception(...) | TestThrow.java:91:6:91:27 | throw ... |
|
||||
| TestThrow.java:91:12:91:26 | new Exception(...) | TestThrow.java:99:6:99:31 | catch (...) |
|
||||
| TestThrow.java:91:12:91:26 | new Exception(...) | TestThrow.java:124:3:126:3 | { ... } |
|
||||
| TestThrow.java:92:12:92:22 | if (...) | TestThrow.java:92:16:92:16 | z |
|
||||
| TestThrow.java:92:16:92:16 | z | TestThrow.java:92:21:92:21 | 2 |
|
||||
| TestThrow.java:92:16:92:21 | ... == ... | TestThrow.java:93:5:95:5 | { ... } |
|
||||
@@ -159,24 +164,25 @@
|
||||
| TestThrow.java:94:6:94:34 | throw ... | TestThrow.java:99:6:99:31 | catch (...) |
|
||||
| TestThrow.java:94:12:94:33 | new RuntimeException(...) | TestThrow.java:94:6:94:34 | throw ... |
|
||||
| TestThrow.java:94:12:94:33 | new RuntimeException(...) | TestThrow.java:99:6:99:31 | catch (...) |
|
||||
| TestThrow.java:94:12:94:33 | new RuntimeException(...) | TestThrow.java:124:3:126:3 | { ... } |
|
||||
| TestThrow.java:96:5:98:5 | { ... } | TestThrow.java:97:28:97:36 | "Foo bar" |
|
||||
| TestThrow.java:97:6:97:44 | throw ... | TestThrow.java:119:5:119:25 | catch (...) |
|
||||
| TestThrow.java:97:6:97:44 | throw ... | TestThrow.java:99:6:99:31 | catch (...) |
|
||||
| TestThrow.java:97:12:97:43 | new IOException(...) | TestThrow.java:97:6:97:44 | throw ... |
|
||||
| TestThrow.java:97:12:97:43 | new IOException(...) | TestThrow.java:99:6:99:31 | catch (...) |
|
||||
| TestThrow.java:97:12:97:43 | new IOException(...) | TestThrow.java:124:3:126:3 | { ... } |
|
||||
| TestThrow.java:97:28:97:36 | "Foo bar" | TestThrow.java:97:39:97:42 | null |
|
||||
| TestThrow.java:97:39:97:42 | null | TestThrow.java:97:12:97:43 | new IOException(...) |
|
||||
| TestThrow.java:99:6:99:31 | catch (...) | TestThrow.java:99:30:99:30 | e |
|
||||
| TestThrow.java:99:6:99:31 | catch (...) | TestThrow.java:119:5:119:25 | catch (...) |
|
||||
| TestThrow.java:99:30:99:30 | e | TestThrow.java:100:4:102:4 | { ... } |
|
||||
| TestThrow.java:100:4:102:4 | { ... } | TestThrow.java:101:5:101:10 | <Expr>; |
|
||||
| TestThrow.java:101:5:101:5 | z | TestThrow.java:101:9:101:9 | 1 |
|
||||
| TestThrow.java:101:5:101:9 | ...=... | TestThrow.java:103:4:118:4 | try ... |
|
||||
| TestThrow.java:101:5:101:10 | <Expr>; | TestThrow.java:101:9:101:9 | 1 |
|
||||
| TestThrow.java:101:5:101:10 | <Expr>; | TestThrow.java:101:5:101:5 | z |
|
||||
| TestThrow.java:101:9:101:9 | 1 | TestThrow.java:101:5:101:9 | ...=... |
|
||||
| TestThrow.java:103:4:118:4 | try ... | TestThrow.java:104:4:106:4 | { ... } |
|
||||
| TestThrow.java:104:4:106:4 | { ... } | TestThrow.java:105:5:105:11 | <Expr>; |
|
||||
| TestThrow.java:105:5:105:5 | z | TestThrow.java:105:10:105:10 | 2 |
|
||||
| TestThrow.java:105:5:105:10 | ...=... | TestThrow.java:107:4:118:4 | { ... } |
|
||||
| TestThrow.java:105:5:105:11 | <Expr>; | TestThrow.java:105:10:105:10 | 2 |
|
||||
| TestThrow.java:105:5:105:11 | <Expr>; | TestThrow.java:105:5:105:5 | z |
|
||||
| TestThrow.java:105:9:105:10 | -... | TestThrow.java:105:5:105:10 | ...=... |
|
||||
| TestThrow.java:105:10:105:10 | 2 | TestThrow.java:105:9:105:10 | -... |
|
||||
| TestThrow.java:107:4:118:4 | { ... } | TestThrow.java:108:5:108:15 | if (...) |
|
||||
@@ -187,18 +193,17 @@
|
||||
| TestThrow.java:108:14:108:14 | 1 | TestThrow.java:108:9:108:14 | ... == ... |
|
||||
| TestThrow.java:109:5:111:5 | { ... } | TestThrow.java:110:12:110:26 | new Exception(...) |
|
||||
| TestThrow.java:110:6:110:27 | throw ... | TestThrow.java:119:5:119:25 | catch (...) |
|
||||
| TestThrow.java:110:6:110:27 | throw ... | TestThrow.java:124:3:126:3 | { ... } |
|
||||
| TestThrow.java:110:12:110:26 | new Exception(...) | TestThrow.java:110:6:110:27 | throw ... |
|
||||
| TestThrow.java:110:12:110:26 | new Exception(...) | TestThrow.java:124:3:126:3 | { ... } |
|
||||
| TestThrow.java:110:12:110:26 | new Exception(...) | TestThrow.java:119:5:119:25 | catch (...) |
|
||||
| TestThrow.java:111:12:111:22 | if (...) | TestThrow.java:111:16:111:16 | z |
|
||||
| TestThrow.java:111:16:111:16 | z | TestThrow.java:111:21:111:21 | 2 |
|
||||
| TestThrow.java:111:16:111:21 | ... == ... | TestThrow.java:112:5:114:5 | { ... } |
|
||||
| TestThrow.java:111:16:111:21 | ... == ... | TestThrow.java:114:12:114:22 | if (...) |
|
||||
| TestThrow.java:111:21:111:21 | 2 | TestThrow.java:111:16:111:21 | ... == ... |
|
||||
| TestThrow.java:112:5:114:5 | { ... } | TestThrow.java:113:12:113:33 | new RuntimeException(...) |
|
||||
| TestThrow.java:113:6:113:34 | throw ... | TestThrow.java:124:3:126:3 | { ... } |
|
||||
| TestThrow.java:113:6:113:34 | throw ... | TestThrow.java:119:5:119:25 | catch (...) |
|
||||
| TestThrow.java:113:12:113:33 | new RuntimeException(...) | TestThrow.java:113:6:113:34 | throw ... |
|
||||
| TestThrow.java:113:12:113:33 | new RuntimeException(...) | TestThrow.java:124:3:126:3 | { ... } |
|
||||
| TestThrow.java:113:12:113:33 | new RuntimeException(...) | TestThrow.java:119:5:119:25 | catch (...) |
|
||||
| TestThrow.java:114:12:114:22 | if (...) | TestThrow.java:114:16:114:16 | z |
|
||||
| TestThrow.java:114:16:114:16 | z | TestThrow.java:114:21:114:21 | 3 |
|
||||
| TestThrow.java:114:16:114:21 | ... == ... | TestThrow.java:115:5:117:5 | { ... } |
|
||||
@@ -207,19 +212,22 @@
|
||||
| TestThrow.java:115:5:117:5 | { ... } | TestThrow.java:116:28:116:36 | "Foo bar" |
|
||||
| TestThrow.java:116:6:116:44 | throw ... | TestThrow.java:119:5:119:25 | catch (...) |
|
||||
| TestThrow.java:116:12:116:43 | new IOException(...) | TestThrow.java:116:6:116:44 | throw ... |
|
||||
| TestThrow.java:116:12:116:43 | new IOException(...) | TestThrow.java:124:3:126:3 | { ... } |
|
||||
| TestThrow.java:116:12:116:43 | new IOException(...) | TestThrow.java:119:5:119:25 | catch (...) |
|
||||
| TestThrow.java:116:28:116:36 | "Foo bar" | TestThrow.java:116:39:116:42 | null |
|
||||
| TestThrow.java:116:39:116:42 | null | TestThrow.java:116:12:116:43 | new IOException(...) |
|
||||
| TestThrow.java:119:5:119:25 | catch (...) | TestThrow.java:119:24:119:24 | e |
|
||||
| TestThrow.java:119:5:119:25 | catch (...) | TestThrow.java:124:3:126:3 | { ... } |
|
||||
| TestThrow.java:119:24:119:24 | e | TestThrow.java:120:3:122:3 | { ... } |
|
||||
| TestThrow.java:120:3:122:3 | { ... } | TestThrow.java:121:4:121:9 | <Expr>; |
|
||||
| TestThrow.java:121:4:121:4 | z | TestThrow.java:121:8:121:8 | 2 |
|
||||
| TestThrow.java:121:4:121:8 | ...=... | TestThrow.java:124:3:126:3 | { ... } |
|
||||
| TestThrow.java:121:4:121:9 | <Expr>; | TestThrow.java:121:8:121:8 | 2 |
|
||||
| TestThrow.java:121:4:121:9 | <Expr>; | TestThrow.java:121:4:121:4 | z |
|
||||
| TestThrow.java:121:8:121:8 | 2 | TestThrow.java:121:4:121:8 | ...=... |
|
||||
| TestThrow.java:124:3:126:3 | { ... } | TestThrow.java:125:4:125:9 | <Expr>; |
|
||||
| TestThrow.java:125:4:125:4 | z | TestThrow.java:125:8:125:8 | 3 |
|
||||
| TestThrow.java:125:4:125:8 | ...=... | TestThrow.java:15:14:15:14 | Exceptional Exit |
|
||||
| TestThrow.java:125:4:125:8 | ...=... | TestThrow.java:128:3:128:13 | if (...) |
|
||||
| TestThrow.java:125:4:125:9 | <Expr>; | TestThrow.java:125:8:125:8 | 3 |
|
||||
| TestThrow.java:125:4:125:9 | <Expr>; | TestThrow.java:125:4:125:4 | z |
|
||||
| TestThrow.java:125:8:125:8 | 3 | TestThrow.java:125:4:125:8 | ...=... |
|
||||
| TestThrow.java:128:3:128:13 | if (...) | TestThrow.java:128:7:128:7 | z |
|
||||
| TestThrow.java:128:7:128:7 | z | TestThrow.java:128:12:128:12 | 1 |
|
||||
@@ -229,7 +237,8 @@
|
||||
| TestThrow.java:129:3:131:3 | { ... } | TestThrow.java:130:10:130:24 | new Exception(...) |
|
||||
| TestThrow.java:130:4:130:25 | throw ... | TestThrow.java:15:14:15:14 | Exceptional Exit |
|
||||
| TestThrow.java:130:10:130:24 | new Exception(...) | TestThrow.java:130:4:130:25 | throw ... |
|
||||
| TestThrow.java:133:3:133:3 | z | TestThrow.java:133:8:133:8 | 1 |
|
||||
| TestThrow.java:133:3:133:8 | ...=... | TestThrow.java:15:14:15:14 | Normal Exit |
|
||||
| TestThrow.java:133:3:133:9 | <Expr>; | TestThrow.java:133:8:133:8 | 1 |
|
||||
| TestThrow.java:133:3:133:9 | <Expr>; | TestThrow.java:133:3:133:3 | z |
|
||||
| TestThrow.java:133:7:133:8 | -... | TestThrow.java:133:3:133:8 | ...=... |
|
||||
| TestThrow.java:133:8:133:8 | 1 | TestThrow.java:133:7:133:8 | -... |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
| TestThrow2.java:3:7:3:16 | <Expr>; | TestThrow2.java:3:7:3:16 | <obinit>(...) |
|
||||
| TestThrow2.java:3:7:3:16 | <obinit>(...) | TestThrow2.java:3:7:3:16 | Normal Exit |
|
||||
| TestThrow2.java:3:7:3:16 | Exceptional Exit | TestThrow2.java:3:7:3:16 | Exit |
|
||||
| TestThrow2.java:3:7:3:16 | Exceptional Exit | TestThrow2.java:3:7:3:16 | Exit |
|
||||
| TestThrow2.java:3:7:3:16 | Entry | TestThrow2.java:3:7:3:16 | { ... } |
|
||||
| TestThrow2.java:3:7:3:16 | Entry | TestThrow2.java:3:7:3:16 | { ... } |
|
||||
| TestThrow2.java:3:7:3:16 | Normal Exit | TestThrow2.java:3:7:3:16 | Exit |
|
||||
| TestThrow2.java:3:7:3:16 | Normal Exit | TestThrow2.java:3:7:3:16 | Exit |
|
||||
| TestThrow2.java:3:7:3:16 | super(...) | TestThrow2.java:3:7:3:16 | <Expr>; |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
| TestTryCatch.java:3:14:3:25 | Exceptional Exit | TestTryCatch.java:3:14:3:25 | Exit |
|
||||
| TestTryCatch.java:3:14:3:25 | Entry | TestTryCatch.java:3:14:3:25 | { ... } |
|
||||
| TestTryCatch.java:3:14:3:25 | Normal Exit | TestTryCatch.java:3:14:3:25 | Exit |
|
||||
| TestTryCatch.java:3:14:3:25 | super(...) | TestTryCatch.java:3:14:3:25 | Normal Exit |
|
||||
| TestTryCatch.java:3:14:3:25 | { ... } | TestTryCatch.java:3:14:3:25 | super(...) |
|
||||
| TestTryCatch.java:4:14:4:14 | Entry | TestTryCatch.java:5:2:43:2 | { ... } |
|
||||
| TestTryCatch.java:4:14:4:14 | Exceptional Exit | TestTryCatch.java:4:14:4:14 | Exit |
|
||||
| TestTryCatch.java:4:14:4:14 | Normal Exit | TestTryCatch.java:4:14:4:14 | Exit |
|
||||
| TestTryCatch.java:5:2:43:2 | { ... } | TestTryCatch.java:6:3:23:3 | try ... |
|
||||
@@ -10,7 +11,6 @@
|
||||
| TestTryCatch.java:8:4:8:13 | System.out | TestTryCatch.java:8:23:8:27 | "Foo" |
|
||||
| TestTryCatch.java:8:4:8:28 | println(...) | TestTryCatch.java:9:4:9:18 | var ...; |
|
||||
| TestTryCatch.java:8:4:8:28 | println(...) | TestTryCatch.java:12:5:12:23 | catch (...) |
|
||||
| TestTryCatch.java:8:4:8:28 | println(...) | TestTryCatch.java:19:3:23:3 | { ... } |
|
||||
| TestTryCatch.java:8:4:8:29 | <Expr>; | TestTryCatch.java:8:4:8:13 | System.out |
|
||||
| TestTryCatch.java:8:23:8:27 | "Foo" | TestTryCatch.java:8:4:8:28 | println(...) |
|
||||
| TestTryCatch.java:9:4:9:18 | var ...; | TestTryCatch.java:9:12:9:13 | 12 |
|
||||
@@ -21,11 +21,11 @@
|
||||
| TestTryCatch.java:10:4:10:13 | System.out | TestTryCatch.java:10:23:10:27 | "Bar" |
|
||||
| TestTryCatch.java:10:4:10:28 | println(...) | TestTryCatch.java:11:4:11:13 | <Expr>; |
|
||||
| TestTryCatch.java:10:4:10:28 | println(...) | TestTryCatch.java:12:5:12:23 | catch (...) |
|
||||
| TestTryCatch.java:10:4:10:28 | println(...) | TestTryCatch.java:19:3:23:3 | { ... } |
|
||||
| TestTryCatch.java:10:4:10:29 | <Expr>; | TestTryCatch.java:10:4:10:13 | System.out |
|
||||
| TestTryCatch.java:10:23:10:27 | "Bar" | TestTryCatch.java:10:4:10:28 | println(...) |
|
||||
| TestTryCatch.java:11:4:11:4 | y | TestTryCatch.java:11:8:11:8 | y |
|
||||
| TestTryCatch.java:11:4:11:12 | ...=... | TestTryCatch.java:19:3:23:3 | { ... } |
|
||||
| TestTryCatch.java:11:4:11:13 | <Expr>; | TestTryCatch.java:11:8:11:8 | y |
|
||||
| TestTryCatch.java:11:4:11:13 | <Expr>; | TestTryCatch.java:11:4:11:4 | y |
|
||||
| TestTryCatch.java:11:8:11:8 | y | TestTryCatch.java:11:12:11:12 | 1 |
|
||||
| TestTryCatch.java:11:8:11:12 | ... + ... | TestTryCatch.java:11:4:11:12 | ...=... |
|
||||
| TestTryCatch.java:11:12:11:12 | 1 | TestTryCatch.java:11:8:11:12 | ... + ... |
|
||||
@@ -41,8 +41,9 @@
|
||||
| TestTryCatch.java:15:23:15:31 | "Error: " | TestTryCatch.java:15:35:15:35 | e |
|
||||
| TestTryCatch.java:15:23:15:35 | ... + ... | TestTryCatch.java:15:4:15:36 | println(...) |
|
||||
| TestTryCatch.java:15:35:15:35 | e | TestTryCatch.java:15:23:15:35 | ... + ... |
|
||||
| TestTryCatch.java:16:4:16:4 | x | TestTryCatch.java:16:8:16:8 | x |
|
||||
| TestTryCatch.java:16:4:16:12 | ...=... | TestTryCatch.java:17:4:17:10 | return ... |
|
||||
| TestTryCatch.java:16:4:16:13 | <Expr>; | TestTryCatch.java:16:8:16:8 | x |
|
||||
| TestTryCatch.java:16:4:16:13 | <Expr>; | TestTryCatch.java:16:4:16:4 | x |
|
||||
| TestTryCatch.java:16:8:16:8 | x | TestTryCatch.java:16:12:16:12 | 1 |
|
||||
| TestTryCatch.java:16:8:16:12 | ... + ... | TestTryCatch.java:16:4:16:12 | ...=... |
|
||||
| TestTryCatch.java:16:12:16:12 | 1 | TestTryCatch.java:16:8:16:12 | ... + ... |
|
||||
@@ -55,18 +56,19 @@
|
||||
| TestTryCatch.java:21:4:21:32 | println(...) | TestTryCatch.java:22:4:22:13 | <Expr>; |
|
||||
| TestTryCatch.java:21:4:21:33 | <Expr>; | TestTryCatch.java:21:4:21:13 | System.out |
|
||||
| TestTryCatch.java:21:23:21:31 | "Finally" | TestTryCatch.java:21:4:21:32 | println(...) |
|
||||
| TestTryCatch.java:22:4:22:12 | ...=... | TestTryCatch.java:4:14:4:14 | Exceptional Exit |
|
||||
| TestTryCatch.java:22:4:22:4 | y | TestTryCatch.java:22:8:22:8 | y |
|
||||
| TestTryCatch.java:22:4:22:12 | ...=... | TestTryCatch.java:4:14:4:14 | Normal Exit |
|
||||
| TestTryCatch.java:22:4:22:12 | ...=... | TestTryCatch.java:24:3:24:13 | var ...; |
|
||||
| TestTryCatch.java:22:4:22:13 | <Expr>; | TestTryCatch.java:22:8:22:8 | y |
|
||||
| TestTryCatch.java:22:4:22:13 | <Expr>; | TestTryCatch.java:22:4:22:4 | y |
|
||||
| TestTryCatch.java:22:8:22:8 | y | TestTryCatch.java:22:12:22:12 | 1 |
|
||||
| TestTryCatch.java:22:8:22:12 | ... + ... | TestTryCatch.java:22:4:22:12 | ...=... |
|
||||
| TestTryCatch.java:22:12:22:12 | 1 | TestTryCatch.java:22:8:22:12 | ... + ... |
|
||||
| TestTryCatch.java:24:3:24:13 | var ...; | TestTryCatch.java:24:11:24:12 | 12 |
|
||||
| TestTryCatch.java:24:7:24:12 | z | TestTryCatch.java:25:3:25:12 | <Expr>; |
|
||||
| TestTryCatch.java:24:11:24:12 | 12 | TestTryCatch.java:24:7:24:12 | z |
|
||||
| TestTryCatch.java:25:3:25:3 | z | TestTryCatch.java:25:7:25:7 | z |
|
||||
| TestTryCatch.java:25:3:25:11 | ...=... | TestTryCatch.java:27:3:27:30 | for (...;...;...) |
|
||||
| TestTryCatch.java:25:3:25:12 | <Expr>; | TestTryCatch.java:25:7:25:7 | z |
|
||||
| TestTryCatch.java:25:3:25:12 | <Expr>; | TestTryCatch.java:25:3:25:3 | z |
|
||||
| TestTryCatch.java:25:7:25:7 | z | TestTryCatch.java:25:11:25:11 | 1 |
|
||||
| TestTryCatch.java:25:7:25:11 | ... + ... | TestTryCatch.java:25:3:25:11 | ...=... |
|
||||
| TestTryCatch.java:25:11:25:11 | 1 | TestTryCatch.java:25:7:25:11 | ... + ... |
|
||||
@@ -97,11 +99,13 @@
|
||||
| TestTryCatch.java:33:5:33:29 | println(...) | TestTryCatch.java:35:6:35:31 | catch (...) |
|
||||
| TestTryCatch.java:33:5:33:30 | <Expr>; | TestTryCatch.java:33:5:33:14 | System.out |
|
||||
| TestTryCatch.java:33:24:33:28 | "Bar" | TestTryCatch.java:33:5:33:29 | println(...) |
|
||||
| TestTryCatch.java:34:5:34:5 | y | TestTryCatch.java:34:9:34:9 | y |
|
||||
| TestTryCatch.java:34:5:34:13 | ...=... | TestTryCatch.java:27:27:27:27 | q |
|
||||
| TestTryCatch.java:34:5:34:14 | <Expr>; | TestTryCatch.java:34:9:34:9 | y |
|
||||
| TestTryCatch.java:34:5:34:14 | <Expr>; | TestTryCatch.java:34:5:34:5 | y |
|
||||
| TestTryCatch.java:34:9:34:9 | y | TestTryCatch.java:34:13:34:13 | 1 |
|
||||
| TestTryCatch.java:34:9:34:13 | ... + ... | TestTryCatch.java:34:5:34:13 | ...=... |
|
||||
| TestTryCatch.java:34:13:34:13 | 1 | TestTryCatch.java:34:9:34:13 | ... + ... |
|
||||
| TestTryCatch.java:35:6:35:31 | catch (...) | TestTryCatch.java:4:14:4:14 | Exceptional Exit |
|
||||
| TestTryCatch.java:35:6:35:31 | catch (...) | TestTryCatch.java:35:30:35:30 | e |
|
||||
| TestTryCatch.java:35:30:35:30 | e | TestTryCatch.java:36:4:40:4 | { ... } |
|
||||
| TestTryCatch.java:36:4:40:4 | { ... } | TestTryCatch.java:37:5:37:14 | var ...; |
|
||||
@@ -114,13 +118,15 @@
|
||||
| TestTryCatch.java:38:24:38:32 | "Error: " | TestTryCatch.java:38:36:38:36 | e |
|
||||
| TestTryCatch.java:38:24:38:36 | ... + ... | TestTryCatch.java:38:5:38:37 | println(...) |
|
||||
| TestTryCatch.java:38:36:38:36 | e | TestTryCatch.java:38:24:38:36 | ... + ... |
|
||||
| TestTryCatch.java:39:5:39:5 | x | TestTryCatch.java:39:9:39:9 | x |
|
||||
| TestTryCatch.java:39:5:39:13 | ...=... | TestTryCatch.java:27:27:27:27 | q |
|
||||
| TestTryCatch.java:39:5:39:14 | <Expr>; | TestTryCatch.java:39:9:39:9 | x |
|
||||
| TestTryCatch.java:39:5:39:14 | <Expr>; | TestTryCatch.java:39:5:39:5 | x |
|
||||
| TestTryCatch.java:39:9:39:9 | x | TestTryCatch.java:39:13:39:13 | 1 |
|
||||
| TestTryCatch.java:39:9:39:13 | ... + ... | TestTryCatch.java:39:5:39:13 | ...=... |
|
||||
| TestTryCatch.java:39:13:39:13 | 1 | TestTryCatch.java:39:9:39:13 | ... + ... |
|
||||
| TestTryCatch.java:42:3:42:3 | z | TestTryCatch.java:42:7:42:7 | z |
|
||||
| TestTryCatch.java:42:3:42:11 | ...=... | TestTryCatch.java:4:14:4:14 | Normal Exit |
|
||||
| TestTryCatch.java:42:3:42:12 | <Expr>; | TestTryCatch.java:42:7:42:7 | z |
|
||||
| TestTryCatch.java:42:3:42:12 | <Expr>; | TestTryCatch.java:42:3:42:3 | z |
|
||||
| TestTryCatch.java:42:7:42:7 | z | TestTryCatch.java:42:11:42:11 | 2 |
|
||||
| TestTryCatch.java:42:7:42:11 | ... + ... | TestTryCatch.java:42:3:42:11 | ...=... |
|
||||
| TestTryCatch.java:42:11:42:11 | 2 | TestTryCatch.java:42:7:42:11 | ... + ... |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
| TestTryWithResources.java:6:14:6:33 | Exceptional Exit | TestTryWithResources.java:6:14:6:33 | Exit |
|
||||
| TestTryWithResources.java:6:14:6:33 | Entry | TestTryWithResources.java:6:14:6:33 | { ... } |
|
||||
| TestTryWithResources.java:6:14:6:33 | Normal Exit | TestTryWithResources.java:6:14:6:33 | Exit |
|
||||
| TestTryWithResources.java:6:14:6:33 | super(...) | TestTryWithResources.java:6:14:6:33 | Normal Exit |
|
||||
| TestTryWithResources.java:6:14:6:33 | { ... } | TestTryWithResources.java:6:14:6:33 | super(...) |
|
||||
| TestTryWithResources.java:7:21:7:24 | Entry | TestTryWithResources.java:7:60:16:2 | { ... } |
|
||||
| TestTryWithResources.java:7:21:7:24 | Exceptional Exit | TestTryWithResources.java:7:21:7:24 | Exit |
|
||||
| TestTryWithResources.java:7:21:7:24 | Normal Exit | TestTryWithResources.java:7:21:7:24 | Exit |
|
||||
| TestTryWithResources.java:7:60:16:2 | { ... } | TestTryWithResources.java:8:3:15:3 | try ... |
|
||||
@@ -10,7 +11,6 @@
|
||||
| TestTryWithResources.java:8:24:8:57 | fis | TestTryWithResources.java:9:4:9:55 | var ...; |
|
||||
| TestTryWithResources.java:8:30:8:57 | new FileInputStream(...) | TestTryWithResources.java:8:24:8:57 | fis |
|
||||
| TestTryWithResources.java:8:30:8:57 | new FileInputStream(...) | TestTryWithResources.java:11:5:11:35 | catch (...) |
|
||||
| TestTryWithResources.java:8:30:8:57 | new FileInputStream(...) | TestTryWithResources.java:13:13:15:3 | { ... } |
|
||||
| TestTryWithResources.java:8:50:8:53 | args | TestTryWithResources.java:8:55:8:55 | 0 |
|
||||
| TestTryWithResources.java:8:50:8:56 | ...[...] | TestTryWithResources.java:8:30:8:57 | new FileInputStream(...) |
|
||||
| TestTryWithResources.java:8:55:8:55 | 0 | TestTryWithResources.java:8:50:8:56 | ...[...] |
|
||||
@@ -18,16 +18,17 @@
|
||||
| TestTryWithResources.java:9:21:9:55 | fos | TestTryWithResources.java:9:58:11:3 | { ... } |
|
||||
| TestTryWithResources.java:9:27:9:55 | new FileOutputStream(...) | TestTryWithResources.java:9:21:9:55 | fos |
|
||||
| TestTryWithResources.java:9:27:9:55 | new FileOutputStream(...) | TestTryWithResources.java:11:5:11:35 | catch (...) |
|
||||
| TestTryWithResources.java:9:27:9:55 | new FileOutputStream(...) | TestTryWithResources.java:13:13:15:3 | { ... } |
|
||||
| TestTryWithResources.java:9:48:9:51 | args | TestTryWithResources.java:9:53:9:53 | 1 |
|
||||
| TestTryWithResources.java:9:48:9:54 | ...[...] | TestTryWithResources.java:9:27:9:55 | new FileOutputStream(...) |
|
||||
| TestTryWithResources.java:9:53:9:53 | 1 | TestTryWithResources.java:9:48:9:54 | ...[...] |
|
||||
| TestTryWithResources.java:9:58:11:3 | { ... } | TestTryWithResources.java:10:4:10:32 | <Expr>; |
|
||||
| TestTryWithResources.java:10:4:10:13 | System.out | TestTryWithResources.java:10:23:10:30 | "worked" |
|
||||
| TestTryWithResources.java:10:4:10:31 | println(...) | TestTryWithResources.java:11:5:11:35 | catch (...) |
|
||||
| TestTryWithResources.java:10:4:10:31 | println(...) | TestTryWithResources.java:13:13:15:3 | { ... } |
|
||||
| TestTryWithResources.java:10:4:10:32 | <Expr>; | TestTryWithResources.java:10:4:10:13 | System.out |
|
||||
| TestTryWithResources.java:10:23:10:30 | "worked" | TestTryWithResources.java:10:4:10:31 | println(...) |
|
||||
| TestTryWithResources.java:11:5:11:35 | catch (...) | TestTryWithResources.java:11:34:11:34 | e |
|
||||
| TestTryWithResources.java:11:5:11:35 | catch (...) | TestTryWithResources.java:13:13:15:3 | { ... } |
|
||||
| TestTryWithResources.java:11:34:11:34 | e | TestTryWithResources.java:11:37:13:3 | { ... } |
|
||||
| TestTryWithResources.java:11:37:13:3 | { ... } | TestTryWithResources.java:12:4:12:40 | <Expr>; |
|
||||
| TestTryWithResources.java:12:4:12:13 | System.out | TestTryWithResources.java:12:23:12:38 | "file not found" |
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import java
|
||||
import utils.test.AstCfg
|
||||
|
||||
from ControlFlowNode n, ControlFlowNode succ
|
||||
where
|
||||
succ = n.getASuccessor() and
|
||||
succ = getAnAstSuccessor(n) and
|
||||
n.getLocation().getFile().getExtension() = "java" and
|
||||
not n.getLocation().getFile().getStem() = "PopulateRuntimeException"
|
||||
select n, succ
|
||||
|
||||
Reference in New Issue
Block a user