-
Notifications
You must be signed in to change notification settings - Fork 191
/
Copy pathone_line_annotation.rb
59 lines (52 loc) · 1.44 KB
/
one_line_annotation.rb
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
# Delete all new lines from annotations so they can be formatted
# properly by the eclipse code formatter
root = File.expand_path File.join __dir__, "..", ".."
def braces(line)
line.scan('(').size - line.scan(')').size
end
Dir.glob(File.join(root, "src", "**", "*.java")) do |file|
# print file
# print ' '
content = File.read file
new_content = ""
looking = false
braces = 0
content.lines.each do |line|
if looking
if braces == 0
if line =~ /\w+(\[\])? \w+\(/
new_line = line.gsub(/^( *)(public |protected |private |)/, '\1protected ')
# p check: line, new_line: new_line unless line =~ /^( *)(public|protected|private)/
# p edit: line, new_line: new_line
new_content << new_line
looking = false
else
p skip: line
new_content << line
end
else
braces += braces(line)
# p specialization: line, braces: braces
new_content << line.chomp << " "
end
else
looking = line.match?(/^ *@(Specialization|Fallback|CreateCast|ExportMessage)/)
new_content << (looking ? (line.chomp + " ") : line)
if looking
braces = braces(line)
# p specialization: line, braces: braces
else
# p ignored: line
end
end
end
if content != new_content
# puts 'updates'
puts file
# puts new_content
# break
File.write file, new_content
else
# puts
end
end