Removed/expanded targeted-type 'new' expressions for legacy portability
All checks were successful
continuous-integration/appveyor/branch AppVeyor build succeeded

This commit is contained in:
Brychan Dempsey 2021-03-29 10:05:48 +13:00
parent 442a967cd9
commit 1d34d1b6b7

View File

@ -27,7 +27,7 @@ namespace Assignment_1
/// <summary> /// <summary>
/// Characters that cannot appear in a normal string /// Characters that cannot appear in a normal string
/// </summary> /// </summary>
static readonly List<char> ForbiddenChars = new() static readonly List<char> ForbiddenChars = new List<char>()
{ {
'$', '$',
'\\', '\\',
@ -45,8 +45,8 @@ namespace Assignment_1
bool exit = false; bool exit = false;
while (!exit) while (!exit)
{ {
MemoryStream sourceStream = new(1024); MemoryStream sourceStream = new MemoryStream(1024);
Parser parser = new(); Parser parser = new Parser();
bool dynamicInput = false; bool dynamicInput = false;
// From https://stackoverflow.com/questions/3453220/how-to-detect-if-console-in-stdin-has-been-redirected // From https://stackoverflow.com/questions/3453220/how-to-detect-if-console-in-stdin-has-been-redirected
// Reading from pipes is equivalent to reading user input, though the input is redirected // Reading from pipes is equivalent to reading user input, though the input is redirected
@ -78,7 +78,7 @@ namespace Assignment_1
Thread.Sleep(2000); Thread.Sleep(2000);
Environment.Exit(0); Environment.Exit(0);
} }
ConsoleKeyInfo ck = new(); ConsoleKeyInfo ck = new ConsoleKeyInfo();
while (ck.Key != ConsoleKey.Y && ck.Key != ConsoleKey.N) while (ck.Key != ConsoleKey.Y && ck.Key != ConsoleKey.N)
{ {
Console.WriteLine("\nWould you like to parse another program? Y/n:"); Console.WriteLine("\nWould you like to parse another program? Y/n:");
@ -91,7 +91,7 @@ namespace Assignment_1
else else
{ {
// Need the logic to prep the next source stream // Need the logic to prep the next source stream
ck = new(); ck = new ConsoleKeyInfo();
while (ck.Key != ConsoleKey.Y && ck.Key != ConsoleKey.N) while (ck.Key != ConsoleKey.Y && ck.Key != ConsoleKey.N)
{ {
Console.WriteLine("\nWould you like to pipe data from source file? Y/n:"); Console.WriteLine("\nWould you like to pipe data from source file? Y/n:");
@ -124,7 +124,7 @@ namespace Assignment_1
public class Parser public class Parser
{ {
Dictionary<string, Tuple<string, VariableFlags>> Symbols = new() Dictionary<string, Tuple<string, VariableFlags>> Symbols = new Dictionary<string, Tuple<string, VariableFlags>>()
{ {
{ "SPACE", new Tuple<string, VariableFlags>(" ", VariableFlags.Reserved | VariableFlags.NoPrint) }, { "SPACE", new Tuple<string, VariableFlags>(" ", VariableFlags.Reserved | VariableFlags.NoPrint) },
{ "TAB", new Tuple<string, VariableFlags>("\t", VariableFlags.Reserved | VariableFlags.NoPrint) }, { "TAB", new Tuple<string, VariableFlags>("\t", VariableFlags.Reserved | VariableFlags.NoPrint) },
@ -390,7 +390,7 @@ namespace Assignment_1
int keyWidth = 21; int keyWidth = 21;
int valueWidth = 50; int valueWidth = 50;
int flagWidth = 9; int flagWidth = 9;
StringBuilder consoleOutput = new(); StringBuilder consoleOutput = new StringBuilder();
consoleOutput.Append(string.Format("┌" + new string('─', keyWidth) + "┬" + new string('─', valueWidth) + "┬" + new string('─', flagWidth) + "┐\n")); consoleOutput.Append(string.Format("┌" + new string('─', keyWidth) + "┬" + new string('─', valueWidth) + "┬" + new string('─', flagWidth) + "┐\n"));
consoleOutput.Append(string.Format("│{0}│{1}│{2}│\n", CenterString("Symbol", keyWidth), CenterString("Value", valueWidth), CenterString("Flags", flagWidth))); consoleOutput.Append(string.Format("│{0}│{1}│{2}│\n", CenterString("Symbol", keyWidth), CenterString("Value", valueWidth), CenterString("Flags", flagWidth)));
// Figure out how many symbols are eligible for printing // Figure out how many symbols are eligible for printing
@ -462,7 +462,7 @@ namespace Assignment_1
} }
Action Print(Stream source, int mode = 0) Action Print(Stream source, int mode = 0)
{ {
StringBuilder outputString = new(); StringBuilder outputString = new StringBuilder();
string expression = ValidateValue(source); string expression = ValidateValue(source);
if (mode == 0) if (mode == 0)
{ {
@ -499,7 +499,7 @@ namespace Assignment_1
string key = ValidateKey(source, true); string key = ValidateKey(source, true);
string ToReverse = Symbols[key].Item1; string ToReverse = Symbols[key].Item1;
string[] words = ToReverse.Split(' '); string[] words = ToReverse.Split(' ');
StringBuilder reversed = new(); StringBuilder reversed = new StringBuilder();
for (int i = words.Length - 1; i >= 0; i--) for (int i = words.Length - 1; i >= 0; i--)
{ {
reversed.Append(words[i]); reversed.Append(words[i]);
@ -706,7 +706,7 @@ namespace Assignment_1
/// <returns></returns> /// <returns></returns>
static long FindNextWord(Stream s, out string nextWord) static long FindNextWord(Stream s, out string nextWord)
{ {
StringBuilder newWord = new(); StringBuilder newWord = new StringBuilder();
// Record our current position // Record our current position
long start = s.Position; long start = s.Position;
// Check if the character at the current pos is whitespace, if so, keep advancing until it isn't. // Check if the character at the current pos is whitespace, if so, keep advancing until it isn't.
@ -895,7 +895,7 @@ namespace Assignment_1
static List<string> GetStringLines(string source, int maxWidth) static List<string> GetStringLines(string source, int maxWidth)
{ {
List<string> lines = new(); List<string> lines = new List<string>();
int j = 0; int j = 0;
while (j < source.Length) while (j < source.Length)
{ {