squash_java 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/lib/squash/java/namespace.rb +17 -18
- metadata +22 -22
@@ -221,7 +221,7 @@ class Squash::Java::Namespace
|
|
221
221
|
|
222
222
|
def method(klass, name)
|
223
223
|
matches = name.match(METHOD_REGEX) or raise "Invalid method name #{name.inspect}"
|
224
|
-
return_type =
|
224
|
+
return_type = argument(matches[1])
|
225
225
|
method_name = matches[2]
|
226
226
|
args = matches[3].split(/,\s*/).map { |arg| argument(arg) }
|
227
227
|
args = [] if matches[3].empty?
|
@@ -259,9 +259,9 @@ class Squash::Java::Namespace
|
|
259
259
|
# {Squash::Java::Method Method}.
|
260
260
|
|
261
261
|
def argument(type_descriptor)
|
262
|
-
|
263
|
-
type_name
|
264
|
-
Squash::Java::Argument.new type(type_name),
|
262
|
+
dimensionality = type_descriptor.scan(/\[\]/).size
|
263
|
+
type_name = type_descriptor.gsub(/\[\]/, '')
|
264
|
+
Squash::Java::Argument.new type(type_name), dimensionality
|
265
265
|
end
|
266
266
|
|
267
267
|
# Creates a new Argument for a given type descriptor, which can be fully or
|
@@ -276,11 +276,11 @@ class Squash::Java::Namespace
|
|
276
276
|
# {Squash::Java::Method Method}, or `nil` if the type is not recognized.
|
277
277
|
|
278
278
|
def obfuscated_argument(type_descriptor)
|
279
|
-
|
280
|
-
type_name
|
281
|
-
type
|
279
|
+
dimensionality = type_descriptor.scan(/\[\]/).size
|
280
|
+
type_name = type_descriptor.gsub(/\[\]/, '')
|
281
|
+
type = obfuscated_type(type_name)
|
282
282
|
return nil unless type
|
283
|
-
Squash::Java::Argument.new type,
|
283
|
+
Squash::Java::Argument.new type, dimensionality
|
284
284
|
end
|
285
285
|
end
|
286
286
|
|
@@ -510,7 +510,7 @@ class Squash::Java::Method
|
|
510
510
|
|
511
511
|
def full_name
|
512
512
|
args = arguments.map { |type| type.to_s }.join(', ')
|
513
|
-
"#{return_type.
|
513
|
+
"#{return_type.to_s} #{name}(#{args})"
|
514
514
|
end
|
515
515
|
|
516
516
|
# @private
|
@@ -524,26 +524,25 @@ class Squash::Java::Argument
|
|
524
524
|
# @return [Squash::Java::Type] The argument type.
|
525
525
|
attr_reader :type
|
526
526
|
|
527
|
-
# @return [
|
528
|
-
#
|
529
|
-
attr_reader :
|
530
|
-
alias array? array
|
527
|
+
# @return [Fixnum] The number of dimensions for vector values. A type of
|
528
|
+
# `int[][]` has a dimensionality of 2. Scalars have a dimensionality of 0.
|
529
|
+
attr_reader :dimensionality
|
531
530
|
|
532
531
|
# @private
|
533
|
-
def initialize(type,
|
534
|
-
@type
|
535
|
-
@
|
532
|
+
def initialize(type, dimensionality=0)
|
533
|
+
@type = type
|
534
|
+
@dimensionality = dimensionality
|
536
535
|
end
|
537
536
|
|
538
537
|
# @private
|
539
538
|
def ==(other)
|
540
539
|
other.kind_of?(Squash::Java::Argument) &&
|
541
540
|
type == other.type &&
|
542
|
-
|
541
|
+
dimensionality == other.dimensionality
|
543
542
|
end
|
544
543
|
|
545
544
|
# @return [String] The type's full name, with "[]" appended for arrays.
|
546
|
-
def to_s() "#{type.full_name}#{'[]'
|
545
|
+
def to_s() "#{type.full_name}#{'[]'*dimensionality}" end
|
547
546
|
|
548
547
|
# @private
|
549
548
|
def inspect() "#<#{self.class} #{to_s}>" end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: squash_java
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 21
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 1.0.
|
9
|
+
- 1
|
10
|
+
version: 1.0.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Tim Morgan
|
@@ -15,10 +15,9 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date:
|
18
|
+
date: 2013-01-03 00:00:00 Z
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
21
|
-
prerelease: false
|
22
21
|
requirement: &id001 !ruby/object:Gem::Requirement
|
23
22
|
none: false
|
24
23
|
requirements:
|
@@ -28,11 +27,11 @@ dependencies:
|
|
28
27
|
segments:
|
29
28
|
- 0
|
30
29
|
version: "0"
|
31
|
-
type: :runtime
|
32
|
-
name: json
|
33
30
|
version_requirements: *id001
|
34
|
-
|
31
|
+
name: json
|
35
32
|
prerelease: false
|
33
|
+
type: :runtime
|
34
|
+
- !ruby/object:Gem::Dependency
|
36
35
|
requirement: &id002 !ruby/object:Gem::Requirement
|
37
36
|
none: false
|
38
37
|
requirements:
|
@@ -42,11 +41,11 @@ dependencies:
|
|
42
41
|
segments:
|
43
42
|
- 0
|
44
43
|
version: "0"
|
45
|
-
type: :runtime
|
46
|
-
name: squash_uploader
|
47
44
|
version_requirements: *id002
|
48
|
-
|
45
|
+
name: squash_uploader
|
49
46
|
prerelease: false
|
47
|
+
type: :runtime
|
48
|
+
- !ruby/object:Gem::Dependency
|
50
49
|
requirement: &id003 !ruby/object:Gem::Requirement
|
51
50
|
none: false
|
52
51
|
requirements:
|
@@ -56,11 +55,11 @@ dependencies:
|
|
56
55
|
segments:
|
57
56
|
- 0
|
58
57
|
version: "0"
|
59
|
-
type: :development
|
60
|
-
name: rspec
|
61
58
|
version_requirements: *id003
|
62
|
-
|
59
|
+
name: rspec
|
63
60
|
prerelease: false
|
61
|
+
type: :development
|
62
|
+
- !ruby/object:Gem::Dependency
|
64
63
|
requirement: &id004 !ruby/object:Gem::Requirement
|
65
64
|
none: false
|
66
65
|
requirements:
|
@@ -70,11 +69,11 @@ dependencies:
|
|
70
69
|
segments:
|
71
70
|
- 0
|
72
71
|
version: "0"
|
73
|
-
type: :development
|
74
|
-
name: yard
|
75
72
|
version_requirements: *id004
|
76
|
-
|
73
|
+
name: yard
|
77
74
|
prerelease: false
|
75
|
+
type: :development
|
76
|
+
- !ruby/object:Gem::Dependency
|
78
77
|
requirement: &id005 !ruby/object:Gem::Requirement
|
79
78
|
none: false
|
80
79
|
requirements:
|
@@ -84,11 +83,11 @@ dependencies:
|
|
84
83
|
segments:
|
85
84
|
- 0
|
86
85
|
version: "0"
|
87
|
-
type: :development
|
88
|
-
name: redcarpet
|
89
86
|
version_requirements: *id005
|
90
|
-
|
87
|
+
name: redcarpet
|
91
88
|
prerelease: false
|
89
|
+
type: :development
|
90
|
+
- !ruby/object:Gem::Dependency
|
92
91
|
requirement: &id006 !ruby/object:Gem::Requirement
|
93
92
|
none: false
|
94
93
|
requirements:
|
@@ -98,9 +97,10 @@ dependencies:
|
|
98
97
|
segments:
|
99
98
|
- 0
|
100
99
|
version: "0"
|
101
|
-
type: :development
|
102
|
-
name: jeweler
|
103
100
|
version_requirements: *id006
|
101
|
+
name: jeweler
|
102
|
+
prerelease: false
|
103
|
+
type: :development
|
104
104
|
description: This gem includes a library that imports yGuard or ProGuard rename logs, and a binary that uploads the data to Squash.
|
105
105
|
email: tim@squareup.com
|
106
106
|
executables:
|