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

add HasBoxedRep for types that need different translations when they are in a boxed context

This commit is contained in:
Kevin Glynn 2011-10-09 19:25:51 +02:00
parent 3c5ec9fcb6
commit eb760267f9

View File

@ -1996,6 +1996,17 @@ namespace Twiglet.CS2J.Translator.TypeRep
} }
} }
// True if we have a separate representation for boxed and unboxed versions
// (true for primitive types like int)
[XmlIgnore]
public bool HasBoxedRep
{
get
{
return Java != BoxedJava;
}
}
[XmlIgnore] [XmlIgnore]
public string BoxExpressionTemplate public string BoxExpressionTemplate
{ {
@ -2205,7 +2216,7 @@ namespace Twiglet.CS2J.Translator.TypeRep
} }
// Resolve a method call (name and arg types) // Resolve a method call (name and arg types)
public virtual ResolveResult Resolve(String name, List<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv) public virtual ResolveResult Resolve(String name, IList<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv)
{ {
if (Inherits != null) if (Inherits != null)
{ {
@ -2243,7 +2254,7 @@ namespace Twiglet.CS2J.Translator.TypeRep
} }
// Resolve a indexer call (arg types) // Resolve a indexer call (arg types)
public virtual ResolveResult ResolveIndexer(List<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv) public virtual ResolveResult ResolveIndexer(IList<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv)
{ {
if (Inherits != null) if (Inherits != null)
{ {
@ -2753,7 +2764,7 @@ namespace Twiglet.CS2J.Translator.TypeRep
return fmt.ToString(); return fmt.ToString();
} }
protected string mkFormattedTypeName() public string mkFormattedTypeName()
{ {
return mkFormattedTypeName(true, "<", ">"); return mkFormattedTypeName(true, "<", ">");
} }
@ -3227,7 +3238,7 @@ namespace Twiglet.CS2J.Translator.TypeRep
return true; return true;
} }
public override ResolveResult Resolve(String name, List<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv) public override ResolveResult Resolve(String name, IList<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv)
{ {
if (Methods != null) if (Methods != null)
@ -3277,7 +3288,7 @@ namespace Twiglet.CS2J.Translator.TypeRep
return base.Resolve(name, args, AppEnv); return base.Resolve(name, args, AppEnv);
} }
public override ResolveResult ResolveIndexer(List<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv) public override ResolveResult ResolveIndexer(IList<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv)
{ {
if (Indexers != null) if (Indexers != null)
@ -3553,7 +3564,7 @@ namespace Twiglet.CS2J.Translator.TypeRep
} }
public override ResolveResult Resolve(String name, List<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv) public override ResolveResult Resolve(String name, IList<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv)
{ {
// Look for a property which holds a delegate with the right type // Look for a property which holds a delegate with the right type
@ -3601,7 +3612,7 @@ namespace Twiglet.CS2J.Translator.TypeRep
return base.Resolve(name, forWrite, AppEnv); return base.Resolve(name, forWrite, AppEnv);
} }
public ResolveResult Resolve(List<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv) public ResolveResult Resolve(IList<TypeRepTemplate> args, DirectoryHT<TypeRepTemplate> AppEnv)
{ {
if (Constructors != null) if (Constructors != null)