forked from sarnold/cccc
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest1.cc
69 lines (66 loc) · 2.94 KB
/
test1.cc
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
//## test1.cc
//## test case illustrating simple procedural metrics
//## Lines starting //## are ignored by CCCC so they will be used in this
//## file for explanatory comments (as opposed to comments which we wish
//## to count).
//## The file is annotated along the way with comment lines like these
//## scope/comment LOC COM MVG
//## definition of class Test1 (start) 0 0 0
//## running totals 0 0 0
//## definition of class Test1 (end) 0 0 0
//## Note that extents nest, so there is effectively a stack of
//## running totals for each extent open at a particular point in a file
//## definition of class Test1 (start) 0 0 0
// Leading comment for class.
class Test1
{
//## running totals 2 1 0
// Internal comment for class.
// This should not be associated with the following function due to
// the intervening visibility declaration.
//## running totals 2 4 0
public:
//## running totals for definition of class Test1 (push) 3 4 0
//## definition of method Test1::method1 (start) 0 0 0
// Leading comment for inline method
void method1()
{
//## running totals 2 1 0
int s=1;
switch(s)
//## running totals 4 1 1
{
case 1:
break;
//## running totals 7 1 2
case 2:
break;
//## running totals 9 1 3
default:
break;
//## running totals 11 1 4
}
}
//## definition of method Test1::method1 (end) 13 1 4
//## running totals for definition of class Test1 (pop+push) 3 4 0
//## declaration of method Test1::method2 (start) 0 0 0
void method2();
//## declaration of method Test1::method2 (end) 1 0 0
//## running totals for definition of class Test1 (pop) 3 4 0
};
//## definition of class Test1 (end) 4 4 0
//## definition of method Test1::method2 (start) 0 0 0
void Test1::method2()
{
if(1)
{
// do nothing
}
}
//## definition of method Test1::method2 (end) 6 1 1
//## after processing the whole file we expect to find the following
//## extents recognized and mentioned in the .db file
//## definition of class Test1 LOC:4 COM:4 MVG:0
//## definition of method Test1::method1 LOC:13 COM:1 MVG:4
//## declaration of method Test1::method2 LOC:1 COM:0 MVG:0
//## definition of method Test1::method2 LOC:6 COM:1 MVG:1