From 6acf9f924190798256e324058d908402e3728c12 Mon Sep 17 00:00:00 2001 From: Kevin Glynn Date: Tue, 6 Sep 2011 10:03:00 +0200 Subject: [PATCH] make sure casts are to EXACTLY the right type, we don't want to lose information --- .../src/CS2JTranslator/CS2JTemplate/TranslationTemplate.cs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTemplate/TranslationTemplate.cs b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTemplate/TranslationTemplate.cs index 3ca558a..c9a6167 100644 --- a/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTemplate/TranslationTemplate.cs +++ b/CSharpTranslator/antlr3/src/CS2JTranslator/CS2JTemplate/TranslationTemplate.cs @@ -2117,7 +2117,7 @@ namespace Twiglet.CS2J.Translator.TypeRep { // cast from us TypeRepTemplate toTy = BuildType(c.To, AppEnv); - if (toTy.IsA(castTo, AppEnv)) + if (toTy.IsA(castTo, AppEnv) && castTo.IsA(toTy, AppEnv)) { ResolveResult res = new ResolveResult(); res.Result = c; @@ -2162,8 +2162,8 @@ namespace Twiglet.CS2J.Translator.TypeRep if (c.To == null || (toTy != null && toTy.TypeName == TypeName)) { // cast to us - TypeRepTemplate fromTy = BuildType(c.From, AppEnv); - if (castFrom.IsA(fromTy, AppEnv)) + TypeRepTemplate fromTy = BuildType(c.From, AppEnv); + if (castFrom.IsA(fromTy, AppEnv) && fromTy.IsA(castFrom, AppEnv)) { ResolveResult res = new ResolveResult(); res.Result = c;