Loading files
This file is pinned to the selected release. Download the original to open it in your design tool.
using System.Collections.Generic;
using GodotExt;
using OpenScadGraphEditor.Library;
namespace OpenScadGraphEditor.Refactorings
{
/// <summary>
/// Refactoring for modifying the documentation of an Invokable.
/// </summary>
public class ChangeInvokableDocumentationRefactoring : Refactoring
{
private readonly InvokableDescription _invokableDescription;
private readonly string _description;
private readonly string _returnValueDescription;
private readonly List<string> _parameterDescriptions;
public ChangeInvokableDocumentationRefactoring(FunctionDescription functionDescription,
string description, string returnValueDescription, List<string> parameterDescriptions)
{
_invokableDescription = functionDescription;
_description = description;
_returnValueDescription = returnValueDescription;
_parameterDescriptions = parameterDescriptions;
GdAssert.That(_parameterDescriptions.Count == functionDescription.Parameters.Count, "Parameter count mismatch");
}
public ChangeInvokableDocumentationRefactoring(ModuleDescription moduleDescription,
string description, List<string> parameterDescriptions)
{
_invokableDescription = moduleDescription;
_description = description;
_parameterDescriptions = parameterDescriptions;
GdAssert.That(_parameterDescriptions.Count == moduleDescription.Parameters.Count, "Parameter count mismatch");
}
public override void PerformRefactoring(RefactoringContext context)
{
_invokableDescription.Description = _description;
if (_invokableDescription is FunctionDescription functionDescription)
{
functionDescription.ReturnValueDescription = _returnValueDescription;
}
for (var i = 0; i < _parameterDescriptions.Count; i++)
{
_invokableDescription.Parameters[i].Description = _parameterDescriptions[i];
}
}
}
}7192f5216This file is pinned to the selected release. Download the original to open it in your design tool.