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
public object VisitGetTypeExpression(GetTypeExpression getTypeExpression, object data) 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) public object VisitTypeOfIsExpression(TypeOfIsExpression typeOfIsExpression, object data)

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

@ -204,7 +204,8 @@ namespace ICSharpCode.NRefactory.VB.Visitors
public AstNode VisitDefaultValueExpression(CSharp.DefaultValueExpression defaultValueExpression, object data) 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) 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) 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) public AstNode VisitTypeReferenceExpression(CSharp.TypeReferenceExpression typeReferenceExpression, object data)

Loading…
Cancel
Save