public XsltInput(XmlReader reader, Compiler compiler) {
Debug.Assert(reader != null);
EnsureExpandEntities(reader);
IXmlLineInfo xmlLineInfo = reader as IXmlLineInfo;
this.reader = reader;
this.readerLineInfo = (xmlLineInfo != null && xmlLineInfo.HasLineInfo()) ? xmlLineInfo : null;
this.topLevelReader = reader.ReadState == ReadState.Initial;
this.scopeManager = new InputScopeManager(reader.NameTable);
this.atoms = new KeywordsTable(reader.NameTable);
this.compiler = compiler;
this.textIsWhite = true;
this.nodeType = XPathNodeType.Root;
}