[svn] r7509: nemerle/trunk: lib/narray.n
ncc/external/LibrariesLoader.n
VladD2
svnadmin at nemerle.org
Sat Mar 3 14:13:30 CET 2007
Log:
1. Add: ToString[T] (this source : SCG.IEnumerable [T], separator : string) : string
2. Prevent compiler crash if problem occur when library load.
Author: VladD2
Date: Sat Mar 3 14:13:28 2007
New Revision: 7509
Modified:
nemerle/trunk/lib/narray.n
nemerle/trunk/ncc/external/LibrariesLoader.n
Modified: nemerle/trunk/lib/narray.n
==============================================================================
--- nemerle/trunk/lib/narray.n (original)
+++ nemerle/trunk/lib/narray.n Sat Mar 3 14:13:28 2007
@@ -463,6 +463,22 @@
dest.ToArray()
}
+
+ /// Convert sequence to string.
+ public ToString[T] (this source : SCG.IEnumerable [T], separator : string) : string
+ {
+ mutable isFirstTime = true;
+ def sb = System.Text.StringBuilder();
+ foreach (elem in source)
+ {
+ _ = sb.Append (elem);
+
+ unless (isFirstTime)
+ _ = sb.Append (separator);
+ }
+
+ sb.ToString()
+ }
}
/**
Modified: nemerle/trunk/ncc/external/LibrariesLoader.n
==============================================================================
--- nemerle/trunk/ncc/external/LibrariesLoader.n (original)
+++ nemerle/trunk/ncc/external/LibrariesLoader.n Sat Mar 3 14:13:28 2007
@@ -399,11 +399,13 @@
{
def assembly = lib.Assembly;
+ try
+ {
def types = assembly.GetExportedTypes ();
for (mutable i = 0; i < types.Length; ++i) {
def t = types[i];
-// Message.Debug (name);
+ // Message.Debug (name);
def e = ExternalType (t, lib, null);
def (ns_node, path_to_type) = framework_nesting (t);
@@ -432,6 +434,8 @@
mainnode.Value = tinfo_cache;
}
}
+ catch { | e => Message.Error ($"Can't load types from '$assembly'. Error: $(e.Message)."); }
+ }
internal static CacheTypeInfo (t : System.Type, tc : TypeInfo, node : NamespaceTree.Node) : void
{
More information about the svn
mailing list