squash_java 1.0.0 → 1.0.1
Sign up to get free protection for your applications and to get access to all the features.
- 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:
|