diff --git a/ICSharpCode.NRefactory.VB/OutputVisitor/OutputVisitor.cs b/ICSharpCode.NRefactory.VB/OutputVisitor/OutputVisitor.cs index 6a183a7ff6..75d3ddcd33 100644 --- a/ICSharpCode.NRefactory.VB/OutputVisitor/OutputVisitor.cs +++ b/ICSharpCode.NRefactory.VB/OutputVisitor/OutputVisitor.cs @@ -419,7 +419,14 @@ namespace ICSharpCode.NRefactory.VB public object VisitGetTypeExpression(GetTypeExpression getTypeExpression, object data) { - throw new NotImplementedException(); + StartNode(getTypeExpression); + + WriteKeyword("GetType"); + LPar(); + getTypeExpression.Type.AcceptVisitor(this, data); + RPar(); + + return EndNode(getTypeExpression); } public object VisitTypeOfIsExpression(TypeOfIsExpression typeOfIsExpression, object data) diff --git a/ICSharpCode.NRefactory.VB/Visitors/CSharpToVBConverterVisitor.cs b/ICSharpCode.NRefactory.VB/Visitors/CSharpToVBConverterVisitor.cs index ebeddbabf1..e4555bc375 100644 --- a/ICSharpCode.NRefactory.VB/Visitors/CSharpToVBConverterVisitor.cs +++ b/ICSharpCode.NRefactory.VB/Visitors/CSharpToVBConverterVisitor.cs @@ -204,7 +204,8 @@ namespace ICSharpCode.NRefactory.VB.Visitors public AstNode VisitDefaultValueExpression(CSharp.DefaultValueExpression defaultValueExpression, object data) { - throw new NotImplementedException(); + // Nothing is equivalent to default(T) for reference and value types. + return EndNode(defaultValueExpression, new PrimitiveExpression(null)); } public AstNode VisitDirectionExpression(CSharp.DirectionExpression directionExpression, object data) @@ -316,7 +317,9 @@ namespace ICSharpCode.NRefactory.VB.Visitors public AstNode VisitTypeOfExpression(CSharp.TypeOfExpression typeOfExpression, object data) { - throw new NotImplementedException(); + var expr = new GetTypeExpression(); + expr.Type = (AstType)typeOfExpression.Type.AcceptVisitor(this, data); + return EndNode(typeOfExpression, expr); } public AstNode VisitTypeReferenceExpression(CSharp.TypeReferenceExpression typeReferenceExpression, object data)