Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove unnecessary object initializations from HtmlNodeNavigator.Clone() #328

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
29 changes: 27 additions & 2 deletions src/HtmlAgilityPack.Shared/HtmlNodeNavigator.cs
Expand Up @@ -26,8 +26,8 @@ public class HtmlNodeNavigator : XPathNavigator

private int _attindex;
private HtmlNode _currentnode;
private readonly HtmlDocument _doc = new HtmlDocument();
private readonly HtmlNameTable _nametable = new HtmlNameTable();
private readonly HtmlDocument _doc;
private readonly HtmlNameTable _nametable;

internal bool Trace;

Expand All @@ -37,6 +37,8 @@ public class HtmlNodeNavigator : XPathNavigator

internal HtmlNodeNavigator()
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
Reset();
}

Expand All @@ -57,6 +59,7 @@ internal HtmlNodeNavigator(HtmlDocument doc, HtmlNode currentNode)
#endif

_doc = doc;
_nametable = new HtmlNameTable();
Reset();
_currentnode = currentNode;
}
Expand All @@ -82,6 +85,8 @@ private HtmlNodeNavigator(HtmlNodeNavigator nav)
/// <param name="stream">The input stream.</param>
public HtmlNodeNavigator(Stream stream)
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
_doc.Load(stream);
Reset();
}
Expand All @@ -93,6 +98,8 @@ public HtmlNodeNavigator(Stream stream)
/// <param name="detectEncodingFromByteOrderMarks">Indicates whether to look for byte order marks at the beginning of the stream.</param>
public HtmlNodeNavigator(Stream stream, bool detectEncodingFromByteOrderMarks)
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
_doc.Load(stream, detectEncodingFromByteOrderMarks);
Reset();
}
Expand All @@ -104,6 +111,8 @@ public HtmlNodeNavigator(Stream stream, bool detectEncodingFromByteOrderMarks)
/// <param name="encoding">The character encoding to use.</param>
public HtmlNodeNavigator(Stream stream, Encoding encoding)
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
_doc.Load(stream, encoding);
Reset();
}
Expand All @@ -116,6 +125,8 @@ public HtmlNodeNavigator(Stream stream, Encoding encoding)
/// <param name="detectEncodingFromByteOrderMarks">Indicates whether to look for byte order marks at the beginning of the stream.</param>
public HtmlNodeNavigator(Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks)
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
_doc.Load(stream, encoding, detectEncodingFromByteOrderMarks);
Reset();
}
Expand All @@ -129,6 +140,8 @@ public HtmlNodeNavigator(Stream stream, Encoding encoding, bool detectEncodingFr
/// <param name="buffersize">The minimum buffer size.</param>
public HtmlNodeNavigator(Stream stream, Encoding encoding, bool detectEncodingFromByteOrderMarks, int buffersize)
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
_doc.Load(stream, encoding, detectEncodingFromByteOrderMarks, buffersize);
Reset();
}
Expand All @@ -139,6 +152,8 @@ public HtmlNodeNavigator(Stream stream, Encoding encoding, bool detectEncodingFr
/// <param name="reader">The TextReader used to feed the HTML data into the document.</param>
public HtmlNodeNavigator(TextReader reader)
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
_doc.Load(reader);
Reset();
}
Expand All @@ -150,6 +165,8 @@ public HtmlNodeNavigator(TextReader reader)
/// <param name="path">The complete file path to be read.</param>
public HtmlNodeNavigator(string path)
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
_doc.Load(path);
Reset();
}
Expand All @@ -161,6 +178,8 @@ public HtmlNodeNavigator(string path)
/// <param name="detectEncodingFromByteOrderMarks">Indicates whether to look for byte order marks at the beginning of the file.</param>
public HtmlNodeNavigator(string path, bool detectEncodingFromByteOrderMarks)
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
_doc.Load(path, detectEncodingFromByteOrderMarks);
Reset();
}
Expand All @@ -172,6 +191,8 @@ public HtmlNodeNavigator(string path, bool detectEncodingFromByteOrderMarks)
/// <param name="encoding">The character encoding to use.</param>
public HtmlNodeNavigator(string path, Encoding encoding)
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
_doc.Load(path, encoding);
Reset();
}
Expand All @@ -184,6 +205,8 @@ public HtmlNodeNavigator(string path, Encoding encoding)
/// <param name="detectEncodingFromByteOrderMarks">Indicates whether to look for byte order marks at the beginning of the file.</param>
public HtmlNodeNavigator(string path, Encoding encoding, bool detectEncodingFromByteOrderMarks)
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
_doc.Load(path, encoding, detectEncodingFromByteOrderMarks);
Reset();
}
Expand All @@ -197,6 +220,8 @@ public HtmlNodeNavigator(string path, Encoding encoding, bool detectEncodingFrom
/// <param name="buffersize">The minimum buffer size.</param>
public HtmlNodeNavigator(string path, Encoding encoding, bool detectEncodingFromByteOrderMarks, int buffersize)
{
_doc = new HtmlDocument();
_nametable = new HtmlNameTable();
_doc.Load(path, encoding, detectEncodingFromByteOrderMarks, buffersize);
Reset();
}
Expand Down