From: Alexis Laferrière Date: Tue, 3 Feb 2015 00:38:48 +0000 (-0500) Subject: jwrapper: accept interfaces X-Git-Tag: v0.7.2~35^2 X-Git-Url: http://nitlanguage.org jwrapper: accept interfaces Signed-off-by: Alexis Laferrière --- 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"