From fce25c4fa2e76f563af6d1788dd6093b4a41a19c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Alexis=20Laferri=C3=A8re?= Date: Mon, 2 Feb 2015 19:38:48 -0500 Subject: [PATCH] jwrapper: accept interfaces MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Alexis Laferrière --- contrib/jwrapper/grammar/javap.sablecc | 13 +++++-------- contrib/jwrapper/src/javap_visitor.nit | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/contrib/jwrapper/grammar/javap.sablecc b/contrib/jwrapper/grammar/javap.sablecc index 0777c88..ba92bc4 100644 --- a/contrib/jwrapper/grammar/javap.sablecc +++ b/contrib/jwrapper/grammar/javap.sablecc @@ -9,18 +9,15 @@ separator = ('.'|'/'); Parser Ignored blank; -multi_files = compiled_from? class_or_interface; - -class_or_interface = class_declaration | interface_declaration; +multi_files = compiled_from? class_declaration; compiled_from = 'Compiled from "' identifier+ '.java"'; -class_declaration = class_header '{' property_declaration* '}'; +class_declaration = modifier* class_or_interface full_class_name + extends_declaration? implements_declaration? throws_declaration? + '{' property_declaration* '}'; -class_header = modifier* 'class' full_class_name extends_declaration? - implements_declaration? throws_declaration?; -interface_declaration = modifier* 'interface' full_class_name extends_interface_declaration? - '{' property_declaration* '}'; +class_or_interface = 'class'|'interface'; modifier = 'public'|'private'|'protected'|'static'|'final'|'native'|'synchronized'|'abstract'|'threadsafe'|'transient'|'volatile'; type = type_specifier '[]'*; diff --git a/contrib/jwrapper/src/javap_visitor.nit b/contrib/jwrapper/src/javap_visitor.nit index 64415a4..9c1440d 100644 --- a/contrib/jwrapper/src/javap_visitor.nit +++ b/contrib/jwrapper/src/javap_visitor.nit @@ -213,7 +213,7 @@ end # C L A S S H E A D E R # # # -redef class Nclass_header +redef class Nclass_declaration redef fun accept_visitor(v) do v.declaration_type = "class_header" -- 1.7.9.5