-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathfield_getters.fir.diag.txt
More file actions
87 lines (75 loc) · 2.5 KB
/
field_getters.fir.diag.txt
File metadata and controls
87 lines (75 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/field_getters.kt:(70,94): info: Generated Viper text for testPrimitiveFieldGetter:
field bf$a: Ref
field bf$b: Ref
method f$testPrimitiveFieldGetter$TF$T$PrimitiveFields$T$Unit(p$pf: Ref)
returns (ret$0: Ref)
requires df$rt$isSubtype(df$rt$typeOf(p$pf), df$rt$c$PrimitiveFields())
requires acc(p$c$PrimitiveFields$shared(p$pf), wildcard)
ensures df$rt$isSubtype(df$rt$typeOf(ret$0), df$rt$unitType())
{
var l0$a: Ref
var l0$b: Ref
unfold acc(p$c$PrimitiveFields$shared(p$pf), wildcard)
l0$a := p$pf.bf$a
l0$b := havoc$T$Int()
label lbl$ret$0
inhale df$rt$isSubtype(df$rt$typeOf(ret$0), df$rt$unitType())
}
/field_getters.kt:(230,254): info: Generated Viper text for testReferenceFieldGetter:
field bf$a: Ref
field bf$b: Ref
field bf$f: Ref
field bf$g: Ref
method f$testReferenceFieldGetter$TF$T$ReferenceFields$T$Unit(p$rf: Ref)
returns (ret$0: Ref)
requires df$rt$isSubtype(df$rt$typeOf(p$rf), df$rt$c$ReferenceFields())
requires acc(p$c$ReferenceFields$shared(p$rf), wildcard)
ensures df$rt$isSubtype(df$rt$typeOf(ret$0), df$rt$unitType())
{
var l0$f: Ref
var l0$g: Ref
var l0$fa: Ref
var l0$fb: Ref
var l0$ga: Ref
var l0$gb: Ref
unfold acc(p$c$ReferenceFields$shared(p$rf), wildcard)
l0$f := p$rf.bf$f
l0$g := havoc$T$PrimitiveFields()
unfold acc(p$c$PrimitiveFields$shared(l0$f), wildcard)
l0$fa := l0$f.bf$a
l0$fb := havoc$T$Int()
unfold acc(p$c$PrimitiveFields$shared(l0$g), wildcard)
l0$ga := l0$g.bf$a
l0$gb := havoc$T$Int()
label lbl$ret$0
inhale df$rt$isSubtype(df$rt$typeOf(ret$0), df$rt$unitType())
}
/field_getters.kt:(387,411): info: Generated Viper text for testCascadingFieldGetter:
field bf$a: Ref
field bf$b: Ref
field bf$f: Ref
field bf$g: Ref
method f$testCascadingFieldGetter$TF$T$ReferenceFields$T$Unit(p$rf: Ref)
returns (ret$0: Ref)
requires df$rt$isSubtype(df$rt$typeOf(p$rf), df$rt$c$ReferenceFields())
requires acc(p$c$ReferenceFields$shared(p$rf), wildcard)
ensures df$rt$isSubtype(df$rt$typeOf(ret$0), df$rt$unitType())
{
var l0$fa: Ref
var anon$0: Ref
var l0$fb: Ref
var l0$ga: Ref
var anon$1: Ref
var l0$gb: Ref
unfold acc(p$c$ReferenceFields$shared(p$rf), wildcard)
anon$0 := p$rf.bf$f
unfold acc(p$c$PrimitiveFields$shared(anon$0), wildcard)
l0$fa := anon$0.bf$a
l0$fb := havoc$T$Int()
anon$1 := havoc$T$PrimitiveFields()
unfold acc(p$c$PrimitiveFields$shared(anon$1), wildcard)
l0$ga := anon$1.bf$a
l0$gb := havoc$T$Int()
label lbl$ret$0
inhale df$rt$isSubtype(df$rt$typeOf(ret$0), df$rt$unitType())
}