Xamarin Public Jenkins (auto-signing) e79aa3c0ed Imported Upstream version 4.6.0.125
Former-commit-id: a2155e9bd80020e49e72e86c44da02a8ac0e57a4
2016-08-03 10:59:49 +00:00

92 lines
2.2 KiB
C#

//------------------------------------------------------------
// 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
}
}