Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/monodevelop.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortherzok <marius.ungureanu@xamarin.com>2016-07-12 15:56:29 +0300
committertherzok <marius.ungureanu@xamarin.com>2016-07-12 16:14:30 +0300
commitf22295dabe970a8a32205566c2474c6a562a0143 (patch)
tree4afde6fe76f1c0a5c2256bf57a18b5c5e0ca4667 /main/src/core/MonoDevelop.Core
parentf93588dd06a48f52c9c36da200277faf9d1e5a07 (diff)
[General] Change some StringBuilder appends to not allocate strings.
This removes substring calls that allocate strings so chars are copied from offsets into the stringbuilder.
Diffstat (limited to 'main/src/core/MonoDevelop.Core')
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/PcFileCache.cs4
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/LocalConsole.cs8
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/IMSBuildPropertySet.cs2
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/MSBuildProject.cs2
-rw-r--r--main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Text/TextFormatter.cs2
5 files changed, 9 insertions, 9 deletions
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/PcFileCache.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/PcFileCache.cs
index dc3afba937..167d48924e 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/PcFileCache.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Assemblies/PcFileCache.cs
@@ -538,7 +538,7 @@ namespace Mono.PkgConfig
StringBuilder sb = new StringBuilder ();
int last = 0;
while (i != -1 && i < value.Length) {
- sb.Append (value.Substring (last, i - last));
+ sb.Append (value, last, i - last);
if (i == 0 || value [i - 1] != '$') {
// Evaluate if var is not escaped
i += 2;
@@ -564,7 +564,7 @@ namespace Mono.PkgConfig
if (i < value.Length)
i = value.IndexOf ("${", i);
}
- sb.Append (value.Substring (last, value.Length - last));
+ sb.Append (value, last, value.Length - last);
return sb.ToString ();
}
}
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/LocalConsole.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/LocalConsole.cs
index 9731bde3f4..17b496bf80 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/LocalConsole.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/LocalConsole.cs
@@ -226,18 +226,18 @@ namespace MonoDevelop.Core.Execution
for (int i=idx; i < current.Length; i++) {
if (current[i] == '\n') {
idx = i + 1;
- sb.Append (current.Substring (0, i));
+ sb.Append (current, 0, i);
return sb.ToString ();
}
if (current[i] == '\r') {
idx = i + 1;
- sb.Append (current.Substring (0, i));
+ sb.Append (current, 0, i);
if (LoadCurrent (true) && current [idx] == '\n')
idx++;
return sb.ToString ();
}
}
- sb.Append (current.Substring (idx));
+ sb.Append (current, idx, current.Length - idx);
current = null;
}
return sb.ToString ();
@@ -247,7 +247,7 @@ namespace MonoDevelop.Core.Execution
{
StringBuilder sb = new StringBuilder ();
while (LoadCurrent (true)) {
- sb.Append (current.Substring (idx));
+ sb.Append (current, idx, current.Length - idx);
current = null;
}
return sb.ToString ();
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/IMSBuildPropertySet.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/IMSBuildPropertySet.cs
index c50d165ac6..eeb2a3177b 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/IMSBuildPropertySet.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/IMSBuildPropertySet.cs
@@ -231,7 +231,7 @@ namespace MonoDevelop.Projects.MSBuild
if (i != -1) {
int fi = val.IndexOf ('\\');
if (fi != -1 && fi < i) i = fi;
- sb.Append (val.Substring (0,i));
+ sb.Append (val, 0,i));
} else
i = 0;
for (int n = i; n < val.Length; n++) {
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/MSBuildProject.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/MSBuildProject.cs
index 187da6cd79..2a3b9c5463 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/MSBuildProject.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/MSBuildProject.cs
@@ -984,7 +984,7 @@ namespace MonoDevelop.Projects.MSBuild
if (i == -1) {
res.Append (t);
} else {
- res.Append (t.Substring (i + 1));
+ res.Append (t, i + 1, t.Length - i - 1);
return res.ToString ();
}
} else
diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Text/TextFormatter.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Text/TextFormatter.cs
index aee449009a..cc1f54ac19 100644
--- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Text/TextFormatter.cs
+++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.Text/TextFormatter.cs
@@ -205,7 +205,7 @@ namespace MonoDevelop.Projects.Text
}
if (n != sn)
- currentWord.Append (text.Substring (sn, n - sn));
+ currentWord.Append (text, sn, n - sn);
if (foundSpace) {
AppendCurrentWord (text[n]);
n++;