diff options
Diffstat (limited to 'ruby_1_8_6/lib/xsd/codegen/gensupport.rb')
-rw-r--r-- | ruby_1_8_6/lib/xsd/codegen/gensupport.rb | 166 |
1 files changed, 0 insertions, 166 deletions
diff --git a/ruby_1_8_6/lib/xsd/codegen/gensupport.rb b/ruby_1_8_6/lib/xsd/codegen/gensupport.rb deleted file mode 100644 index 1e85d3668f..0000000000 --- a/ruby_1_8_6/lib/xsd/codegen/gensupport.rb +++ /dev/null @@ -1,166 +0,0 @@ -# XSD4R - Code generation support -# Copyright (C) 2004, 2005 NAKAMURA, Hiroshi <nahi@ruby-lang.org>. - -# This program is copyrighted free software by NAKAMURA, Hiroshi. You can -# redistribute it and/or modify it under the same terms of Ruby's license; -# either the dual license version in 2003, or any later version. - - -module XSD -module CodeGen - -# from the file 'keywords' in 1.9. -KEYWORD = {} -%w( -__LINE__ -__FILE__ -BEGIN -END -alias -and -begin -break -case -class -def -defined? -do -else -elsif -end -ensure -false -for -if -in -module -next -nil -not -or -redo -rescue -retry -return -self -super -then -true -undef -unless -until -when -while -yield -).each { |k| KEYWORD[k] = nil } - -module GenSupport - def capitalize(target) - target.sub(/^([a-z])/) { $1.tr!('[a-z]', '[A-Z]') } - end - module_function :capitalize - - def uncapitalize(target) - target.sub(/^([A-Z])/) { $1.tr!('[A-Z]', '[a-z]') } - end - module_function :uncapitalize - - def safeconstname(name) - safename = name.scan(/[a-zA-Z0-9_]+/).collect { |ele| - GenSupport.capitalize(ele) - }.join - if /^[A-Z]/ !~ safename or keyword?(safename) - safename = "C_#{safename}" - end - safename - end - module_function :safeconstname - - def safeconstname?(name) - /\A[A-Z][a-zA-Z0-9_]*\z/ =~ name and !keyword?(name) - end - module_function :safeconstname? - - def safemethodname(name) - safename = name.scan(/[a-zA-Z0-9_]+/).join('_') - safename = uncapitalize(safename) - if /^[a-z]/ !~ safename - safename = "m_#{safename}" - end - safename - end - module_function :safemethodname - - def safemethodname?(name) - /\A[a-zA-Z_][a-zA-Z0-9_]*[=!?]?\z/ =~ name - end - module_function :safemethodname? - - def safevarname(name) - safename = uncapitalize(name.scan(/[a-zA-Z0-9_]+/).join('_')) - if /^[a-z]/ !~ safename or keyword?(safename) - "v_#{safename}" - else - safename - end - end - module_function :safevarname - - def safevarname?(name) - /\A[a-z_][a-zA-Z0-9_]*\z/ =~ name and !keyword?(name) - end - module_function :safevarname? - - def keyword?(word) - KEYWORD.key?(word) - end - module_function :keyword? - - def format(str, indent = nil) - str = trim_eol(str) - str = trim_indent(str) - if indent - str.gsub(/^/, " " * indent) - else - str - end - end - -private - - def trim_eol(str) - str.collect { |line| - line.sub(/\r?\n\z/, "") + "\n" - }.join - end - - def trim_indent(str) - indent = nil - str = str.collect { |line| untab(line) }.join - str.each do |line| - head = line.index(/\S/) - if !head.nil? and (indent.nil? or head < indent) - indent = head - end - end - return str unless indent - str.collect { |line| - line.sub(/^ {0,#{indent}}/, "") - }.join - end - - def untab(line, ts = 8) - while pos = line.index(/\t/) - line = line.sub(/\t/, " " * (ts - (pos % ts))) - end - line - end - - def dump_emptyline - "\n" - end -end - - -end -end |