Browse Source

Set the name-space of constructed parameters to their function. (#909)

pull/890/head
Kimon Topouzidis 9 years ago committed by Dimitar Dobrev
parent
commit
8d518fba22
  1. 15
      src/AST/FunctionExtensions.cs
  2. 2
      src/Generator/Generators/CLI/CLISources.cs
  3. 3
      src/Generator/Generators/CSharp/CSharpSources.cs
  4. 4
      src/Generator/Passes/CheckAbiParameters.cs
  5. 3
      src/Generator/Passes/CheckOperatorsOverloads.cs
  6. 2
      src/Generator/Passes/ObjectOverridesPass.cs
  7. 1
      src/Generator/Passes/SpecializationMethodsWithDependentPointersPass.cs

15
src/AST/FunctionExtensions.cs

@ -21,7 +21,8 @@ namespace CppSharp.AST @@ -21,7 +21,8 @@ namespace CppSharp.AST
@params.Add(new Parameter
{
QualifiedType = pointer,
Name = "instance"
Name = "instance",
Namespace = function
});
}
@ -31,7 +32,8 @@ namespace CppSharp.AST @@ -31,7 +32,8 @@ namespace CppSharp.AST
@params.Add(new Parameter
{
QualifiedType = pointer,
Name = "instance"
Name = "instance",
Namespace = function
});
}
@ -45,7 +47,8 @@ namespace CppSharp.AST @@ -45,7 +47,8 @@ namespace CppSharp.AST
pointer : param.QualifiedType,
Kind = param.Kind,
Usage = param.Usage,
Name = universalDelegate ? "arg" + ++i : param.Name
Name = universalDelegate ? $"arg{++i}": param.Name,
Namespace = param.Namespace
});
if (param.Kind == ParameterKind.IndirectReturnType &&
@ -54,7 +57,8 @@ namespace CppSharp.AST @@ -54,7 +57,8 @@ namespace CppSharp.AST
@params.Add(new Parameter
{
QualifiedType = pointer,
Name = "instance"
Name = "instance",
Namespace = function
});
}
}
@ -67,7 +71,8 @@ namespace CppSharp.AST @@ -67,7 +71,8 @@ namespace CppSharp.AST
@params.Add(new Parameter
{
QualifiedType = new QualifiedType(new BuiltinType(PrimitiveType.Int)),
Name = "__forBases"
Name = "__forBases",
Namespace = function
});
}
}

2
src/Generator/Generators/CLI/CLISources.cs

@ -946,7 +946,7 @@ namespace CppSharp.Generators.CLI @@ -946,7 +946,7 @@ namespace CppSharp.Generators.CLI
{
WriteLine("auto {0} = ::{1}();", valueMarshalName, @class.QualifiedOriginalName);
var param = new Parameter { Name = "(*this)" };
var param = new Parameter { Name = "(*this)" , Namespace = function.Namespace };
var ctx = new MarshalContext(Context)
{
MarshalVarPrefix = valueMarshalName,

3
src/Generator/Generators/CSharp/CSharpSources.cs

@ -1608,7 +1608,8 @@ namespace CppSharp.Generators.CSharp @@ -1608,7 +1608,8 @@ namespace CppSharp.Generators.CSharp
var param = new Parameter
{
Name = Helpers.ReturnIdentifier,
QualifiedType = method.OriginalReturnType
QualifiedType = method.OriginalReturnType,
Namespace = method
};
// Marshal the managed result to native

4
src/Generator/Passes/CheckAbiParameters.cs

@ -48,6 +48,7 @@ namespace CppSharp.Passes @@ -48,6 +48,7 @@ namespace CppSharp.Passes
Kind = ParameterKind.IndirectReturnType,
QualifiedType = function.ReturnType,
Name = "return",
Namespace = function
};
function.Parameters.Insert(0, indirectParam);
@ -73,7 +74,8 @@ namespace CppSharp.Passes @@ -73,7 +74,8 @@ namespace CppSharp.Passes
{
Kind = ParameterKind.ImplicitDestructorParameter,
QualifiedType = new QualifiedType(new BuiltinType(PrimitiveType.Int)),
Name = "delete"
Name = "delete",
Namespace = method
});
}

3
src/Generator/Passes/CheckOperatorsOverloads.cs

@ -84,7 +84,8 @@ namespace CppSharp.Passes @@ -84,7 +84,8 @@ namespace CppSharp.Passes
{
Name = Generator.GeneratedIdentifier("op"),
QualifiedType = new QualifiedType(type),
Kind = ParameterKind.OperatorParameter
Kind = ParameterKind.OperatorParameter,
Namespace = @operator
});
}
}

2
src/Generator/Passes/ObjectOverridesPass.cs

@ -141,7 +141,7 @@ namespace CppSharp @@ -141,7 +141,7 @@ namespace CppSharp
var methodEqualsParam = new Parameter
{
Name = "object",
QualifiedType = new QualifiedType(new CILType(typeof(Object))),
QualifiedType = new QualifiedType(new CILType(typeof(Object)))
};
var methodEquals = new Method

1
src/Generator/Passes/SpecializationMethodsWithDependentPointersPass.cs

@ -120,6 +120,7 @@ namespace CppSharp.Passes @@ -120,6 +120,7 @@ namespace CppSharp.Passes
new QualifiedType(new TagType(specializedMethod.Namespace))));
thisParameter.Name = "@this";
thisParameter.Kind = ParameterKind.Extension;
thisParameter.Namespace = extensionMethod;
extensionMethod.Parameters.Insert(0, thisParameter);
}
}

Loading…
Cancel
Save