Browse Source

go to definition now works for parameters too

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@273 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Andrea Paatz 21 years ago
parent
commit
4409a2e4e0
  1. 1563
      src/Libraries/NRefactory/Project/Src/Parser/CSharp/Parser.cs
  2. 3
      src/Libraries/NRefactory/Project/Src/Parser/CSharp/cs.ATG
  3. 2
      src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs
  4. 6
      src/Main/Base/Project/Src/Dom/ResolveResult.cs

1563
src/Libraries/NRefactory/Project/Src/Parser/CSharp/Parser.cs

File diff suppressed because it is too large Load Diff

3
src/Libraries/NRefactory/Project/Src/Parser/CSharp/cs.ATG

@ -976,13 +976,14 @@ FixedParameter<out ParameterDeclarationExpression p> @@ -976,13 +976,14 @@ FixedParameter<out ParameterDeclarationExpression p>
(.
TypeReference type;
ParamModifier mod = ParamModifier.In;
System.Drawing.Point start = t.Location;
.)
=
[
"ref" (. mod = ParamModifier.Ref; .)
| "out" (. mod = ParamModifier.Out; .)
]
Type<out type> ident (. p = new ParameterDeclarationExpression(type, t.val, mod); .)
Type<out type> ident (. p = new ParameterDeclarationExpression(type, t.val, mod); p.StartLocation = start; p.EndLocation = t.Location; .)
.
ParameterArray<out ParameterDeclarationExpression p>

2
src/Main/Base/Project/Src/Dom/NRefactoryResolver/NRefactoryASTConvertVisitor.cs

@ -386,7 +386,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver @@ -386,7 +386,7 @@ namespace ICSharpCode.SharpDevelop.Dom.NRefactoryResolver
IParameter CreateParameter(AST.ParameterDeclarationExpression par, IMethod method)
{
IReturnType parType = CreateReturnType(par.TypeReference, method);
DefaultParameter p = new DefaultParameter(par.ParameterName, parType, null);
DefaultParameter p = new DefaultParameter(par.ParameterName, parType, new DefaultRegion(par.StartLocation, par.EndLocation));
p.Modifiers = (ParameterModifiers)par.ParamModifier;
return p;
}

6
src/Main/Base/Project/Src/Dom/ResolveResult.cs

@ -210,10 +210,12 @@ namespace ICSharpCode.SharpDevelop.Dom @@ -210,10 +210,12 @@ namespace ICSharpCode.SharpDevelop.Dom
return null;
}
IRegion reg = field.Region;
if (reg != null)
if (reg != null) {
return new FilePosition(cu.FileName, new Point(reg.BeginLine, reg.BeginColumn));
else
} else {
Console.WriteLine("Fieldregion not set!");
return new FilePosition(cu.FileName, Point.Empty);
}
}
}
#endregion

Loading…
Cancel
Save