class AdLint::Cc1::ScanfFormat::Directive
DESCRIPTION¶ ↑
Directive
class hierarchy¶ ↑
Directive <-- Whitespace <-- Ordinary <-- ConversionSpecifier <-- CompleteConversionSpecifier <-- Conversion_d <-- Conversion_i <-- Conversion_o <-- Conversion_u <-- Conversion_x <-- Conversion_X <-- Conversion_a <-- Conversion_A <-- Conversion_e <-- Conversion_E <-- Conversion_f <-- Conversion_F <-- Conversion_g <-- Conversion_G <-- Conversion_c <-- Conversion_s <-- Conversion_bracket <-- Conversion_p <-- Conversion_n <-- Conversion_percent <-- UndefinedConversionSpecifier <-- IncompleteConversionSpecifier
Attributes
format[R]
Public Class Methods
guess(fmt_str, trailing_args, env)
click to toggle source
# File lib/adlint/cc1/format.rb, line 1764 def self.guess(fmt_str, trailing_args, env) try_to_create_whitespace(fmt_str) or try_to_create_ordinary(fmt_str) or try_to_create_conversion_specifier(fmt_str, trailing_args, env) end
new(fmt)
click to toggle source
# File lib/adlint/cc1/format.rb, line 1770 def initialize(fmt) @format = fmt end
Private Class Methods
try_to_create_conversion_specifier(fmt_str, trailing_args, env)
click to toggle source
# File lib/adlint/cc1/format.rb, line 1877 def self.try_to_create_conversion_specifier(fmt_str, trailing_args, env) fmt, as_char, field_width, len_mod, cs_char, scanset = ConversionSpecifier.scan(fmt_str) case when cs_char.nil? IncompleteConversionSpecifier.new(fmt, as_char, field_width, len_mod, nil) when cs_char == "[" && scanset.nil? IncompleteConversionSpecifier.new(fmt, as_char, field_width, len_mod, cs_char) when cs_class = CONVERSION_SPECIFIER_TBL[cs_char] cs_class.new(fmt, trailing_args, env, as_char, field_width, len_mod, cs_char, scanset) else UndefinedConversionSpecifier.new(fmt, as_char, field_width, len_mod, cs_char) end end
try_to_create_ordinary(fmt_str)
click to toggle source
# File lib/adlint/cc1/format.rb, line 1872 def self.try_to_create_ordinary(fmt_str) (fmt = Ordinary.scan(fmt_str)) ? Ordinary.new(fmt) : nil end
try_to_create_whitespace(fmt_str)
click to toggle source
# File lib/adlint/cc1/format.rb, line 1867 def self.try_to_create_whitespace(fmt_str) (fmt = Whitespace.scan(fmt_str)) ? Whitespace.new(fmt) : nil end
Public Instance Methods
acceptable?()
click to toggle source
assignment_suppressing_character()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1847 def assignment_suppressing_character subclass_responsibility end
complete?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1815 def complete? subclass_responsibility end
consume_arguments?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1788 def consume_arguments? subclass_responsibility end
conversion_specifier?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1784 def conversion_specifier? subclass_responsibility end
conversion_specifier_character()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1859 def conversion_specifier_character subclass_responsibility end
field_width()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1851 def field_width subclass_responsibility end
illformed?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1811 def illformed? !wellformed? end
incomplete?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1819 def incomplete? !complete? end
length_modifier()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1855 def length_modifier subclass_responsibility end
ordinary?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1780 def ordinary? subclass_responsibility end
scanset()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1863 def scanset subclass_responsibility end
undefined?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1823 def undefined? subclass_responsibility end
valid_assignment_suppressing_character?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1827 def valid_assignment_suppressing_character? subclass_responsibility end
valid_conversion_specifier_character?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1839 def valid_conversion_specifier_character? subclass_responsibility end
valid_field_width?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1831 def valid_field_width? subclass_responsibility end
valid_length_modifier?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1835 def valid_length_modifier? subclass_responsibility end
valid_scanset?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1843 def valid_scanset? subclass_responsibility end
wellformed?()
click to toggle source
whitespace?()
click to toggle source
# File lib/adlint/cc1/format.rb, line 1776 def whitespace? subclass_responsibility end