本文整理汇总了C#中ICSharpCode.NRefactory.Ast.LocalVariableDeclaration.GetVariableDeclaration方法的典型用法代码示例。如果您正苦于以下问题:C# LocalVariableDeclaration.GetVariableDeclaration方法的具体用法?C# LocalVariableDeclaration.GetVariableDeclaration怎么用?C# LocalVariableDeclaration.GetVariableDeclaration使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ICSharpCode.NRefactory.Ast.LocalVariableDeclaration
的用法示例。
在下文中一共展示了LocalVariableDeclaration.GetVariableDeclaration方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: VisitLocalVariableDeclaration
public override object VisitLocalVariableDeclaration (LocalVariableDeclaration localVariableDeclaration, object data)
{
// Console.WriteLine ("LocalVariableDeclaration: " + localVariableDeclaration.StartLocation.ToString () + " - " + localVariableDeclaration.EndLocation.ToString ());
localVariableDeclaration.TypeReference.AcceptVisitor (this, data);
foreach (VariableDeclaration o in localVariableDeclaration.Variables) {
if (o.Name == ((IntegrateTemporaryVariableVisitorOptions)data).GetName ()) {
IntegrateTemporaryVariableVisitorOptions options = (IntegrateTemporaryVariableVisitorOptions)data;
options.Initializer = localVariableDeclaration.GetVariableDeclaration(((LocalVariable)options.Options.SelectedItem).Name).Initializer;
if (localVariableDeclaration.Variables.Count == 1) {
TextReplaceChange change = new TextReplaceChange ();
change.Description = string.Format (GettextCatalog.GetString ("Deleting local variable declaration {0}"), options.GetName ());
change.FileName = options.Options.Document.FileName;
change.Offset = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.StartLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.StartLocation.Column);
int end = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.EndLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.EndLocation.Column);
change.RemovedChars = end - change.Offset;
change.InsertedText = "";
((IntegrateTemporaryVariableVisitorOptions)data).Changes.Add (change);
} else {
TextReplaceChange change = new TextReplaceChange ();
change.Description = string.Format (GettextCatalog.GetString ("Deleting local variable declaration {0}"), options.GetName ());
change.FileName = options.Options.Document.FileName;
change.Offset = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.StartLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.StartLocation.Column);
int end = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.EndLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.EndLocation.Column);
change.RemovedChars = end - change.Offset;
localVariableDeclaration.Variables.Remove (localVariableDeclaration.GetVariableDeclaration (options.GetName ()));
INRefactoryASTProvider provider = options.Options.GetASTProvider ();
change.InsertedText = options.Options.GetWhitespaces (change.Offset) + provider.OutputNode (options.Options.Dom, localVariableDeclaration);
((IntegrateTemporaryVariableVisitorOptions)data).Changes.Add (change);
}
} else {
o.AcceptVisitor (this, data);
}
}
return null;
}
示例2: VisitLocalVariableDeclaration
public override object VisitLocalVariableDeclaration (LocalVariableDeclaration localVariableDeclaration, object data)
{
// Console.WriteLine ("LocalVariableDeclaration: " + localVariableDeclaration.StartLocation.ToString () + " - " + localVariableDeclaration.EndLocation.ToString ());
localVariableDeclaration.TypeReference.AcceptVisitor (this, data);
foreach (VariableDeclaration o in localVariableDeclaration.Variables) {
if (o.Name == ((IntegrateTemporaryVariableVisitorOptions)data).GetName ()) {
IntegrateTemporaryVariableVisitorOptions options = (IntegrateTemporaryVariableVisitorOptions)data;
options.Initializer = localVariableDeclaration.GetVariableDeclaration(((LocalVariable)options.Options.SelectedItem).Name).Initializer;
if (localVariableDeclaration.Variables.Count == 1) {
TextReplaceChange change = new TextReplaceChange ();
change.Description = string.Format (GettextCatalog.GetString ("Deleting local variable declaration {0}"), options.GetName ());
change.FileName = options.Options.Document.FileName;
int lineNumber = localVariableDeclaration.StartLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line;
change.Offset = options.Options.Document.Editor.Document.LocationToOffset (lineNumber, localVariableDeclaration.StartLocation.Column);
int end = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.EndLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.EndLocation.Column);
change.RemovedChars = end - change.Offset;
// check if whole line can be removed.
var line = options.Options.Document.Editor.GetLine (lineNumber);
if (line.GetIndentation (options.Options.Document.Editor.Document).Length == localVariableDeclaration.StartLocation.Column - 1) {
bool isEmpty = true;
for (int i = end; i < line.EndOffset; i++) {
if (!char.IsWhiteSpace (options.Options.Document.Editor.GetCharAt (i))) {
isEmpty = false;
break;
}
}
if (isEmpty) {
change.Offset = line.Offset;
change.RemovedChars = line.Length;
}
}
change.InsertedText = "";
((IntegrateTemporaryVariableVisitorOptions)data).Changes.Add (change);
} else {
TextReplaceChange change = new TextReplaceChange ();
change.Description = string.Format (GettextCatalog.GetString ("Deleting local variable declaration {0}"), options.GetName ());
change.FileName = options.Options.Document.FileName;
change.Offset = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.StartLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.StartLocation.Column);
int end = options.Options.Document.Editor.Document.LocationToOffset (localVariableDeclaration.EndLocation.Line + ((LocalVariable)options.Options.SelectedItem).DeclaringMember.BodyRegion.Start.Line, localVariableDeclaration.EndLocation.Column);
change.RemovedChars = end - change.Offset;
localVariableDeclaration.Variables.Remove (localVariableDeclaration.GetVariableDeclaration (options.GetName ()));
INRefactoryASTProvider provider = options.Options.GetASTProvider ();
change.InsertedText = options.Options.GetWhitespaces (change.Offset) + provider.OutputNode (options.Options.Dom, localVariableDeclaration);
((IntegrateTemporaryVariableVisitorOptions)data).Changes.Add (change);
}
} else {
o.AcceptVisitor (this, data);
}
}
return null;
}