Author: fejj
Date: 2007-05-25 15:08:02 -0400 (Fri, 25 May 2007)
New Revision: 77967
Modified:
trunk/monodevelop/Core/src/MonoDevelop.Projects/ChangeLog
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/BaseRefactorer.cs
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/CodeRefactorer.cs
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/IRefactorer.cs
Log:
2007-05-25 Jeffrey Stedfast <[EMAIL PROTECTED]>
* MonoDevelop.Projects.CodeGeneration/IRefactorer.cs
(EncapsulateField): Now takes a string PropName argument instead
of a CodeMemberProperty.
* MonoDevelop.Projects.CodeGeneration/CodeRefactorer.cs
(EncapsulateField): No longer takes a CodeMemberProperty argument,
instead we now take a string propName argument.
* MonoDevelop.Projects.CodeGeneration/BaseRefactorer.cs
(EncapsulateField): Now takes a string propName argument instead
of a CodeMemberProperty - we create this on our own now so that we
can reuse ReturnTypeToDom().
Modified: trunk/monodevelop/Core/src/MonoDevelop.Projects/ChangeLog
===================================================================
--- trunk/monodevelop/Core/src/MonoDevelop.Projects/ChangeLog 2007-05-25
19:01:03 UTC (rev 77966)
+++ trunk/monodevelop/Core/src/MonoDevelop.Projects/ChangeLog 2007-05-25
19:08:02 UTC (rev 77967)
@@ -1,6 +1,21 @@
2007-05-25 Jeffrey Stedfast <[EMAIL PROTECTED]>
+ * MonoDevelop.Projects.CodeGeneration/IRefactorer.cs
+ (EncapsulateField): Now takes a string PropName argument instead
+ of a CodeMemberProperty.
+
* MonoDevelop.Projects.CodeGeneration/CodeRefactorer.cs
+ (EncapsulateField): No longer takes a CodeMemberProperty argument,
+ instead we now take a string propName argument.
+
+ * MonoDevelop.Projects.CodeGeneration/BaseRefactorer.cs
+ (EncapsulateField): Now takes a string propName argument instead
+ of a CodeMemberProperty - we create this on our own now so that we
+ can reuse ReturnTypeToDom().
+
+2007-05-25 Jeffrey Stedfast <[EMAIL PROTECTED]>
+
+ * MonoDevelop.Projects.CodeGeneration/CodeRefactorer.cs
(ImplementMember): New method like AddMember(), but takes an
IMember argument instead.
(ImplementInterface): New method to implement an interface in
Modified:
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/BaseRefactorer.cs
===================================================================
---
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/BaseRefactorer.cs
2007-05-25 19:01:03 UTC (rev 77966)
+++
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/BaseRefactorer.cs
2007-05-25 19:08:02 UTC (rev 77967)
@@ -286,7 +286,7 @@
///
/// Override this method for each language to fill-in the
Get/SetStatements
///
- public virtual IMember EncapsulateField (RefactorerContext ctx,
IClass cls, IField field, CodeMemberProperty prop)
+ public virtual IMember EncapsulateField (RefactorerContext ctx,
IClass cls, IField field, string propName)
{
// If the field isn't already
private/protected/internal, we'll need to fix it to be
if (true || field.IsPublic || (!field.IsPrivate &&
!field.IsProtectedOrInternal)) {
@@ -331,6 +331,17 @@
}
}
+ CodeMemberProperty prop = new CodeMemberProperty ();
+ prop.Name = propName;
+
+ prop.Type = ReturnTypeToDom (field.ReturnType);
+ prop.Attributes = MemberAttributes.Public;
+
+ prop.HasGet = true;
+
+ // if the field was public before, then we provide a
'set', else we don't
+ prop.HasSet = (field.IsPublic || (!field.IsPrivate &&
!field.IsProtectedOrInternal));
+
return AddMember (ctx, cls, prop);
}
Modified:
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/CodeRefactorer.cs
===================================================================
---
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/CodeRefactorer.cs
2007-05-25 19:01:03 UTC (rev 77966)
+++
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/CodeRefactorer.cs
2007-05-25 19:08:02 UTC (rev 77967)
@@ -296,7 +296,7 @@
return rv;
}
- public IMember EncapsulateField (IProgressMonitor monitor,
IClass cls, IField field, CodeMemberProperty prop, bool updateInternalRefs)
+ public IMember EncapsulateField (IProgressMonitor monitor,
IClass cls, IField field, string propName, bool updateInternalRefs)
{
RefactoryScope scope;
@@ -333,15 +333,15 @@
}
if (rename)
- mref.Rename (prop.Name);
+ mref.Rename (propName);
}
} else {
- refs.RenameAll (prop.Name);
+ refs.RenameAll (propName);
}
RefactorerContext gctx = GetGeneratorContext (cls);
IRefactorer r = GetGeneratorForClass (cls);
- IMember m = r.EncapsulateField (gctx, cls, field, prop);
+ IMember m = r.EncapsulateField (gctx, cls, field,
propName);
gctx.Save ();
return m;
Modified:
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/IRefactorer.cs
===================================================================
---
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/IRefactorer.cs
2007-05-25 19:01:03 UTC (rev 77966)
+++
trunk/monodevelop/Core/src/MonoDevelop.Projects/MonoDevelop.Projects.CodeGeneration/IRefactorer.cs
2007-05-25 19:08:02 UTC (rev 77967)
@@ -55,7 +55,7 @@
bool RenameParameter (RefactorerContext ctx, IParameter param,
string newName);
MemberReferenceCollection FindParameterReferences
(RefactorerContext ctx, string fileName, IParameter param);
- IMember EncapsulateField (RefactorerContext ctx, IClass cls,
IField field, CodeMemberProperty prop);
+ IMember EncapsulateField (RefactorerContext ctx, IClass cls,
IField field, string propName);
}
public class MemberReference
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches