class AdLint::MessageSuppressionSpecifier
Public Class Methods
new(loc, msg_id_ary)
click to toggle source
Calls superclass method
AdLint::Annotation::new
# File lib/adlint/annot.rb, line 52 def initialize(loc, msg_id_ary) super(loc) @message_ids = msg_id_ary.to_set end
Public Instance Methods
create_suppressor()
click to toggle source
# File lib/adlint/annot.rb, line 69 def create_suppressor subclass_responsibility end
file_wise?()
click to toggle source
# File lib/adlint/annot.rb, line 61 def file_wise? subclass_responsibility end
line_wise?()
click to toggle source
# File lib/adlint/annot.rb, line 65 def line_wise? subclass_responsibility end
message_suppression_specifier?()
click to toggle source
# File lib/adlint/annot.rb, line 57 def message_suppression_specifier? true end
Private Instance Methods
parse_message_name_list(msg_names)
click to toggle source
# File lib/adlint/annot.rb, line 98 def parse_message_name_list(msg_names) msg_names.slice(/\[(.*)\]/m, 1).split(",").map do |msg_name_str| msg_name_str.strip.to_sym end end
parse_message_specifiers(trailer)
click to toggle source
# File lib/adlint/annot.rb, line 74 def parse_message_specifiers(trailer) msg_specs = [] scanner = StringScanner.new(trailer) loop do case when scanned = scanner.scan(/:[a-z][a-z_0-9]*:\[.*?\]/m) *, pkg_name, msg_names = scanned.split(":") msg_specs.concat(parse_message_name_list(msg_names).map { |msg_name| MessageId.new(pkg_name, msg_name) }) when scanned = scanner.scan(/:\[.*?\]/m) *, msg_names = scanned.split(":") msg_specs.concat(parse_message_name_list(msg_names).map { |msg_name| MessageId.new(nil, msg_name) }) else break end end msg_specs end