Browse Source

Added some bounds checking.

newNRvisualizers
Mike Krüger 14 years ago
parent
commit
54b6c5714f
  1. 12
      ICSharpCode.NRefactory.CSharp/Parser/CSharpParser.cs

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

@ -23,7 +23,6 @@
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
// THE SOFTWARE. // THE SOFTWARE.
using System; using System;
using System.Linq; using System.Linq;
using System.Collections.Generic; using System.Collections.Generic;
@ -920,6 +919,7 @@ namespace ICSharpCode.NRefactory.CSharp
parent.AddChild (ConvertAttributeSection (attr), AttributedNode.AttributeRole); parent.AddChild (ConvertAttributeSection (attr), AttributedNode.AttributeRole);
} }
} }
public void AddAttributeSection (AstNode parent, Attributes attrs) public void AddAttributeSection (AstNode parent, Attributes attrs)
{ {
AddAttributeSection (parent, attrs, AttributedNode.AttributeRole); AddAttributeSection (parent, attrs, AttributedNode.AttributeRole);
@ -1002,7 +1002,7 @@ namespace ICSharpCode.NRefactory.CSharp
newMethod.AddChild (new CSharpTokenNode (Convert (location [0]), 1), MethodDeclaration.Roles.LPar); newMethod.AddChild (new CSharpTokenNode (Convert (location [0]), 1), MethodDeclaration.Roles.LPar);
AddParameter (newMethod, m.ParameterInfo); AddParameter (newMethod, m.ParameterInfo);
if (location != null) if (location != null && location.Count > 1)
newMethod.AddChild (new CSharpTokenNode (Convert (location [1]), 1), MethodDeclaration.Roles.RPar); newMethod.AddChild (new CSharpTokenNode (Convert (location [1]), 1), MethodDeclaration.Roles.RPar);
AddConstraints (newMethod, m.CurrentTypeParameters); AddConstraints (newMethod, m.CurrentTypeParameters);
@ -1851,7 +1851,6 @@ namespace ICSharpCode.NRefactory.CSharp
return result; return result;
} }
public override object Visit (Checked checkedStatement) public override object Visit (Checked checkedStatement)
{ {
var result = new CheckedStatement (); var result = new CheckedStatement ();
@ -2079,7 +2078,7 @@ namespace ICSharpCode.NRefactory.CSharp
public override object Visit (LocalVariableReference localVariableReference) public override object Visit (LocalVariableReference localVariableReference)
{ {
return Identifier.Create (localVariableReference.Name, Convert (localVariableReference.Location));; return Identifier.Create (localVariableReference.Name, Convert (localVariableReference.Location));
} }
public override object Visit (MemberAccess memberAccess) public override object Visit (MemberAccess memberAccess)
@ -2147,7 +2146,6 @@ namespace ICSharpCode.NRefactory.CSharp
return booleanExpression.Expr.Accept (this); return booleanExpression.Expr.Accept (this);
} }
public override object Visit (Mono.CSharp.ParenthesizedExpression parenthesizedExpression) public override object Visit (Mono.CSharp.ParenthesizedExpression parenthesizedExpression)
{ {
var result = new ParenthesizedExpression (); var result = new ParenthesizedExpression ();
@ -2458,7 +2456,7 @@ namespace ICSharpCode.NRefactory.CSharp
if (p.Name != null) if (p.Name != null)
parameterDeclarationExpression.AddChild (Identifier.Create (p.Name, Convert (p.Location)), ParameterDeclaration.Roles.Identifier); parameterDeclarationExpression.AddChild (Identifier.Create (p.Name, Convert (p.Location)), ParameterDeclaration.Roles.Identifier);
if (p.HasDefaultValue) { if (p.HasDefaultValue) {
if (location != null) if (location != null && location.Count > 1)
parameterDeclarationExpression.AddChild (new CSharpTokenNode (Convert (location [1]), 1), ParameterDeclaration.Roles.Assign); parameterDeclarationExpression.AddChild (new CSharpTokenNode (Convert (location [1]), 1), ParameterDeclaration.Roles.Assign);
parameterDeclarationExpression.AddChild ((Expression)p.DefaultValue.Accept (this), ParameterDeclaration.Roles.Expression); parameterDeclarationExpression.AddChild ((Expression)p.DefaultValue.Accept (this), ParameterDeclaration.Roles.Expression);
} }
@ -2774,7 +2772,6 @@ namespace ICSharpCode.NRefactory.CSharp
} }
} }
public override object Visit (NewInitialize newInitializeExpression) public override object Visit (NewInitialize newInitializeExpression)
{ {
var result = new ObjectCreateExpression (); var result = new ObjectCreateExpression ();
@ -2797,7 +2794,6 @@ namespace ICSharpCode.NRefactory.CSharp
return result; return result;
} }
public override object Visit (ArrayCreation arrayCreationExpression) public override object Visit (ArrayCreation arrayCreationExpression)
{ {
var result = new ArrayCreateExpression (); var result = new ArrayCreateExpression ();

Loading…
Cancel
Save