ICSharpCode.SharpDevelop.Dom.NRefactoryResolver.CSharpToVBNetConvertVisitor.VisitUnaryOperatorExpression C# (CSharp) Method

VisitUnaryOperatorExpression() public method

public VisitUnaryOperatorExpression ( UnaryOperatorExpression unaryOperatorExpression, object data ) : object
unaryOperatorExpression UnaryOperatorExpression
data object
return object
		public override object VisitUnaryOperatorExpression(UnaryOperatorExpression unaryOperatorExpression, object data)
		{
			base.VisitUnaryOperatorExpression(unaryOperatorExpression, data);
			switch (unaryOperatorExpression.Op) {
				case UnaryOperatorType.Dereference:
					ReplaceCurrentNode(unaryOperatorExpression.Expression.Member("Target"));
					break;
				case UnaryOperatorType.AddressOf:
					ResolveResult rr = resolver.ResolveInternal(unaryOperatorExpression.Expression, ExpressionContext.Default);
					if (rr != null && rr.ResolvedType != null) {
						TypeReference targetType = Refactoring.CodeGenerator.ConvertType(rr.ResolvedType, CreateContext());
						TypeReference pointerType = new TypeReference("Pointer", new List<TypeReference> { targetType });
						ReplaceCurrentNode(pointerType.New(unaryOperatorExpression.Expression));
					}
					break;
			}
			return null;
		}