Browse Source

Fixed implicit/explicit operator locations.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
14d06380bb
  1. 5
      ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs

5
ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs

@ -754,19 +754,22 @@ namespace ICSharpCode.NRefactory.CSharp @@ -754,19 +754,22 @@ namespace ICSharpCode.NRefactory.CSharp
AddAttributeSection (newOperator, o);
AddModifiers (newOperator, location);
newOperator.AddChild (ConvertToType (o.TypeName), AstNode.Roles.Type);
if (o.OperatorType == Operator.OpType.Implicit) {
if (location != null) {
newOperator.AddChild (new CSharpTokenNode (Convert (location[0]), "implicit".Length), OperatorDeclaration.OperatorTypeRole);
newOperator.AddChild (new CSharpTokenNode (Convert (location[1]), "operator".Length), OperatorDeclaration.OperatorKeywordRole);
}
newOperator.AddChild (ConvertToType (o.TypeName), AstNode.Roles.Type);
} else if (o.OperatorType == Operator.OpType.Explicit) {
if (location != null) {
newOperator.AddChild (new CSharpTokenNode (Convert (location[0]), "explicit".Length), OperatorDeclaration.OperatorTypeRole);
newOperator.AddChild (new CSharpTokenNode (Convert (location[1]), "operator".Length), OperatorDeclaration.OperatorKeywordRole);
}
newOperator.AddChild (ConvertToType (o.TypeName), AstNode.Roles.Type);
} else {
newOperator.AddChild (ConvertToType (o.TypeName), AstNode.Roles.Type);
if (location != null)
newOperator.AddChild (new CSharpTokenNode (Convert (location[0]), "operator".Length), OperatorDeclaration.OperatorKeywordRole);

Loading…
Cancel
Save