Browse Source

fixed bug in parameter parsing.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
f479cb03e0
  1. 4
      ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs
  2. 5
      ICSharpCode.NRefactory.CSharp/Parser/mcs/parameter.cs

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

@ -815,7 +815,7 @@ namespace ICSharpCode.NRefactory.CSharp @@ -815,7 +815,7 @@ namespace ICSharpCode.NRefactory.CSharp
public void AddAttributeSection (AstNode parent, Attributable a)
{
if (a.OptAttributes == null)
if (a == null || a.OptAttributes == null)
return;
AddAttributeSection (parent, a.OptAttributes);
}
@ -2278,6 +2278,8 @@ namespace ICSharpCode.NRefactory.CSharp @@ -2278,6 +2278,8 @@ namespace ICSharpCode.NRefactory.CSharp
for (int i = 0; i < parameters.Count; i++) {
var p = (Parameter)parameters.FixedParameters [i];
if (p == null)
continue;
var location = LocationsBag.GetLocations (p);
ParameterDeclaration parameterDeclarationExpression = new ParameterDeclaration ();
AddAttributeSection (parameterDeclarationExpression, p);

5
ICSharpCode.NRefactory.CSharp/Parser/mcs/parameter.cs

@ -955,7 +955,10 @@ namespace Mono.CSharp { @@ -955,7 +955,10 @@ namespace Mono.CSharp {
int count = parameters.Length;
for (int i = 0; i < count; i++){
has_params |= (parameters [i].ModFlags & Parameter.Modifier.PARAMS) != 0;
var p = parameters [i];
if (p == null)
continue;
has_params |= (p.ModFlags & Parameter.Modifier.PARAMS) != 0;
}
}

Loading…
Cancel
Save