1
0
mirror of https://github.com/twiglet/cs2j.git synced 2025-01-18 13:15:17 +01:00

create typereps for unknown types, don't leave as null

This commit is contained in:
Kevin Glynn 2011-01-14 15:55:22 +01:00
parent 549d1f59d0
commit 95e8ba60af

View File

@ -64,7 +64,7 @@ scope SymTab {
} }
protected TypeRepTemplate findType(string name) { protected TypeRepTemplate findType(string name) {
return AppEnv.Search($NSContext::globalNamespaces, name); return AppEnv.Search($NSContext::globalNamespaces, name, new UnknownRepTemplate(name));
} }
private ClassRepTemplate objectType = null; private ClassRepTemplate objectType = null;
@ -880,7 +880,7 @@ field_declaration[TypeRepTemplate ty]:
variable_declarators[TypeRepTemplate ty]: variable_declarators[TypeRepTemplate ty]:
variable_declarator[ty] (',' variable_declarator[ty])* ; variable_declarator[ty] (',' variable_declarator[ty])* ;
variable_declarator[TypeRepTemplate 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 method_declaration
@ -895,6 +895,8 @@ method_body:
block ; block ;
member_name: member_name:
type_or_generic ('.' type_or_generic)* type_or_generic ('.' type_or_generic)*
//(type '.') => type '.' identifier
//| identifier
; ;
// keving: missing interface_type.identifier // keving: missing interface_type.identifier
//identifier ; // IInterface<int>.Method logic added. //identifier ; // IInterface<int>.Method logic added.