|
|
|
@ -1729,9 +1729,13 @@ namespace ICSharpCode.PythonBinding
@@ -1729,9 +1729,13 @@ namespace ICSharpCode.PythonBinding
|
|
|
|
|
/// </summary>
|
|
|
|
|
void CreateFieldInitialization(FieldDeclaration field) |
|
|
|
|
{ |
|
|
|
|
foreach (VariableDeclaration variable in field.Fields) { |
|
|
|
|
for (int i = 0; i < field.Fields.Count; ++i) { |
|
|
|
|
VariableDeclaration variable = field.Fields[i]; |
|
|
|
|
|
|
|
|
|
// Ignore field if it has no initializer.
|
|
|
|
|
if (FieldHasInitialValue(variable)) { |
|
|
|
|
AddTypeToArrayInitializerIfMissing(variable); |
|
|
|
|
|
|
|
|
|
string oldVariableName = variable.Name; |
|
|
|
|
variable.Name = "self._" + variable.Name; |
|
|
|
|
VisitVariableDeclaration(variable, null); |
|
|
|
@ -1740,6 +1744,22 @@ namespace ICSharpCode.PythonBinding
@@ -1740,6 +1744,22 @@ namespace ICSharpCode.PythonBinding
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
void AddTypeToArrayInitializerIfMissing(VariableDeclaration variable) |
|
|
|
|
{ |
|
|
|
|
ArrayCreateExpression arrayCreate = variable.Initializer as ArrayCreateExpression; |
|
|
|
|
if (IsArrayMissingTypeToCreate(arrayCreate)) { |
|
|
|
|
arrayCreate.CreateType = variable.TypeReference; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool IsArrayMissingTypeToCreate(ArrayCreateExpression arrayCreate) |
|
|
|
|
{ |
|
|
|
|
if (arrayCreate != null) { |
|
|
|
|
return String.IsNullOrEmpty(arrayCreate.CreateType.Type); |
|
|
|
|
} |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Adds the method or constructor parameters.
|
|
|
|
|
/// </summary>
|
|
|
|
|