[generator] refactoring for methods #298
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the same fashion that 7a96efe refactored fields, this commit aims at
refactoring methods. I also added various unit tests to add coverage
around the new
TestMethodsupport type.Refactoring in generator:
from
ManagedExtensionsandXmlExtensions. These existed due to C#single-inheritance getting in the way of the relationship between
methods, properties, constructors, etc.
MethodandMethodBasetoCodeGeneratorandrenamed them from
Generate*toWriteMethod*. I tried to not modifythe code in these methods other than to add a parameter for the incoming
method.
*Methodclasses are now alot closer to POCOsOther changes:
ContextTypesstack inXamarinAndroidCodeGeneratorJavaInteropCodeGeneratorTestsandXamarinAndroidCodeGeneratorTestsbecause there were several tests thatwere completely identical (due to
CodeGeneratorbase class)StreamWritertoTextWriteras neededFuture plans (trying to keep this commit of reasonable size):
CodeGeneratorbase class is starting to get large. Asrefactoring continues, I would like to make a class for
FieldGenerator,MethodGenerator, etc. andCodeGeneratorwould getproperties named
FieldsandMethodsthat would return these childgenerator classes
adopt this improvement:
https://github.com/grendello/JavaBindingGenerator/blob/fb8864d1842bdf0b8d45eb04b89ef2bd57de0014/src/Java.Interop.Bindings/Compiler/MethodCodeGenerator.cs