From 95e8ba60afe144a5e41d469d80b80e3d1502bd83 Mon Sep 17 00:00:00 2001 From: Kevin Glynn Date: Fri, 14 Jan 2011 15:55:22 +0100 Subject: [PATCH] create typereps for unknown types, don't leave as null --- CSharpTranslator/antlr3/src/cs2j/CSharp/NetMaker.g | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CSharpTranslator/antlr3/src/cs2j/CSharp/NetMaker.g b/CSharpTranslator/antlr3/src/cs2j/CSharp/NetMaker.g index 0c22eb2..5a62f09 100644 --- a/CSharpTranslator/antlr3/src/cs2j/CSharp/NetMaker.g +++ b/CSharpTranslator/antlr3/src/cs2j/CSharp/NetMaker.g @@ -64,7 +64,7 @@ scope SymTab { } protected TypeRepTemplate findType(string name) { - return AppEnv.Search($NSContext::globalNamespaces, name); + return AppEnv.Search($NSContext::globalNamespaces, name, new UnknownRepTemplate(name)); } private ClassRepTemplate objectType = null; @@ -880,7 +880,7 @@ field_declaration[TypeRepTemplate ty]: variable_declarators[TypeRepTemplate ty]: variable_declarator[ty] (',' variable_declarator[ty])* ; variable_declarator[TypeRepTemplate ty]: - type_name { $SymTab::symtab[$type_name.name] = $ty; } ('=' variable_initializer)? ; // eg. event EventHandler IInterface.VariableName = Foo; + identifier { $SymTab::symtab[$identifier.thetext] = $ty; } ('=' variable_initializer)? ; // eg. event EventHandler IInterface.VariableName = Foo; /////////////////////////////////////////////////////// method_declaration @@ -895,6 +895,8 @@ method_body: block ; member_name: type_or_generic ('.' type_or_generic)* + //(type '.') => type '.' identifier + //| identifier ; // keving: missing interface_type.identifier //identifier ; // IInterface.Method logic added.