Browse Source

Generate valid C# for setters returning Booleans

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/1632/head
Dimitar Dobrev 4 years ago
parent
commit
2fdd0822d2
  1. 4
      src/Generator/Generators/CSharp/CSharpSources.cs
  2. 12
      tests/Common/Common.cpp
  3. 4
      tests/Common/Common.h

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

@ -3270,8 +3270,8 @@ internal static{(@new ? " new" : string.Empty)} {printedClass} __GetInstance({Ty
var name = param.Name; var name = param.Name;
var function = (Function) param.Namespace; var function = (Function) param.Namespace;
param.Name = param.Kind == ParameterKind.ImplicitDestructorParameter ? "0" : param.Name = param.Kind == ParameterKind.ImplicitDestructorParameter ? "0" :
function.IsGenerated || function.OperatorKind == CXXOperatorKind.Subscript ? ActiveBlock.Parent.Kind != BlockKind.Property ||
name : "value"; function.OperatorKind == CXXOperatorKind.Subscript ? name : "value";
var argName = Generator.GeneratedIdentifier("arg") + paramIndex.ToString(CultureInfo.InvariantCulture); var argName = Generator.GeneratedIdentifier("arg") + paramIndex.ToString(CultureInfo.InvariantCulture);
var paramMarshal = new ParamMarshal { Name = argName, Param = param }; var paramMarshal = new ParamMarshal { Name = argName, Param = param };

12
tests/Common/Common.cpp

@ -709,10 +709,10 @@ int TestProperties::setterReturnsBoolean()
return _setterReturnsBoolean; return _setterReturnsBoolean;
} }
bool TestProperties::setSetterReturnsBoolean(int value) bool TestProperties::setSetterReturnsBoolean(int newValue)
{ {
bool changed = _setterReturnsBoolean != value; bool changed = _setterReturnsBoolean != newValue;
_setterReturnsBoolean = value; _setterReturnsBoolean = newValue;
return changed; return changed;
} }
@ -721,10 +721,10 @@ int TestProperties::virtualSetterReturnsBoolean()
return _virtualSetterReturnsBoolean; return _virtualSetterReturnsBoolean;
} }
bool TestProperties::setVirtualSetterReturnsBoolean(int value) bool TestProperties::setVirtualSetterReturnsBoolean(int newValue)
{ {
bool changed = _virtualSetterReturnsBoolean != value; bool changed = _virtualSetterReturnsBoolean != newValue;
_virtualSetterReturnsBoolean = value; _virtualSetterReturnsBoolean = newValue;
return changed; return changed;
} }

4
tests/Common/Common.h

@ -561,10 +561,10 @@ public:
void set(int value); void set(int value);
int setterReturnsBoolean(); int setterReturnsBoolean();
bool setSetterReturnsBoolean(int value); bool setSetterReturnsBoolean(int newValue);
virtual int virtualSetterReturnsBoolean(); virtual int virtualSetterReturnsBoolean();
virtual bool setVirtualSetterReturnsBoolean(int value); virtual bool setVirtualSetterReturnsBoolean(int newValue);
int nestedEnum(); int nestedEnum();
int nestedEnum(int i); int nestedEnum(int i);

Loading…
Cancel
Save