Browse Source

convert default(T) to Nothing and typeof() to GetType()

newNRvisualizers
Siegfried Pammer 14 years ago
parent
commit
7ed36c09e8
  1. 9
      ICSharpCode.NRefactory.VB/OutputVisitor/OutputVisitor.cs
  2. 7
      ICSharpCode.NRefactory.VB/Visitors/CSharpToVBConverterVisitor.cs

9
ICSharpCode.NRefactory.VB/OutputVisitor/OutputVisitor.cs

@ -419,7 +419,14 @@ namespace ICSharpCode.NRefactory.VB @@ -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)

7
ICSharpCode.NRefactory.VB/Visitors/CSharpToVBConverterVisitor.cs

@ -204,7 +204,8 @@ namespace ICSharpCode.NRefactory.VB.Visitors @@ -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 @@ -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)

Loading…
Cancel
Save