diff --git a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/JavaMaker.g b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/JavaMaker.g index 3ac05ee..2ddc177 100644 --- a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/JavaMaker.g +++ b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/JavaMaker.g @@ -717,9 +717,12 @@ default_value_expression: anonymous_method_expression: 'delegate'^ explicit_anonymous_function_signature? block; explicit_anonymous_function_signature: - '(' explicit_anonymous_function_parameter_list? ')' -> ^(PARAMS explicit_anonymous_function_parameter_list?); + '(' explicit_anonymous_function_parameter_list? ')' +-> {$explicit_anonymous_function_parameter_list.tree != null}? ^(PARAMS explicit_anonymous_function_parameter_list?) +-> +; explicit_anonymous_function_parameter_list: - explicit_anonymous_function_parameter (',' explicit_anonymous_function_parameter)* ; + explicit_anonymous_function_parameter (','! explicit_anonymous_function_parameter)* ; explicit_anonymous_function_parameter: anonymous_function_parameter_modifier? type identifier; anonymous_function_parameter_modifier: @@ -978,7 +981,7 @@ anonymous_function_signature: | implicit_anonymous_function_parameter_list -> ^(PARAMS_TYPELESS implicit_anonymous_function_parameter_list) ; implicit_anonymous_function_parameter_list: - implicit_anonymous_function_parameter (',' implicit_anonymous_function_parameter)* ; + implicit_anonymous_function_parameter (','! implicit_anonymous_function_parameter)* ; implicit_anonymous_function_parameter: identifier; anonymous_function_body: diff --git a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/JavaPrettyPrint.g b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/JavaPrettyPrint.g index 53f63a7..27acf8e 100644 --- a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/JavaPrettyPrint.g +++ b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/JavaPrettyPrint.g @@ -787,7 +787,7 @@ non_assignment_expression returns [int precedence] $precedence = int.MaxValue; }: //'non ASSIGNment' - (anonymous_function_signature '=>') => lambda_expression { $precedence = precedence[LAMBDA]; } -> { $lambda_expression.st; } + (anonymous_function_signature? '=>') => lambda_expression { $precedence = precedence[LAMBDA]; } -> { $lambda_expression.st; } | (query_expression) => query_expression | ^(cop=COND_EXPR ce1=non_assignment_expression ce2=expression ce3=expression) { $precedence = precedence[$cop.token.Type]; } -> cond( condexp = { $ce1.st }, thenexp = { $ce2.st }, elseexp = { $ce3.st }, @@ -1009,9 +1009,7 @@ member_name /////////////////////////////////////////////////////// event_declaration: - 'event' type - ((member_name '{') => member_name '{' event_accessor_declarations '}' - | variable_declarators ';') // typename=foo; + type member_name '{' event_accessor_declarations '}' ; event_modifiers: modifier+ ; diff --git a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/NetMaker.g b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/NetMaker.g index c8d0aab..68c6820 100644 --- a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/NetMaker.g +++ b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTransform/NetMaker.g @@ -699,7 +699,7 @@ scope MkNonGeneric { if (delg.Invoke.Params.Count > 0) { adaptor.AddChild(call, mkParams(delg.Invoke.Params, false, tok)); } - if (returnType.IsA(voidType, AppEnv)) { + if (returnType.IsA(VoidType, AppEnv)) { adaptor.AddChild(ret, call); adaptor.AddChild(method, ret); } @@ -2369,9 +2369,7 @@ member_name /////////////////////////////////////////////////////// event_declaration: - 'event' type - ((member_name '{') => member_name '{' event_accessor_declarations '}' - | variable_declarators[$type.tree, $type.dotNetType] ';') // typename=foo; + type member_name '{' event_accessor_declarations '}' ; event_modifiers: modifier+ ;