compiler/libec/pass15: Fixed expType for class member of typed_object
authorJerome St-Louis <jerome@ecere.com>
Sun, 4 May 2014 01:03:57 +0000 (21:03 -0400)
committerJerome St-Louis <jerome@ecere.com>
Sun, 4 May 2014 01:03:57 +0000 (21:03 -0400)
compiler/bootstrap/libec/bootstrap/pass15.c
compiler/libec/src/pass15.ec

index ca0095a..5fea534 100644 (file)
@@ -15493,7 +15493,8 @@ if(exp->member.exp->expType->classObjectType == 2 && !strcmp(exp->member.member-
 FreeExpContents(exp);
 exp->type = 0;
 exp->identifier = MkIdentifier("class");
-ProcessExpressionType(exp);
+FreeType(exp->expType);
+exp->expType = MkClassType("ecere::com::Class");
 return ;
 }
 yylloc = exp->member.member->loc;
index 8adf51c..e205dec 100644 (file)
@@ -9623,7 +9623,8 @@ void ProcessExpressionType(Expression exp)
                      FreeExpContents(exp);
                      exp.type = identifierExp;
                      exp.identifier = MkIdentifier("class");
-                     ProcessExpressionType(exp);
+                     FreeType(exp.expType);
+                     exp.expType = MkClassType("ecere::com::Class");
                      return;
                   }
                   yylloc = exp.member.member.loc;