Clang Project

clang_source_code/test/Analysis/copypaste/objc-methods.m
1// RUN: %clang_analyze_cc1 -Wno-objc-root-class -analyzer-checker=alpha.clone.CloneChecker -analyzer-config alpha.clone.CloneChecker:MinimumCloneComplexity=10 -verify %s
2
3// This tests if we search for clones in Objective-C methods.
4
5@interface A
6- (int) setOk : (int) a : (int) b;
7@end
8
9@implementation A
10- (int) setOk : (int) a : (int) b {  // expected-warning{{Duplicate code detected}}
11  if (a > b)
12    return a;
13  return b;
14}
15@end
16
17@interface B
18- (int) setOk : (int) a : (int) b;
19@end
20
21@implementation B
22- (int) setOk : (int) a : (int) b { // expected-note{{Similar code here}}
23  if (a > b)
24    return a;
25  return b;
26}
27@end
28