|
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//------------------------------------------------------------
namespace Microsoft.Build.Tasks.Xaml
{
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xaml;
using XamlBuildTask;
internal class XamlWrappingReader : XamlReader, IXamlLineInfo
{
XamlReader _underlyingReader;
internal XamlWrappingReader(XamlReader underlyingReader)
{
if (underlyingReader == null)
{
throw FxTrace.Exception.AsError(new ArgumentNullException("underlyingReader"));
}
_underlyingReader = underlyingReader;
}
public override bool IsEof
{
get { return _underlyingReader.IsEof; }
}
public override XamlMember Member
{
get { return _underlyingReader.Member; }
}
public override NamespaceDeclaration Namespace
{
get { return _underlyingReader.Namespace; }
}
public override XamlNodeType NodeType
{
get { return _underlyingReader.NodeType; }
}
public override bool Read()
{
return _underlyingReader.Read();
}
public override XamlSchemaContext SchemaContext
{
get { return _underlyingReader.SchemaContext; }
}
public override XamlType Type
{
get { return _underlyingReader.Type; }
}
public override object Value
{
get { return _underlyingReader.Value; }
}
private IXamlLineInfo LineInfo
{
get { return _underlyingReader as IXamlLineInfo; }
}
#region IXamlLineInfo Members
public bool HasLineInfo
{
get { return LineInfo != null && LineInfo.HasLineInfo; }
}
public int LineNumber
{
get { return LineInfo == null ? 0 : LineInfo.LineNumber; }
}
public int LinePosition
{
get { return LineInfo == null ? 0 : LineInfo.LinePosition; }
}
#endregion
}
}
|