|
@@ -56,15 +56,19 @@ else
|
|
module Internal
|
|
module Internal
|
|
def self.infer_package(names)
|
|
def self.infer_package(names)
|
|
# Package is longest common prefix ending in '.', if any.
|
|
# Package is longest common prefix ending in '.', if any.
|
|
- min, max = names.minmax
|
|
|
|
- last_common_dot = nil
|
|
|
|
- min.size.times { |i|
|
|
|
|
- if min[i] != max[i] then break end
|
|
|
|
- if min[i] == ?. then last_common_dot = i end
|
|
|
|
- }
|
|
|
|
- if last_common_dot
|
|
|
|
- return min.slice(0, last_common_dot)
|
|
|
|
|
|
+ if not names.empty?
|
|
|
|
+ min, max = names.minmax
|
|
|
|
+ last_common_dot = nil
|
|
|
|
+ min.size.times { |i|
|
|
|
|
+ if min[i] != max[i] then break end
|
|
|
|
+ if min[i] == ?. then last_common_dot = i end
|
|
|
|
+ }
|
|
|
|
+ if last_common_dot
|
|
|
|
+ return min.slice(0, last_common_dot)
|
|
|
|
+ end
|
|
end
|
|
end
|
|
|
|
+
|
|
|
|
+ nil
|
|
end
|
|
end
|
|
|
|
|
|
class NestingBuilder
|
|
class NestingBuilder
|