void AssignAppRelativeVirtualPath (CodeConstructor ctor)
{
if (String.IsNullOrEmpty (parser.InputFile))
return;
Type baseType = parser.CodeFileBaseClassType;
if (baseType == null)
baseType = parser.BaseType;
if (baseType == null)
return;
if (!baseType.IsSubclassOf (typeof (System.Web.UI.TemplateControl)))
return;
CodeTypeReference baseTypeRef = new CodeTypeReference (baseType.FullName);
if (parser.BaseTypeIsGlobal)
baseTypeRef.Options |= CodeTypeReferenceOptions.GlobalReference;
CodeExpression cast = new CodeCastExpression (baseTypeRef, new CodeThisReferenceExpression ());
CodePropertyReferenceExpression arvpProp = new CodePropertyReferenceExpression (cast, "AppRelativeVirtualPath");
CodeAssignStatement arvpAssign = new CodeAssignStatement ();
arvpAssign.Left = arvpProp;
arvpAssign.Right = new CodePrimitiveExpression (VirtualPathUtility.RemoveTrailingSlash (InputVirtualPath.AppRelative));
ctor.Statements.Add (arvpAssign);
}