public TypeNode FreshCopy(Dictionary <TypeNode, TypeNode> Mappings, List <TypeNode> NonGeneric) { if (Name == null) { if (OccursIn(NonGeneric)) { return(this); } else { if (!Mappings.ContainsKey(this)) { Mappings[this] = new TypeNode(); } return(Mappings[this]); } } else { return(new TypeNode() { Name = Name, ResultType = ResultType == null ? null : ResultType.FreshCopy(Mappings, NonGeneric), ArgumentTypes = ArgumentTypes == null ? new List <TypeNode>() : ArgumentTypes.Select(a => a.FreshCopy(Mappings, NonGeneric)).ToList() }); } }
public override string ToString() { return(string.Format("{0}{1}({2}) -> {3}", IsStatic ? "static " : "", Name, string.Join(", ", ArgumentTypes.Select(a => JniEnvironment.Types.GetJniTypeNameFromClass(a))), JniReturnType)); }