1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* lib/pp.rb: Use frozen_string_literal: true.

* lib/prettyprint.rb: Ditto.

* lib/resolv.rb: Ditto.

* lib/tmpdir.rb: Ditto.

* test/test_pp.rb: Ditto.

* test/test_prettyprint.rb: Ditto.

* tool/transcode-tblgen.rb: Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2015-10-05 13:27:48 +00:00
parent fab171e541
commit 805c20a8e5
8 changed files with 73 additions and 44 deletions

View file

@ -1,3 +1,19 @@
Mon Oct 5 22:25:49 2015 Tanaka Akira <akr@fsij.org>
* lib/pp.rb: Use frozen_string_literal: true.
* lib/prettyprint.rb: Ditto.
* lib/resolv.rb: Ditto.
* lib/tmpdir.rb: Ditto.
* test/test_pp.rb: Ditto.
* test/test_prettyprint.rb: Ditto.
* tool/transcode-tblgen.rb: Ditto.
Mon Oct 5 20:39:32 2015 Benoit Daloze <eregontp@gmail.com>
* test/ruby/test_thread.rb: fix potential race condition.

View file

@ -1,3 +1,5 @@
# -*- frozen_string_literal: true -*-
require 'prettyprint'
module Kernel
@ -9,7 +11,7 @@ module Kernel
#
# See the PP module for more information.
def pretty_inspect
PP.pp(self, '')
PP.pp(self, ''.dup)
end
private
@ -347,7 +349,7 @@ class PP < PrettyPrint
if /\(PP::ObjectMixin\)#/ =~ Object.instance_method(:method).bind(self).call(:pretty_print).inspect
raise "pretty_print is not overridden for #{self.class}"
end
PP.singleline_pp(self, '')
PP.singleline_pp(self, ''.dup)
end
end
end

View file

@ -1,3 +1,5 @@
# -*- frozen_string_literal: true -*-
#
# This class implements a pretty printing algorithm. It finds line breaks and
# nice indentations for grouped structure.
#
@ -40,7 +42,7 @@ class PrettyPrint
# output
# end
#
def PrettyPrint.format(output='', maxwidth=79, newline="\n", genspace=lambda {|n| ' ' * n})
def PrettyPrint.format(output=''.dup, maxwidth=79, newline="\n", genspace=lambda {|n| ' ' * n})
q = PrettyPrint.new(output, maxwidth, newline, &genspace)
yield q
q.flush
@ -54,7 +56,7 @@ class PrettyPrint
# The invocation of +breakable+ in the block doesn't break a line and is
# treated as just an invocation of +text+.
#
def PrettyPrint.singleline_format(output='', maxwidth=nil, newline=nil, genspace=nil)
def PrettyPrint.singleline_format(output=''.dup, maxwidth=nil, newline=nil, genspace=nil)
q = SingleLine.new(output)
yield q
output
@ -77,7 +79,7 @@ class PrettyPrint
# The block is used to generate spaces. {|width| ' ' * width} is used if it
# is not given.
#
def initialize(output='', maxwidth=79, newline="\n", &genspace)
def initialize(output=''.dup, maxwidth=79, newline="\n", &genspace)
@output = output
@maxwidth = maxwidth
@newline = newline

View file

@ -1,3 +1,5 @@
# -*- frozen_string_literal: true -*-
require 'socket'
require 'timeout'
require 'thread'
@ -1426,7 +1428,7 @@ class Resolv
class MessageEncoder # :nodoc:
def initialize
@data = ''
@data = ''.dup
@names = {}
yield self
end

View file

@ -1,3 +1,4 @@
# -*- frozen_string_literal: true -*-
#
# tmpdir - retrieve temporary directory path
#
@ -111,7 +112,7 @@ class Dir
suffix &&= (String.try_convert(suffix) or
raise ArgumentError, "unexpected suffix: #{suffix.inspect}")
t = Time.now.strftime("%Y%m%d")
path = "#{prefix}#{t}-#{$$}-#{rand(0x100000000).to_s(36)}"
path = "#{prefix}#{t}-#{$$}-#{rand(0x100000000).to_s(36)}".dup
path << "-#{n}" if n
path << suffix if suffix
path

View file

@ -1,3 +1,5 @@
# -*- frozen_string_literal: true -*-
require 'pp'
require 'delegate'
require 'test/unit'
@ -6,24 +8,24 @@ module PPTestModule
class PPTest < Test::Unit::TestCase
def test_list0123_12
assert_equal("[0, 1, 2, 3]\n", PP.pp([0,1,2,3], '', 12))
assert_equal("[0, 1, 2, 3]\n", PP.pp([0,1,2,3], ''.dup, 12))
end
def test_list0123_11
assert_equal("[0,\n 1,\n 2,\n 3]\n", PP.pp([0,1,2,3], '', 11))
assert_equal("[0,\n 1,\n 2,\n 3]\n", PP.pp([0,1,2,3], ''.dup, 11))
end
OverriddenStruct = Struct.new("OverriddenStruct", :members, :class)
def test_struct_override_members # [ruby-core:7865]
a = OverriddenStruct.new(1,2)
assert_equal("#<struct Struct::OverriddenStruct members=1, class=2>\n", PP.pp(a, ''))
assert_equal("#<struct Struct::OverriddenStruct members=1, class=2>\n", PP.pp(a, ''.dup))
end
def test_redefined_method
o = ""
o = "".dup
def o.method
end
assert_equal(%(""\n), PP.pp(o, ""))
assert_equal(%(""\n), PP.pp(o, "".dup))
end
end
@ -76,17 +78,17 @@ end
class PPInspectTest < Test::Unit::TestCase
def test_hasinspect
a = HasInspect.new(1)
assert_equal("<inspect:1>\n", PP.pp(a, ''))
assert_equal("<inspect:1>\n", PP.pp(a, ''.dup))
end
def test_hasprettyprint
a = HasPrettyPrint.new(1)
assert_equal("<pretty_print:1>\n", PP.pp(a, ''))
assert_equal("<pretty_print:1>\n", PP.pp(a, ''.dup))
end
def test_hasboth
a = HasBoth.new(1)
assert_equal("<pretty_print:1>\n", PP.pp(a, ''))
assert_equal("<pretty_print:1>\n", PP.pp(a, ''.dup))
end
def test_pretty_print_inspect
@ -98,21 +100,21 @@ class PPInspectTest < Test::Unit::TestCase
def test_proc
a = proc {1}
assert_equal("#{a.inspect}\n", PP.pp(a, ''))
assert_equal("#{a.inspect}\n", PP.pp(a, ''.dup))
end
def test_to_s_with_iv
a = Object.new
def a.to_s() "aaa" end
a.instance_eval { @a = nil }
result = PP.pp(a, '')
result = PP.pp(a, ''.dup)
assert_equal("#{a.inspect}\n", result)
end
def test_to_s_without_iv
a = Object.new
def a.to_s() "aaa" end
result = PP.pp(a, '')
result = PP.pp(a, ''.dup)
assert_equal("#{a.inspect}\n", result)
end
end
@ -121,48 +123,48 @@ class PPCycleTest < Test::Unit::TestCase
def test_array
a = []
a << a
assert_equal("[[...]]\n", PP.pp(a, ''))
assert_equal("#{a.inspect}\n", PP.pp(a, ''))
assert_equal("[[...]]\n", PP.pp(a, ''.dup))
assert_equal("#{a.inspect}\n", PP.pp(a, ''.dup))
end
def test_hash
a = {}
a[0] = a
assert_equal("{0=>{...}}\n", PP.pp(a, ''))
assert_equal("#{a.inspect}\n", PP.pp(a, ''))
assert_equal("{0=>{...}}\n", PP.pp(a, ''.dup))
assert_equal("#{a.inspect}\n", PP.pp(a, ''.dup))
end
S = Struct.new("S", :a, :b)
def test_struct
a = S.new(1,2)
a.b = a
assert_equal("#<struct Struct::S a=1, b=#<struct Struct::S:...>>\n", PP.pp(a, ''))
assert_equal("#{a.inspect}\n", PP.pp(a, ''))
assert_equal("#<struct Struct::S a=1, b=#<struct Struct::S:...>>\n", PP.pp(a, ''.dup))
assert_equal("#{a.inspect}\n", PP.pp(a, ''.dup))
end
def test_object
a = Object.new
a.instance_eval {@a = a}
assert_equal(a.inspect + "\n", PP.pp(a, ''))
assert_equal(a.inspect + "\n", PP.pp(a, ''.dup))
end
def test_anonymous
a = Class.new.new
assert_equal(a.inspect + "\n", PP.pp(a, ''))
assert_equal(a.inspect + "\n", PP.pp(a, ''.dup))
end
def test_withinspect
a = []
a << HasInspect.new(a)
assert_equal("[<inspect:[...]>]\n", PP.pp(a, ''))
assert_equal("#{a.inspect}\n", PP.pp(a, ''))
assert_equal("[<inspect:[...]>]\n", PP.pp(a, ''.dup))
assert_equal("#{a.inspect}\n", PP.pp(a, ''.dup))
end
def test_share_nil
begin
PP.sharing_detection = true
a = [nil, nil]
assert_equal("[nil, nil]\n", PP.pp(a, ''))
assert_equal("[nil, nil]\n", PP.pp(a, ''.dup))
ensure
PP.sharing_detection = false
end
@ -171,8 +173,8 @@ end
class PPSingleLineTest < Test::Unit::TestCase
def test_hash
assert_equal("{1=>1}", PP.singleline_pp({ 1 => 1}, '')) # [ruby-core:02699]
assert_equal("[1#{', 1'*99}]", PP.singleline_pp([1]*100, ''))
assert_equal("{1=>1}", PP.singleline_pp({ 1 => 1}, ''.dup)) # [ruby-core:02699]
assert_equal("[1#{', 1'*99}]", PP.singleline_pp([1]*100, ''.dup))
end
end

View file

@ -1,3 +1,5 @@
# -*- frozen_string_literal: true -*-
require 'prettyprint'
require 'test/unit'
@ -14,7 +16,7 @@ class WadlerExample < Test::Unit::TestCase # :nodoc:
end
def hello(width)
PrettyPrint.format('', width) {|hello|
PrettyPrint.format(''.dup, width) {|hello|
hello.group {
hello.group {
hello.group {
@ -81,7 +83,7 @@ End
end
def tree(width)
PrettyPrint.format('', width) {|q| @tree.show(q)}
PrettyPrint.format(''.dup, width) {|q| @tree.show(q)}
end
def test_tree_00_19
@ -126,7 +128,7 @@ End
end
def tree_alt(width)
PrettyPrint.format('', width) {|q| @tree.altshow(q)}
PrettyPrint.format(''.dup, width) {|q| @tree.altshow(q)}
end
def test_tree_alt_00_18
@ -242,7 +244,7 @@ end
class StrictPrettyExample < Test::Unit::TestCase # :nodoc:
def prog(width)
PrettyPrint.format('', width) {|q|
PrettyPrint.format(''.dup, width) {|q|
q.group {
q.group {q.nest(2) {
q.text "if"; q.breakable;
@ -387,7 +389,7 @@ end
class TailGroup < Test::Unit::TestCase # :nodoc:
def test_1
out = PrettyPrint.format('', 10) {|q|
out = PrettyPrint.format(''.dup, 10) {|q|
q.group {
q.group {
q.text "abc"
@ -426,7 +428,7 @@ end
class Fill < Test::Unit::TestCase # :nodoc:
def format(width)
PrettyPrint.format('', width) {|q|
PrettyPrint.format(''.dup, width) {|q|
q.group {
q.text 'abc'
q.fill_breakable

View file

@ -1,3 +1,5 @@
# -*- frozen_string_literal: true -*-
require 'optparse'
require 'erb'
require 'fileutils'
@ -53,7 +55,7 @@ class ArrayCode
@type = type
@name = name
@len = 0;
@content = ''
@content = ''.dup
end
def length
@ -517,7 +519,7 @@ class ActionMap
infos = infos.map {|info| generate_info(info) }
maxlen = infos.map {|info| info.length }.max
columns = maxlen <= 16 ? 4 : 2
code = ""
code = "".dup
0.step(infos.length-1, columns) {|i|
code << " "
is = infos[i,columns]
@ -817,7 +819,7 @@ def transcode_compile_tree(name, from, map, valid_encoding)
end
TRANSCODERS = []
TRANSCODE_GENERATED_TRANSCODER_CODE = ''
TRANSCODE_GENERATED_TRANSCODER_CODE = ''.dup
def transcode_tbl_only(from, to, map, valid_encoding=UnspecifiedValidEncoding)
if VERBOSE_MODE
@ -881,7 +883,7 @@ def transcode_generated_code
end
def transcode_register_code
code = ''
code = ''.dup
TRANSCODERS.each {|transcoder_name|
code << " rb_register_transcoder(&#{transcoder_name});\n"
}
@ -1006,7 +1008,7 @@ if __FILE__ == $0
this_script = File.read(__FILE__)
this_script.force_encoding("ascii-8bit") if this_script.respond_to? :force_encoding
base_signature = "/* autogenerated. */\n"
base_signature = "/* autogenerated. */\n".dup
base_signature << "/* #{make_signature(File.basename(__FILE__), this_script)} */\n"
base_signature << "/* #{make_signature(File.basename(arg), src)} */\n"
@ -1044,7 +1046,7 @@ if __FILE__ == $0
libs2 = $".dup
libs = libs2 - libs1
lib_sigs = ''
lib_sigs = ''.dup
libs.each {|lib|
lib = File.basename(lib)
path = File.join($srcdir, lib)
@ -1053,7 +1055,7 @@ if __FILE__ == $0
end
}
result = ''
result = ''.dup
result << base_signature
result << lib_sigs
result << "\n"