69 if os.path.isfile(path):
70 if path.endswith(
"FeatureDetector.java"):
71 for prefix1
in (
"",
"Grid",
"Pyramid",
"Dynamic"):
72 for prefix2
in (
"FAST",
"STAR",
"MSER",
"ORB",
"SIFT",
"SURF",
"GFTT",
"HARRIS",
"SIMPLEBLOB",
"DENSE"):
73 parser.parse_file(path,prefix1+prefix2)
74 elif path.endswith(
"DescriptorExtractor.java"):
75 for prefix1
in (
"",
"Opponent"):
76 for prefix2
in (
"BRIEF",
"ORB",
"SIFT",
"SURF"):
77 parser.parse_file(path,prefix1+prefix2)
78 elif path.endswith(
"GenericDescriptorMatcher.java"):
79 for prefix
in (
"OneWay",
"Fern"):
80 parser.parse_file(path,prefix)
81 elif path.endswith(
"DescriptorMatcher.java"):
82 for prefix
in (
"BruteForce",
"BruteForceHamming",
"BruteForceHammingLUT",
"BruteForceL1",
"FlannBased",
"BruteForceSL2"):
83 parser.parse_file(path,prefix)
85 parser.parse_file(path)
86 elif os.path.isdir(path):
87 for x
in os.listdir(path):
88 self.
parse(path +
"/" + x)
93 istest = fname.endswith(
"Test.java")
94 clsname = os.path.basename(fname).replace(
"Test",
"").replace(
".java",
"")
95 clsname = prefix + clsname[0].upper() + clsname[1:]
96 for cls
in classes_ignore_list:
97 if re.match(cls, clsname):
103 m1 = self.
r1.match(line)
104 m2 = self.
r2.match(line)
105 m3 = self.
r3.match(line)
110 args_str = m1.group(2)
112 if "public" not in line:
115 args_str = m2.group(2)
125 func = re.sub(
r"^test",
"", func)
126 func = clsname +
"--" + func[0].upper() + func[1:]
127 args_str = args_str.replace(
"[]",
"Array").replace(
"...",
"Array ")
128 args_str = re.sub(
r"List<(\w+)>",
"ListOf\g<1>", args_str)
129 args_str = re.sub(
r"List<(\w+)>",
"ListOf\g<1>", args_str)
130 args = [a.split()[0]
for a
in args_str.split(
",")
if a]
131 func_ex = func +
"".join([a[0].upper() + a[1:]
for a
in args])
132 func_loc = fname +
" (line: " + str(linenum) +
")"
134 for fi
in funcs_ignore_list:
135 if re.match(fi, func_ex):
141 d[func].append(func_ex)
144 w[func_ex] = func_loc