mirror of https://github.com/mono/CppSharp.git
c-sharpdotnetmonobindingsbridgecclangcpluspluscppsharpglueinteropparserparsingpinvokeswigsyntax-treevisitorsxamarinxamarin-bindings
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1276 lines
21 KiB
1276 lines
21 KiB
#include "Common.h" |
|
#include <string.h> |
|
|
|
Foo::NestedAbstract::~NestedAbstract() |
|
{ |
|
} |
|
|
|
Foo::Foo() |
|
{ |
|
auto p = new int[4]; |
|
for (int i = 0; i < 4; i++) |
|
p[i] = i; |
|
SomePointer = p; |
|
SomePointerPointer = &SomePointer; |
|
} |
|
|
|
Foo::Foo(const Foo& other) : A(other.A), B(other.B) |
|
{ |
|
} |
|
|
|
Foo::Foo(Private p) |
|
{ |
|
} |
|
|
|
Foo::Foo(const float& f) |
|
{ |
|
B = f; |
|
} |
|
|
|
const int Foo::unsafe = 10; |
|
const char Foo::charArray[] = "abc"; |
|
int Foo::readWrite = 15; |
|
|
|
const char* Foo::GetANSI() |
|
{ |
|
return "ANSI"; |
|
} |
|
|
|
void Foo::TakesTypedefedPtr(FooPtr date) |
|
{ |
|
} |
|
|
|
int Foo::TakesRef(const Foo& other) |
|
{ |
|
return other.A; |
|
} |
|
|
|
bool Foo::operator ==(const Foo& other) const |
|
{ |
|
return A == other.A && B == other.B; |
|
} |
|
|
|
int Foo::fooPtr() |
|
{ |
|
return 1; |
|
} |
|
|
|
char16_t Foo::returnChar16() |
|
{ |
|
return 'a'; |
|
} |
|
|
|
Foo Foo::staticField; |
|
|
|
Foo2::Foo2() {} |
|
|
|
Foo2::Foo2(const Foo2& other) : Foo(other), C(other.C), valueTypeField(other.valueTypeField) {} |
|
|
|
Foo2 Foo2::operator<<(signed int i) |
|
{ |
|
Foo2 foo; |
|
foo.C = C << i; |
|
foo.valueTypeField = valueTypeField; |
|
foo.valueTypeField.A <<= i; |
|
return foo; |
|
} |
|
|
|
Foo2 Foo2::operator<<(signed long l) |
|
{ |
|
return *this << (signed int)l; |
|
} |
|
|
|
char Foo2::testCharMarshalling(char c) |
|
{ |
|
return c; |
|
} |
|
|
|
void Foo2::testKeywordParam(void* where, Bar::Item event, int ref) |
|
{ |
|
} |
|
|
|
Bar::Bar() |
|
{ |
|
} |
|
|
|
Bar::Bar(const Foo* foo) |
|
{ |
|
} |
|
|
|
Bar::Bar(Foo foo) |
|
{ |
|
} |
|
|
|
Bar::Item Bar::RetItem1() const |
|
{ |
|
return Bar::Item1; |
|
} |
|
|
|
Bar* Bar::returnPointerToValueType() |
|
{ |
|
return this; |
|
} |
|
|
|
bool Bar::operator ==(const Bar& arg1) const |
|
{ |
|
return A == arg1.A && B == arg1.B; |
|
} |
|
|
|
bool operator ==(Bar::Item item, const Bar& bar) |
|
{ |
|
return item == bar.RetItem1(); |
|
} |
|
|
|
Bar2::Nested::operator int() const |
|
{ |
|
return 300; |
|
} |
|
|
|
Bar2::operator int() const |
|
{ |
|
return 500; |
|
} |
|
|
|
Bar2::operator Foo2() |
|
{ |
|
Foo2 f; |
|
f.A = A; |
|
f.B = B; |
|
f.C = C; |
|
|
|
return f; |
|
} |
|
|
|
Foo2 Bar2::needFixedInstance() const |
|
{ |
|
Foo2 f; |
|
f.A = A; |
|
f.B = B; |
|
f.C = C; |
|
|
|
return f; |
|
} |
|
|
|
void Hello::PrintHello(const char* s) |
|
{ |
|
//cout << "PrintHello: " << s << "\n"; |
|
} |
|
|
|
bool Hello::test1(int i, float f) |
|
{ |
|
return i == f; |
|
} |
|
|
|
int Hello::add(int a, int b) |
|
{ |
|
return a + b; |
|
} |
|
|
|
int Hello::AddFoo(Foo foo) |
|
{ |
|
return (int)(foo.A + foo.B); |
|
} |
|
|
|
int Hello::AddFooRef(Foo& foo) |
|
{ |
|
return AddFoo(foo); |
|
} |
|
|
|
int Hello::AddFooPtr(Foo* foo) |
|
{ |
|
return AddFoo(*foo); |
|
} |
|
|
|
int Hello::AddFooPtrRef(Foo*& foo) |
|
{ |
|
return AddFoo(*foo); |
|
} |
|
|
|
int Hello::AddFoo2(Foo2 foo) |
|
{ |
|
return (int)(foo.A + foo.B + foo.C); |
|
} |
|
|
|
int Hello::AddBar(Bar bar) |
|
{ |
|
return (int)(bar.A + bar.B); |
|
} |
|
|
|
int Hello::AddBar2(Bar2 bar) |
|
{ |
|
return (int)(bar.A + bar.B + bar.C); |
|
} |
|
|
|
Foo Hello::RetFoo(int a, float b) |
|
{ |
|
Foo foo; |
|
foo.A = a; |
|
foo.B = b; |
|
return foo; |
|
} |
|
|
|
int Hello::RetEnum(Enum e) |
|
{ |
|
return (int)e; |
|
} |
|
|
|
Hello* Hello::RetNull() |
|
{ |
|
return 0; |
|
} |
|
|
|
bool Hello::TestPrimitiveOut(CS_OUT float* f) |
|
{ |
|
*f = 10; |
|
return true; |
|
} |
|
|
|
bool Hello::TestPrimitiveOutRef(CS_OUT float& f) |
|
{ |
|
f = 10; |
|
return true; |
|
} |
|
|
|
bool Hello::TestPrimitiveInOut(int* i) |
|
{ |
|
*i += 10; |
|
return true; |
|
} |
|
|
|
bool Hello::TestPrimitiveInOutRef(int& i) |
|
{ |
|
i += 10; |
|
return true; |
|
} |
|
|
|
void Hello::EnumOut(int value, CS_OUT Enum* e) |
|
{ |
|
*e = (Enum)value; |
|
} |
|
|
|
void Hello::EnumOutRef(int value, CS_OUT Enum& e) |
|
{ |
|
e = (Enum)value; |
|
} |
|
|
|
void Hello::EnumInOut(Enum* e) |
|
{ |
|
if (*e == Enum::E) |
|
*e = Enum::F; |
|
} |
|
|
|
void Hello::EnumInOutRef(Enum& e) |
|
{ |
|
if (e == Enum::E) |
|
e = Enum::F; |
|
} |
|
|
|
void Hello::StringOut(CS_OUT const char** str) |
|
{ |
|
*str = "HelloStringOut"; |
|
} |
|
|
|
void Hello::StringOutRef(CS_OUT const char*& str) |
|
{ |
|
str = "HelloStringOutRef"; |
|
} |
|
|
|
void Hello::StringInOut(CS_IN_OUT const char** str) |
|
{ |
|
if (strcmp(*str, "Hello") == 0) |
|
*str = "StringInOut"; |
|
else |
|
*str = "Failed"; |
|
} |
|
|
|
void Hello::StringInOutRef(CS_IN_OUT const char*& str) |
|
{ |
|
if (strcmp(str, "Hello") == 0) |
|
str = "StringInOutRef"; |
|
else |
|
str = "Failed"; |
|
} |
|
|
|
void Hello::StringTypedef(const TypedefChar* str) |
|
{ |
|
} |
|
|
|
int unsafeFunction(const Bar& ret, char* testForString, void (*foo)(int)) |
|
{ |
|
return ret.A; |
|
} |
|
|
|
const wchar_t* wcharFunction(const wchar_t* constWideChar) |
|
{ |
|
return constWideChar; |
|
} |
|
|
|
Bar indirectReturn() |
|
{ |
|
return Bar(); |
|
} |
|
|
|
TestDelegates::TestDelegates() : A(Double), B(Double), C(&TestDelegates::Triple) |
|
{ |
|
} |
|
|
|
int TestDelegates::Double(int N) |
|
{ |
|
return N * 2; |
|
} |
|
|
|
int TestDelegates::Triple(int N) |
|
{ |
|
return N * 3; |
|
} |
|
|
|
int TestDelegates::StdCall(DelegateStdCall del) |
|
{ |
|
return del(1); |
|
} |
|
|
|
int TestDelegates::CDecl(DelegateCDecl del) |
|
{ |
|
return del(1); |
|
} |
|
|
|
AbstractFoo::~AbstractFoo() |
|
{ |
|
} |
|
|
|
int ImplementsAbstractFoo::pureFunction(typedefInOverride i) |
|
{ |
|
return 5; |
|
} |
|
|
|
int ImplementsAbstractFoo::pureFunction1() |
|
{ |
|
return 10; |
|
} |
|
|
|
int ImplementsAbstractFoo::pureFunction2(bool* ok) |
|
{ |
|
return 15; |
|
} |
|
|
|
const AbstractFoo& ReturnsAbstractFoo::getFoo() |
|
{ |
|
return i; |
|
} |
|
|
|
Exception::~Exception() |
|
{ |
|
} |
|
|
|
Ex2* DerivedException::clone() |
|
{ |
|
return 0; |
|
} |
|
|
|
void DefaultParameters::Foo(int a, int b) |
|
{ |
|
} |
|
|
|
void DefaultParameters::Foo(int a) |
|
{ |
|
} |
|
|
|
void DefaultParameters::Bar() const |
|
{ |
|
} |
|
|
|
void DefaultParameters::Bar() |
|
{ |
|
} |
|
|
|
int test(common& s) |
|
{ |
|
return 5; |
|
} |
|
|
|
int operator *(TestMoveOperatorToClass klass, int b) |
|
{ |
|
return klass.A * b; |
|
} |
|
|
|
TestMoveOperatorToClass::TestMoveOperatorToClass() |
|
{ |
|
} |
|
|
|
TestMoveOperatorToClass operator-(const TestMoveOperatorToClass& b) |
|
{ |
|
TestMoveOperatorToClass nb; |
|
nb.A = -b.A; |
|
nb.B = -b.B; |
|
return nb; |
|
} |
|
|
|
TestMoveOperatorToClass operator+(const TestMoveOperatorToClass& b1, |
|
const TestMoveOperatorToClass& b2) |
|
{ |
|
TestMoveOperatorToClass b; |
|
b.A = b1.A + b2.A; |
|
b.B = b1.B + b2.B; |
|
return b; |
|
} |
|
|
|
int operator==(const Foo2& a, const Foo2& b) |
|
{ |
|
return 0; |
|
} |
|
|
|
void va_listFunction(va_list v) |
|
{ |
|
} |
|
|
|
void TestDelegates::MarshalUnattributedDelegate(DelegateInGlobalNamespace del) |
|
{ |
|
} |
|
|
|
int TestDelegates::MarshalAnonymousDelegate(int (*del)(int n)) |
|
{ |
|
return del(1); |
|
} |
|
|
|
void TestDelegates::MarshalAnonymousDelegate2(int (*del)(int n)) |
|
{ |
|
} |
|
|
|
void TestDelegates::MarshalAnonymousDelegate3(float (*del)(float n)) |
|
{ |
|
} |
|
|
|
int f(int n) |
|
{ |
|
return n * 2; |
|
} |
|
|
|
int (*TestDelegates::MarshalAnonymousDelegate4())(int n) |
|
{ |
|
return f; |
|
} |
|
|
|
int TestDelegates::MarshalAnonymousDelegate5(int (STDCALL* del)(int)) |
|
{ |
|
return del(2); |
|
} |
|
|
|
int TestDelegates::MarshalAnonymousDelegate6(int (STDCALL* del)(int)) |
|
{ |
|
return del(3); |
|
} |
|
|
|
ClassA::ClassA(int value) |
|
{ |
|
Value = value; |
|
} |
|
|
|
ClassA::ClassA(const ClassA& other, bool param) |
|
{ |
|
Value = other.Value; |
|
} |
|
|
|
ClassB::ClassB(const ClassA& x) |
|
{ |
|
Value = x.Value; |
|
} |
|
|
|
ClassC::ClassC(const ClassA* x) |
|
{ |
|
Value = x->Value; |
|
} |
|
|
|
ClassC::ClassC(const ClassB& x) |
|
{ |
|
Value = x.Value; |
|
} |
|
|
|
ClassD::ClassD(int value) |
|
: Field(value) |
|
{ |
|
} |
|
|
|
decltype(Expr) TestDecltype() |
|
{ |
|
return Expr; |
|
} |
|
|
|
void TestNullPtrType(decltype(nullptr)) |
|
{ |
|
} |
|
|
|
decltype(nullptr) TestNullPtrTypeRet() |
|
{ |
|
return nullptr; |
|
} |
|
|
|
void DelegateNamespace::Nested::f1(void (*)()) |
|
{ |
|
} |
|
|
|
void TestDelegates::MarshalDelegateInAnotherUnit(DelegateInAnotherUnit del) |
|
{ |
|
} |
|
|
|
DelegateNullCheck TestDelegates::MarshalNullDelegate() |
|
{ |
|
return nullptr; |
|
} |
|
|
|
void DelegateNamespace::f2(void (*)()) |
|
{ |
|
} |
|
|
|
std::string HasStdString::testStdString(const std::string& s) |
|
{ |
|
return s + "_test"; |
|
} |
|
|
|
std::string HasStdString::testStdStringPassedByValue(std::string s) |
|
{ |
|
return s + "_test"; |
|
} |
|
|
|
std::string& HasStdString::getStdString() |
|
{ |
|
return s; |
|
} |
|
|
|
int Function() |
|
{ |
|
return 5; |
|
} |
|
|
|
TestProperties::TestProperties() : Field(0), ArchiveName(0), |
|
FieldValue(0), _refToPrimitiveInSetter(0), |
|
_getterAndSetterWithTheSameName(0), _setterReturnsBoolean(0), |
|
_virtualSetterReturnsBoolean(0), _conflict(Conflict::Value1), |
|
ConstRefField(Field) |
|
{ |
|
} |
|
|
|
TestProperties::TestProperties(const TestProperties& other) : |
|
Field(other.Field), ArchiveName(other.ArchiveName), |
|
FieldValue(other.FieldValue), |
|
_refToPrimitiveInSetter(other._refToPrimitiveInSetter), |
|
_getterAndSetterWithTheSameName(other._getterAndSetterWithTheSameName), |
|
_setterReturnsBoolean(other._setterReturnsBoolean), |
|
_virtualSetterReturnsBoolean(other._virtualSetterReturnsBoolean), |
|
_conflict(other._conflict), ConstRefField(other.ConstRefField) |
|
{ |
|
} |
|
|
|
TestProperties& TestProperties::operator=(const TestProperties& other) |
|
{ |
|
Field = other.Field; |
|
FieldValue = other.FieldValue; |
|
_refToPrimitiveInSetter = other._refToPrimitiveInSetter; |
|
_getterAndSetterWithTheSameName = other._getterAndSetterWithTheSameName; |
|
_setterReturnsBoolean = other._setterReturnsBoolean; |
|
_virtualSetterReturnsBoolean = other._virtualSetterReturnsBoolean; |
|
_conflict = other._conflict; |
|
return *this; |
|
} |
|
|
|
int TestProperties::getFieldValue() |
|
{ |
|
return Field; |
|
} |
|
|
|
void TestProperties::setFieldValue(int Value) |
|
{ |
|
Field = Value; |
|
} |
|
|
|
bool TestProperties::isVirtual() |
|
{ |
|
return false; |
|
} |
|
|
|
void TestProperties::setVirtual(bool value) |
|
{ |
|
} |
|
|
|
double TestProperties::refToPrimitiveInSetter() const |
|
{ |
|
return _refToPrimitiveInSetter; |
|
} |
|
|
|
void TestProperties::setRefToPrimitiveInSetter(const double& value) |
|
{ |
|
_refToPrimitiveInSetter = value; |
|
} |
|
|
|
int TestProperties::getterAndSetterWithTheSameName() |
|
{ |
|
return _getterAndSetterWithTheSameName; |
|
} |
|
|
|
void TestProperties::getterAndSetterWithTheSameName(int value) |
|
{ |
|
_getterAndSetterWithTheSameName = value; |
|
} |
|
|
|
int TestProperties::get() const |
|
{ |
|
return 3; |
|
} |
|
|
|
void TestProperties::set(int value) |
|
{ |
|
} |
|
|
|
int TestProperties::Get() const |
|
{ |
|
return 3; |
|
} |
|
|
|
void TestProperties::Set(int value) |
|
{ |
|
} |
|
|
|
int TestProperties::setterReturnsBoolean() |
|
{ |
|
return _setterReturnsBoolean; |
|
} |
|
|
|
bool TestProperties::setSetterReturnsBoolean(int newValue) |
|
{ |
|
bool changed = _setterReturnsBoolean != newValue; |
|
_setterReturnsBoolean = newValue; |
|
return changed; |
|
} |
|
|
|
int TestProperties::virtualSetterReturnsBoolean() |
|
{ |
|
return _virtualSetterReturnsBoolean; |
|
} |
|
|
|
bool TestProperties::setVirtualSetterReturnsBoolean(int newValue) |
|
{ |
|
bool changed = _virtualSetterReturnsBoolean != newValue; |
|
_virtualSetterReturnsBoolean = newValue; |
|
return changed; |
|
} |
|
|
|
int TestProperties::nestedEnum() |
|
{ |
|
return 5; |
|
} |
|
|
|
int TestProperties::nestedEnum(int i) |
|
{ |
|
return i; |
|
} |
|
|
|
int TestProperties::get32Bit() |
|
{ |
|
return 10; |
|
} |
|
|
|
bool TestProperties::isEmpty() |
|
{ |
|
return empty(); |
|
} |
|
|
|
bool TestProperties::empty() |
|
{ |
|
return false; |
|
} |
|
|
|
int TestProperties::virtualGetter() |
|
{ |
|
return 15; |
|
} |
|
|
|
int TestProperties::startWithVerb() |
|
{ |
|
return 25; |
|
} |
|
|
|
void TestProperties::setStartWithVerb(int value) |
|
{ |
|
} |
|
|
|
void TestProperties::setSetterBeforeGetter(bool value) |
|
{ |
|
} |
|
|
|
bool TestProperties::isSetterBeforeGetter() |
|
{ |
|
return true; |
|
} |
|
|
|
bool TestProperties::contains(char c) |
|
{ |
|
return true; |
|
} |
|
|
|
bool TestProperties::contains(const char* str) |
|
{ |
|
return true; |
|
} |
|
|
|
TestProperties::Conflict TestProperties::GetConflict() |
|
{ |
|
return _conflict; |
|
} |
|
|
|
void TestProperties::SetConflict(Conflict conflict) |
|
{ |
|
_conflict = conflict; |
|
} |
|
|
|
int(*TestProperties::getCallback())(int) |
|
{ |
|
return _callback; |
|
} |
|
|
|
void TestProperties::setCallback(int(*value)(int)) |
|
{ |
|
_callback = value; |
|
} |
|
|
|
int TestProperties::GetArchiveName() const |
|
{ |
|
return 20; |
|
} |
|
void HasOverridenSetter::setVirtual(bool value) |
|
{ |
|
} |
|
|
|
int HasOverridenSetter::virtualSetterReturnsBoolean() |
|
{ |
|
return TestProperties::virtualSetterReturnsBoolean(); |
|
} |
|
|
|
bool HasOverridenSetter::setVirtualSetterReturnsBoolean(int value) |
|
{ |
|
return TestProperties::setVirtualSetterReturnsBoolean(value); |
|
} |
|
|
|
int HasOverridenSetter::virtualGetter() |
|
{ |
|
return 20; |
|
} |
|
|
|
void HasOverridenSetter::setVirtualGetter(int value) |
|
{ |
|
} |
|
|
|
TestIndexedProperties::TestIndexedProperties() : p(1), f() |
|
{ |
|
} |
|
|
|
foo_t& TestIndexedProperties::operator[](int i) { return p; } |
|
const TestProperties& TestIndexedProperties::operator[](short b) { return f; } |
|
foo_t TestIndexedProperties::operator[](const char* name) { return p; } |
|
foo_t* TestIndexedProperties::operator[](float f) { return &p; } |
|
TestProperties* TestIndexedProperties::operator[](unsigned char b) { return &f; } |
|
Bar& TestIndexedProperties::operator[](unsigned long i) |
|
{ |
|
return bar; |
|
} |
|
Bar& TestIndexedProperties::operator[](const TypeMappedIndex& key) |
|
{ |
|
return bar; |
|
} |
|
|
|
const foo_t& TestIndexedProperties::operator[](double f) { return p; } |
|
foo_t TestIndexedProperties::operator[](TestProperties b) { return p; } |
|
|
|
int TestIndexedProperties::operator[](CS_OUT char key) |
|
{ |
|
return key; |
|
} |
|
|
|
TypeMappedIndex::TypeMappedIndex() |
|
{ |
|
} |
|
|
|
Bar& TestIndexedProperties::operator[](const Foo& key) |
|
{ |
|
return bar; |
|
} |
|
|
|
int TestVariables::VALUE; |
|
void TestVariables::SetValue(int value) { VALUE = value; } |
|
|
|
LPCWSTR TestWideStrings::GetWidePointer() { return L"Hello"; } |
|
|
|
LPCWSTR TestWideStrings::GetWideNullPointer() { return 0; } |
|
|
|
InternalCtorAmbiguity::InternalCtorAmbiguity(void* param) |
|
{ |
|
// cause a crash to indicate this is the incorrect ctor to invoke |
|
throw; |
|
} |
|
|
|
InvokesInternalCtorAmbiguity::InvokesInternalCtorAmbiguity() : ptr(0) |
|
{ |
|
} |
|
|
|
InternalCtorAmbiguity* InvokesInternalCtorAmbiguity::InvokeInternalCtor() |
|
{ |
|
return ptr; |
|
} |
|
|
|
HasFriend::HasFriend(int m) |
|
{ |
|
this->m = m; |
|
} |
|
|
|
int HasFriend::getM() |
|
{ |
|
return m; |
|
} |
|
|
|
DLL_API const HasFriend operator+(const HasFriend& f1, const HasFriend& f2) |
|
{ |
|
return HasFriend(f1.m + f2.m); |
|
} |
|
|
|
DLL_API const HasFriend operator-(const HasFriend& f1, const HasFriend& f2) |
|
{ |
|
return HasFriend(f1.m - f2.m); |
|
} |
|
|
|
DifferentConstOverloads::DifferentConstOverloads() : i(5) |
|
{ |
|
} |
|
|
|
int DifferentConstOverloads::getI() const |
|
{ |
|
return i; |
|
} |
|
|
|
bool DifferentConstOverloads::operator ==(const DifferentConstOverloads& other) |
|
{ |
|
return i == other.i; |
|
} |
|
|
|
bool DifferentConstOverloads::operator !=(const DifferentConstOverloads& other) |
|
{ |
|
return i != other.i; |
|
} |
|
|
|
bool DifferentConstOverloads::operator ==(int number) const |
|
{ |
|
return i == number; |
|
} |
|
|
|
bool DifferentConstOverloads::operator ==(std::string s) const |
|
{ |
|
return i == s.length(); |
|
} |
|
|
|
bool operator ==(const DifferentConstOverloads& d, const char* s) |
|
{ |
|
return d.getI() == strlen(s); |
|
} |
|
|
|
int HasVirtualProperty::getProperty() |
|
{ |
|
return 1; |
|
} |
|
|
|
void HasVirtualProperty::setProperty(int target) |
|
{ |
|
} |
|
|
|
int HasVirtualProperty::getProtectedProperty() |
|
{ |
|
return 2; |
|
} |
|
|
|
void HasVirtualProperty::setProtectedProperty(int value) |
|
{ |
|
} |
|
|
|
int ChangedAccessOfInheritedProperty::getProperty() |
|
{ |
|
return 2; |
|
} |
|
|
|
void ChangedAccessOfInheritedProperty::setProperty(int value) |
|
{ |
|
} |
|
|
|
int ChangedAccessOfInheritedProperty::getProtectedProperty() |
|
{ |
|
return 3; |
|
} |
|
|
|
void ChangedAccessOfInheritedProperty::setProtectedProperty(int value) |
|
{ |
|
} |
|
|
|
Empty ReturnsEmpty::getEmpty() |
|
{ |
|
return Empty(); |
|
} |
|
|
|
void funcTryRefTypePtrOut(CS_OUT RefTypeClassPassTry* classTry) |
|
{ |
|
} |
|
|
|
void funcTryRefTypeOut(CS_OUT RefTypeClassPassTry classTry) |
|
{ |
|
} |
|
|
|
void funcTryValTypePtrOut(CS_OUT ValueTypeClassPassTry* classTry) |
|
{ |
|
} |
|
|
|
void funcTryValTypeOut(CS_OUT ValueTypeClassPassTry classTry) |
|
{ |
|
} |
|
|
|
HasProblematicFields::HasProblematicFields() : b(false), c(0) |
|
{ |
|
} |
|
|
|
HasProblematicFields HasVirtualReturningHasProblematicFields::returnsProblematicFields() |
|
{ |
|
return HasProblematicFields(); |
|
} |
|
|
|
int BaseClassVirtual::retInt(const Foo1& foo) |
|
{ |
|
return 1; |
|
} |
|
|
|
BaseClassVirtual BaseClassVirtual::getBase() |
|
{ |
|
return DerivedClassVirtual(); |
|
} |
|
|
|
int DerivedClassVirtual::retInt(const Foo2& foo) |
|
{ |
|
return 2; |
|
} |
|
int DerivedClassOverrideAbstractVirtual::retInt(const Foo& foo) |
|
{ |
|
return 1; |
|
} |
|
|
|
int OverridesNonDirectVirtual::retInt(const Foo& foo) |
|
{ |
|
return 3; |
|
} |
|
|
|
AbstractWithVirtualDtor::~AbstractWithVirtualDtor() |
|
{ |
|
} |
|
|
|
NonTrivialDtorBase::~NonTrivialDtorBase() |
|
{ |
|
} |
|
|
|
NonTrivialDtor::NonTrivialDtor() |
|
{ |
|
dtorCalled = false; |
|
} |
|
|
|
NonTrivialDtor::~NonTrivialDtor() |
|
{ |
|
dtorCalled = true; |
|
} |
|
|
|
bool NonTrivialDtor::getDtorCalled() |
|
{ |
|
return true; |
|
} |
|
|
|
void NonTrivialDtor::setDtorCalled(bool value) |
|
{ |
|
dtorCalled = true; |
|
} |
|
|
|
bool NonTrivialDtor::dtorCalled = false; |
|
|
|
int func_union(union_t u) |
|
{ |
|
return u.c; |
|
} |
|
|
|
void HasProtectedEnum::function(ProtectedEnum param) |
|
{ |
|
} |
|
|
|
void FuncWithTypeAlias(custom_int_t i) |
|
{ |
|
} |
|
|
|
void FuncWithTemplateTypeAlias(TypeAliasTemplate<int> i) |
|
{ |
|
} |
|
|
|
void HasOverloadsWithDifferentPointerKindsToSameType::overload(int& i) |
|
{ |
|
} |
|
|
|
void HasOverloadsWithDifferentPointerKindsToSameType::overload(int&& i) |
|
{ |
|
} |
|
|
|
void HasOverloadsWithDifferentPointerKindsToSameType::overload(const int& i) |
|
{ |
|
} |
|
|
|
void HasOverloadsWithDifferentPointerKindsToSameType::overload(const Foo& rx, int from) |
|
{ |
|
} |
|
|
|
void HasOverloadsWithDifferentPointerKindsToSameType::overload(Foo& rx, int from) |
|
{ |
|
} |
|
|
|
void HasOverloadsWithDifferentPointerKindsToSameType::overload(const Foo2& rx, int from) |
|
{ |
|
} |
|
|
|
void HasOverloadsWithDifferentPointerKindsToSameType::overload(Foo2&& rx, int from) |
|
{ |
|
} |
|
|
|
void HasOverloadsWithDifferentPointerKindsToSameType::dispose() |
|
{ |
|
} |
|
|
|
void hasPointerParam(Foo* foo, int i) |
|
{ |
|
} |
|
|
|
void hasPointerParam(const Foo& foo) |
|
{ |
|
} |
|
|
|
void sMallFollowedByCapital() |
|
{ |
|
} |
|
|
|
TestNotStaticClass::TestNotStaticClass() |
|
{ |
|
} |
|
|
|
TestNotStaticClass TestNotStaticClass::StaticFunction() |
|
{ |
|
return TestNotStaticClass(); |
|
} |
|
|
|
int TestStaticClass::Add(int a, int b) { return a + b; } |
|
int TestStaticClass::GetOneTwoThree() { return 123; } |
|
int TestStaticClass::_Mult(int a, int b) { return a * b; } |
|
int TestStaticClass::GetFourFiveSix() { return 456; } |
|
|
|
TestStaticClass& TestStaticClass::operator=(const TestStaticClass& oth) |
|
{ |
|
return *this; |
|
} |
|
|
|
int TestStaticClassDerived::Foo() { return 0; } |
|
|
|
HasCopyAndMoveConstructor::HasCopyAndMoveConstructor(int value) |
|
{ |
|
field = value; |
|
} |
|
|
|
HasCopyAndMoveConstructor::HasCopyAndMoveConstructor(const HasCopyAndMoveConstructor& other) |
|
{ |
|
field = other.field; |
|
} |
|
|
|
HasCopyAndMoveConstructor::HasCopyAndMoveConstructor(HasCopyAndMoveConstructor&& other) |
|
{ |
|
field = other.field; |
|
} |
|
|
|
int HasCopyAndMoveConstructor::getField() |
|
{ |
|
return field; |
|
} |
|
|
|
void ImplementsVirtualFunctionsWithStringParams::PureVirtualFunctionWithStringParams(std::string testString1, std::string testString2) |
|
{ |
|
} |
|
|
|
int HasVirtualFunctionsWithStringParams::VirtualFunctionWithStringParam(std::string testString) |
|
{ |
|
return 5; |
|
} |
|
|
|
bool HasVirtualFunctionWithBoolParams::virtualFunctionWithBoolParamAndReturnsBool(bool testBool) |
|
{ |
|
return testBool; |
|
} |
|
|
|
HasProtectedCtorWithProtectedParam::HasProtectedCtorWithProtectedParam(ProtectedEnum protectedParam) |
|
{ |
|
} |
|
|
|
SecondaryBaseWithIgnoredVirtualMethod::~SecondaryBaseWithIgnoredVirtualMethod() |
|
{ |
|
} |
|
|
|
void SecondaryBaseWithIgnoredVirtualMethod::generated() |
|
{ |
|
} |
|
|
|
void SecondaryBaseWithIgnoredVirtualMethod::ignored(const IgnoredType& ignoredParam) |
|
{ |
|
} |
|
|
|
DerivedFromSecondaryBaseWithIgnoredVirtualMethod::~DerivedFromSecondaryBaseWithIgnoredVirtualMethod() |
|
{ |
|
} |
|
|
|
void DerivedFromSecondaryBaseWithIgnoredVirtualMethod::generated() |
|
{ |
|
} |
|
|
|
void DerivedFromSecondaryBaseWithIgnoredVirtualMethod::ignored(const IgnoredType& ignoredParam) |
|
{ |
|
} |
|
|
|
AmbiguousParamNames::AmbiguousParamNames(int instance, int in) |
|
{ |
|
} |
|
|
|
int ReturnByValueWithReturnParam::getUseCount() { return _ptr.use_count(); } |
|
|
|
ReturnByValueWithReturnParam ReturnByValueWithReturnParamFactory::generate() |
|
{ |
|
return ReturnByValueWithReturnParam(); |
|
} |
|
|
|
ImplementsAbstractFoo freeFunctionReturnsVirtualDtor() |
|
{ |
|
return ImplementsAbstractFoo(); |
|
} |
|
|
|
void integerOverload(int i) |
|
{ |
|
} |
|
|
|
void integerOverload(unsigned int i) |
|
{ |
|
} |
|
|
|
void integerOverload(long i) |
|
{ |
|
} |
|
|
|
void integerOverload(unsigned long i) |
|
{ |
|
} |
|
|
|
void takeReferenceToVoidStar(const void*& p) |
|
{ |
|
} |
|
|
|
void takeVoidStarStar(void** p) |
|
{ |
|
} |
|
|
|
void overloadPointer(void* p, int i) |
|
{ |
|
} |
|
|
|
void overloadPointer(const void* p, int i) |
|
{ |
|
} |
|
|
|
const char* takeReturnUTF8(const char* utf8) |
|
{ |
|
UTF8 = utf8; |
|
return UTF8.data(); |
|
} |
|
|
|
LPCSTR TakeTypedefedMappedType(LPCSTR string) |
|
{ |
|
UTF8 = string; |
|
return UTF8.data(); |
|
} |
|
|
|
StructWithCopyCtor::StructWithCopyCtor() : mBits(0) {} |
|
StructWithCopyCtor::StructWithCopyCtor(const StructWithCopyCtor& other) : mBits(other.mBits) {} |
|
|
|
uint16_t TestStructWithCopyCtorByValue(StructWithCopyCtor s) |
|
{ |
|
return s.mBits; |
|
} |
|
|
|
BaseCovariant::~BaseCovariant() |
|
{ |
|
} |
|
|
|
DerivedCovariant::~DerivedCovariant() |
|
{ |
|
} |
|
|
|
int NonPrimitiveType::GetFoo() |
|
{ |
|
return foo; |
|
} |
|
|
|
int TestGetterSetterToProperties::getWidth() { return 640; } |
|
int TestGetterSetterToProperties::getHeight() { return 480; } |
|
|
|
void DLL_API PointerToTypedefPointerTestMethod(LPPointerToTypedefPointerTest* lp, int valToSet) |
|
{ |
|
(*(*lp)).val = valToSet; |
|
} |
|
|
|
void DLL_API PointerToPrimitiveTypedefPointerTestMethod(LPINT lp, int valToSet) |
|
{ |
|
*lp = valToSet; |
|
} |
|
|
|
TestArraysPointers::TestArraysPointers(MyEnum* values, int count) |
|
{ |
|
if (values && count) Value = values[0]; |
|
} |
|
|
|
TestCopyConstructorRef::TestCopyConstructorRef() : A(0), B(0) |
|
{ |
|
} |
|
|
|
TestCopyConstructorRef::TestCopyConstructorRef(const TestCopyConstructorRef& other) |
|
{ |
|
A = other.A; |
|
B = other.B; |
|
} |
|
|
|
|
|
SomeStruct::SomeStruct() : p(1) {} |
|
|
|
void SomeNamespace::NamespacedAbstractImpl::AbstractMethod() |
|
{ |
|
} |
|
|
|
ClassWithOverloadedOperators::ClassWithOverloadedOperators::operator char() { return 1; } |
|
ClassWithOverloadedOperators::operator int() { return 2; } |
|
ClassWithOverloadedOperators::operator short() { return 3; } |
|
bool ClassWithOverloadedOperators::operator<(const ClassWithOverloadedOperators& other) const { |
|
return true; |
|
} |
|
|
|
int TestIndexedPropertiesInValueType::operator[](int i) { return i; } |
|
|
|
extern "C" |
|
{ |
|
void takeConflictName(struct system* self) |
|
{ |
|
self->field1 = 5; |
|
self->field2 = 10; |
|
} |
|
|
|
struct system freeFunctionReturnByValue() |
|
{ |
|
struct system s; |
|
s.field1 = 5; |
|
s.field2 = 10; |
|
return s; |
|
} |
|
} // extern "C"
|
|
|