diff --git a/CSharpTranslator/antlr3/src/cs2j/CSharp/JavaMaker.g b/CSharpTranslator/antlr3/src/cs2j/CSharp/JavaMaker.g index 6702a70..caf0fd3 100644 --- a/CSharpTranslator/antlr3/src/cs2j/CSharp/JavaMaker.g +++ b/CSharpTranslator/antlr3/src/cs2j/CSharp/JavaMaker.g @@ -1163,7 +1163,7 @@ scope TypeContext; -> ^(INTERFACE[$c.Token] identifier type_parameter_constraints_clauses? variant_generic_parameter_list? interface_base? interface_body ); interface_base: - ':' ts+=type (',' ts+=type)* -> ^(IMPLEMENTS $ts)*; + c=':' ts+=type (',' ts+=type)* -> ^(EXTENDS[$c.token,"extends"] $ts)*; interface_modifiers: modifier+ ; diff --git a/CSharpTranslator/antlr3/src/cs2j/CSharp/JavaPrettyPrint.g b/CSharpTranslator/antlr3/src/cs2j/CSharp/JavaPrettyPrint.g index 59caa6e..5a0f8a0 100644 --- a/CSharpTranslator/antlr3/src/cs2j/CSharp/JavaPrettyPrint.g +++ b/CSharpTranslator/antlr3/src/cs2j/CSharp/JavaPrettyPrint.g @@ -837,11 +837,13 @@ type_parameter [Dictionary tpConstraints] identifier {if (tpConstraints == null || !tpConstraints.TryGetValue($identifier.text, out mySt)) {mySt = $identifier.st;}; } -> { mySt } ; class_extends: - ^(EXTENDS ts=type) -> extends(types = { $ts.st }) ; + ts+=class_extend+ -> extends(types = { $ts }) ; +class_extend: + ^(EXTENDS ts=type) -> { $ts.st } ; class_implements: ts+=class_implement+ -> imps(types = { $ts }) ; class_implement: - ^(IMPLEMENTS ts=type) -> seplist(items = { $ts.st }, sep={", "}) ; + ^(IMPLEMENTS ts=type) -> { $ts.st }; interface_type_list: ts+=type (',' ts+=type)* -> commalist(items={ $ts }); diff --git a/CSharpTranslator/antlr3/src/cs2j/CSharp/NetMaker.g b/CSharpTranslator/antlr3/src/cs2j/CSharp/NetMaker.g index 759f61a..842ed74 100644 --- a/CSharpTranslator/antlr3/src/cs2j/CSharp/NetMaker.g +++ b/CSharpTranslator/antlr3/src/cs2j/CSharp/NetMaker.g @@ -633,8 +633,10 @@ type_parameter_list: type_parameter: identifier ; -//class_extends: -// ^(EXTENDS type*) ; +class_extends: + class_extend+ ; +class_extend: + ^(EXTENDS type) ; // If first implements type is a class then convert to extends class_implements: @@ -785,7 +787,7 @@ parameter_array: /////////////////////////////////////////////////////// interface_declaration: ^(INTERFACE identifier type_parameter_constraints_clauses? variant_generic_parameter_list? - class_implements? interface_body ) ; + class_extends? interface_body ) ; interface_modifiers: modifier+ ; interface_base: