diff options
author | Björn Gustavsson <[email protected]> | 2015-02-03 13:38:54 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-02-12 13:14:37 +0100 |
commit | 0910d13d2077af731a5e1eeed4ac3c11da8a329b (patch) | |
tree | 7756db77539b28c1bdf174b42a20c26cca6cb7f1 /lib/compiler/test | |
parent | a13841ec7ef3365b5d263afd1c4398952a6844a1 (diff) | |
download | otp-0910d13d2077af731a5e1eeed4ac3c11da8a329b.tar.gz otp-0910d13d2077af731a5e1eeed4ac3c11da8a329b.tar.bz2 otp-0910d13d2077af731a5e1eeed4ac3c11da8a329b.zip |
sys_core_fold: Refactor type information access
Introduce access functions to hide the low-level details of how
type information is implemented.
Diffstat (limited to 'lib/compiler/test')
-rw-r--r-- | lib/compiler/test/andor_SUITE.erl | 8 | ||||
-rw-r--r-- | lib/compiler/test/core_fold_SUITE.erl | 6 | ||||
-rw-r--r-- | lib/compiler/test/record_SUITE.erl | 8 |
3 files changed, 21 insertions, 1 deletions
diff --git a/lib/compiler/test/andor_SUITE.erl b/lib/compiler/test/andor_SUITE.erl index 22aa19522d..3199440d84 100644 --- a/lib/compiler/test/andor_SUITE.erl +++ b/lib/compiler/test/andor_SUITE.erl @@ -173,7 +173,13 @@ t_and_or(Config) when is_list(Config) -> true = (fun (X = true) when X or true or X -> true end)(True), - ok. + Tuple = id({a,b}), + case Tuple of + {_,_} -> + {'EXIT',{badarg,_}} = (catch true and Tuple) + end, + + ok. t_andalso(Config) when is_list(Config) -> Bs = [true,false], diff --git a/lib/compiler/test/core_fold_SUITE.erl b/lib/compiler/test/core_fold_SUITE.erl index 40a5ba2b17..a52610497f 100644 --- a/lib/compiler/test/core_fold_SUITE.erl +++ b/lib/compiler/test/core_fold_SUITE.erl @@ -280,6 +280,12 @@ coverage(Config) when is_list(Config) -> error = bsm_an_inlined(<<1,2,3>>, Config), error = bsm_an_inlined([], Config), + %% Cover eval_rel_op/4. + Tuple = id({a,b}), + false = case Tuple of + {_,_} -> + Tuple =:= true + end, ok. cover_will_match_list_type(A) -> diff --git a/lib/compiler/test/record_SUITE.erl b/lib/compiler/test/record_SUITE.erl index f736e14bf6..8cc90026ec 100644 --- a/lib/compiler/test/record_SUITE.erl +++ b/lib/compiler/test/record_SUITE.erl @@ -246,6 +246,14 @@ record_test_2(Config) when is_list(Config) -> ?line Barf = update_barf(Barf0), ?line #barf{a="abc",b=1} = id(Barf), + %% Test optimization of is_record/3. + false = case id({a,b}) of + {_,_}=Tuple -> is_record(Tuple, foo) + end, + false = case id(true) of + true=Bool -> is_record(Bool, foo) + end, + ok. record_test_3(Config) when is_list(Config) -> |