From 8171d8a95071a45fbb2291c8a374b641786989c8 Mon Sep 17 00:00:00 2001 From: Laurent Sansonetti Date: Fri, 25 Apr 2014 15:31:45 +0200 Subject: [PATCH] now generate elements for Java interfaces --- data/Rakefile | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/data/Rakefile b/data/Rakefile index 857c4c04..0acd36e9 100644 --- a/data/Rakefile +++ b/data/Rakefile @@ -471,12 +471,13 @@ task :android do EOS txt = File.read(javap_tmp_path) - res = txt.scan(/class\s+([^\s]+)\s+extends\s+[^{]+\s*\{([^}]+)\}/) - res += txt.scan(/class\s([^\s{]+)\s*\{([^}]+)\}/) # Also grab classes without superclasses (ex. java.lang.Object) - res.each do |klass, body_txt| - class_path = klass.gsub(/\./, '/') + res = txt.scan(/(class)\s+([^\s]+)\s+extends\s+[^{]+\s*\{([^}]+)\}/) + res += txt.scan(/(class)\s([^\s{]+)\s*\{([^}]+)\}/) # Also grab classes without superclasses (ex. java.lang.Object) + res += txt.scan(/(interface)\s([^\s{]+)\s*\{([^}]+)\}/) # Also grab interfaces + res.each do |type, elem, body_txt| + elem_path = elem.gsub(/\./, '/') bs_data << < + <#{type} name=\"#{elem_path}\"> EOS body_txt.strip.split(/\n/).each_cons(2) do |elem_line, signature_line| signature_line = signature_line.strip @@ -488,7 +489,7 @@ EOS if md = elem_line.match(/\s([^(\s]+)\(/) # A method. method = md[1] - if method == klass + if method == elem # An initializer. method = '<init>' end @@ -505,7 +506,7 @@ EOS end end bs_data << < + EOS end bs_data << <