System.Web.Compilation.BaseCompiler.AssignAppRelativeVirtualPath C# (CSharp) Method

AssignAppRelativeVirtualPath() private method

private AssignAppRelativeVirtualPath ( CodeConstructor ctor ) : void
ctor System.CodeDom.CodeConstructor
return void
		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);
		}