Fixed the generation of properties to take indirect return types into account. Added "return" as a verb.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Fixed the generation of properties by considering value and read-only pointer types the same for complex types. Fixed the counting of parameters to consider indirect ones.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Added "register" to the list of verbs.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Removed a check for const-ness because of a parser bug. Added tests for properties of complex types.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Fixed the generation of v-table delegates to take into account indirect return types.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Fixed the new tests for properties to work around the existing unrelated bug of incorrect field values.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Fixed a crash when setting up v-tables.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Prevented postfix and dereference operators from being wrapped as such because C# does not support them.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Prefixed "System.Runtime.InteropServices" with "global::" to prevent name collision.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Added the method to its block to maintain the connection between them.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Fix some typos in the docs
Merge pull request #100 from sk-havok/req/typos_in_docs

Fix some typos in the docs
Added tests about the dereference and prefix/postfix operators. Fixed multiple inheritance not to include operators in interfaces.

Signed-off-by: Dimitar Dobrev <dpldobrev@yahoo.com>
Merge pull request #81 from ddobrev/master

Consider indirect args and value type - pointer type pairs when generating properties
Fixed generation of C# vtable interop code. Update the vtable generation index in each iteration.
Formatting changes.
Fixed a tricky bug that was breaking generation of vtables interop code.

The generation problem manifested as duplication of methods in the AST which was breaking the numbering logic and caused duplicated delegates.

The root problem was that in the parser we sometimes would walk through methods but forget to add them to their respective classes.

No test because it's tricky to trigger it.
Released a new version.
Fixed generation of vtable components.

Only generate delegates for each unique vtable component entry and skip vtable hook registration for duplicated entries.
Fixed duplicated vtable delegate generation by changing the way the unique name is generated.

Previously, we could get duplicated names due to different named methods (setFoo and setFoo1) having overloads (and names for them would be setFoo11 [id: 11] and setFoo11 [id: 1]).