Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -51,17 +51,24 @@ public void CreateClassDeclaration(IClassDeclarationSyntax classDeclarationSynta
classDeclarationSyntax.UsingDirectives.ToList().ForEach(p => p.Visit(visitor, this));
AddToSource($"{classDeclaration.AccessModifier.Transform()}partial class {classDeclaration.Name}");

if (Compilation.GetSemanticTree().Types
.Any(p => p.FullyQualifiedName == classDeclaration.ExtendedType?.Type.FullyQualifiedName))
AddToSource($": {classDeclarationSyntax.BaseClassName.FullyQualifiedIdentifier}");
var isExtended = Compilation.GetSemanticTree().Types
.Any(p => p.FullyQualifiedName == classDeclaration.ExtendedType?.Type.FullyQualifiedName);

AddToSource(classDeclarationSyntax.ImplementsList != null && classDeclarationSyntax.BaseClassName != null
if (isExtended)
AddToSource($" : {classDeclarationSyntax.BaseClassName.FullyQualifiedIdentifier}");



AddToSource(isExtended ? ", AXSharp.Connector.IPlain" : ": AXSharp.Connector.IPlain");

AddToSource(classDeclarationSyntax.ImplementsList != null
? ", "
: string.Empty);
AddToSource(classDeclarationSyntax.ImplementsList != null && classDeclarationSyntax.BaseClassName == null
? " : "
: string.Empty);
: "");

classDeclarationSyntax.ImplementsList?.Visit(visitor, this);



AddToSource("{");
classDeclarationSyntax.UsingDirectives.ToList().ForEach(p => p.Visit(visitor, this));
classDeclaration.Fields.ToList().ForEach(p => p.Accept(visitor, this));
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ namespace Pocos
{
namespace ArrayDeclarationSimpleNamespace
{
public partial class array_declaration_class
public partial class array_declaration_class : AXSharp.Connector.IPlain
{
public Int16[] primitive { get; set; } = new Int16[100];
public ArrayDeclarationSimpleNamespace.some_complex_type[] complex { get; set; } = new ArrayDeclarationSimpleNamespace.some_complex_type[100];
}

public partial class some_complex_type
public partial class some_complex_type : AXSharp.Connector.IPlain
{
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Pocos
{
public partial class class_all_primitives
public partial class class_all_primitives : AXSharp.Connector.IPlain
{
public Boolean myBOOL { get; set; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ namespace Pocos
{
namespace Simatic.Ax.StateFramework
{
public partial class State1Transition : AbstractState
public partial class State1Transition : AbstractState, AXSharp.Connector.IPlain
{
}
}

namespace Simatic.Ax.StateFramework
{
public partial class AbstractState : IState, IStateMuteable
public partial class AbstractState : AXSharp.Connector.IPlain, IState, IStateMuteable
{
public Int16 StateID { get; set; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

namespace Pocos
{
public partial class Extended : Extendee
public partial class Extended : Extendee, AXSharp.Connector.IPlain
{
}

public partial class Extendee
public partial class Extendee : AXSharp.Connector.IPlain
{
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@

namespace Pocos
{
public partial class ExtendsAndImplements : ExtendeeExtendsAndImplements, IImplementation1, IImplementation2
public partial class ExtendsAndImplements : ExtendeeExtendsAndImplements, AXSharp.Connector.IPlain, IImplementation1, IImplementation2
{
}

public partial class ExtendeeExtendsAndImplements
public partial class ExtendeeExtendsAndImplements : AXSharp.Connector.IPlain
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Pocos
{
public partial class _NULL_CONTEXT : IContext
public partial class _NULL_CONTEXT : AXSharp.Connector.IPlain, IContext
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Pocos
{
public partial class _NULL_CONTEXT_MULTIPLE : IContext_Multiple, IObject_Multiple
public partial class _NULL_CONTEXT_MULTIPLE : AXSharp.Connector.IPlain, IContext_Multiple, IObject_Multiple
{
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Pocos
{
internal partial class ClassWithComplexTypes
internal partial class ClassWithComplexTypes : AXSharp.Connector.IPlain
{
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Pocos
{
public partial class NoAccessModifierClass
public partial class NoAccessModifierClass : AXSharp.Connector.IPlain
{
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ namespace Pocos
{
namespace ClassWithComplexTypesNamespace
{
public partial class ClassWithComplexTypes
public partial class ClassWithComplexTypes : AXSharp.Connector.IPlain
{
public ClassWithComplexTypesNamespace.ComplexType1 myComplexType { get; set; } = new ClassWithComplexTypesNamespace.ComplexType1();
}

public partial class ComplexType1
public partial class ComplexType1 : AXSharp.Connector.IPlain
{
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ namespace Pocos
{
namespace ClassWithNonTraspilableMemberssNamespace
{
public partial class ClassWithNonTraspilableMembers
public partial class ClassWithNonTraspilableMembers : AXSharp.Connector.IPlain
{
public ClassWithNonTraspilableMemberssNamespace.ComplexType1 myComplexType { get; set; } = new ClassWithNonTraspilableMemberssNamespace.ComplexType1();
}

public partial class ComplexType1
public partial class ComplexType1 : AXSharp.Connector.IPlain
{
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ namespace Pocos
{
namespace ClassWithPragmasNamespace
{
public partial class ClassWithPragmas
public partial class ClassWithPragmas : AXSharp.Connector.IPlain
{
public ClassWithPragmasNamespace.ComplexType1 myComplexType { get; set; } = new ClassWithPragmasNamespace.ComplexType1();
}

public partial class ComplexType1
public partial class ComplexType1 : AXSharp.Connector.IPlain
{
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace Pocos
{
namespace ClassWithPrimitiveTypesNamespace
{
public partial class ClassWithPrimitiveTypes
public partial class ClassWithPrimitiveTypes : AXSharp.Connector.IPlain
{
public Boolean myBOOL { get; set; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ namespace Pocos
using SimpleQualifiedNamespace.Qualified;
using HelloLevelOne.HelloLevelTwo;

internal partial class ClassWithUsingDirectives
internal partial class ClassWithUsingDirectives : AXSharp.Connector.IPlain
{
using SimpleFirstLevelNamespace ; using SimpleQualifiedNamespace . Qualified ; using HelloLevelOne . HelloLevelTwo ;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ namespace Pocos
{
namespace CompilerOmmits
{
public partial class ClassWithArrays
public partial class ClassWithArrays : AXSharp.Connector.IPlain
{
public CompilerOmmits.Complex _must_be_omitted_in_onliner { get; set; } = new CompilerOmmits.Complex();
public Byte[] _primitive { get; set; } = new Byte[11];
}

public partial class Complex
public partial class Complex : AXSharp.Connector.IPlain
{
public string HelloString { get; set; } = string.Empty;
public UInt64 Id { get; set; }
Expand All @@ -19,7 +19,7 @@ public partial class Complex

namespace Enums
{
public partial class ClassWithEnums
public partial class ClassWithEnums : AXSharp.Connector.IPlain
{
public global::Enums.Colors colors { get; set; }

Expand All @@ -29,13 +29,13 @@ public partial class ClassWithEnums

namespace misc
{
public partial class VariousMembers
public partial class VariousMembers : AXSharp.Connector.IPlain
{
public misc.SomeClass _SomeClass { get; set; } = new misc.SomeClass();
public misc.Motor _Motor { get; set; } = new misc.Motor();
}

public partial class SomeClass
public partial class SomeClass : AXSharp.Connector.IPlain
{
public string SomeClassVariable { get; set; } = string.Empty;
}
Expand All @@ -54,13 +54,13 @@ public partial class Vehicle

namespace UnknownArraysShouldNotBeTraspiled
{
public partial class ClassWithArrays
public partial class ClassWithArrays : AXSharp.Connector.IPlain
{
public UnknownArraysShouldNotBeTraspiled.Complex[] _complexKnown { get; set; } = new UnknownArraysShouldNotBeTraspiled.Complex[11];
public Byte[] _primitive { get; set; } = new Byte[11];
}

public partial class Complex
public partial class Complex : AXSharp.Connector.IPlain
{
public string HelloString { get; set; } = string.Empty;
public UInt64 Id { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public partial class units
public Boolean _must_be_omitted_in_onliner { get; set; }
}

public partial class ComplexForConfig
public partial class ComplexForConfig : AXSharp.Connector.IPlain
{
public Boolean myBOOL { get; set; }

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ namespace Pocos
{
namespace makereadonce
{
public partial class MembersWithMakeReadOnce
public partial class MembersWithMakeReadOnce : AXSharp.Connector.IPlain
{
public string makeReadOnceMember { get; set; } = string.Empty;
public string someOtherMember { get; set; } = string.Empty;
public makereadonce.ComplexMember makeReadComplexMember { get; set; } = new makereadonce.ComplexMember();
public makereadonce.ComplexMember someotherComplexMember { get; set; } = new makereadonce.ComplexMember();
}

public partial class ComplexMember
public partial class ComplexMember : AXSharp.Connector.IPlain
{
public string someMember { get; set; } = string.Empty;
public string someOtherMember { get; set; } = string.Empty;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,15 @@ namespace Pocos
{
namespace makereadonly
{
public partial class MembersWithMakeReadOnly
public partial class MembersWithMakeReadOnly : AXSharp.Connector.IPlain
{
public string makeReadOnceMember { get; set; } = string.Empty;
public string someOtherMember { get; set; } = string.Empty;
public makereadonly.ComplexMember makeReadComplexMember { get; set; } = new makereadonly.ComplexMember();
public makereadonly.ComplexMember someotherComplexMember { get; set; } = new makereadonly.ComplexMember();
}

public partial class ComplexMember
public partial class ComplexMember : AXSharp.Connector.IPlain
{
public string someMember { get; set; } = string.Empty;
public string someOtherMember { get; set; } = string.Empty;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace Pocos
{
namespace Enums
{
public partial class ClassWithEnums
public partial class ClassWithEnums : AXSharp.Connector.IPlain
{
public global::Enums.Colors colors { get; set; }

Expand All @@ -14,13 +14,13 @@ public partial class ClassWithEnums

namespace misc
{
public partial class VariousMembers
public partial class VariousMembers : AXSharp.Connector.IPlain
{
public misc.SomeClass _SomeClass { get; set; } = new misc.SomeClass();
public misc.Motor _Motor { get; set; } = new misc.Motor();
}

public partial class SomeClass
public partial class SomeClass : AXSharp.Connector.IPlain
{
public string SomeClassVariable { get; set; } = string.Empty;
}
Expand All @@ -39,13 +39,13 @@ public partial class Vehicle

namespace UnknownArraysShouldNotBeTraspiled
{
public partial class ClassWithArrays
public partial class ClassWithArrays : AXSharp.Connector.IPlain
{
public UnknownArraysShouldNotBeTraspiled.Complex[] _complexKnown { get; set; } = new UnknownArraysShouldNotBeTraspiled.Complex[11];
public Byte[] _primitive { get; set; } = new Byte[11];
}

public partial class Complex
public partial class Complex : AXSharp.Connector.IPlain
{
public string HelloString { get; set; } = string.Empty;
public UInt64 Id { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,11 @@ namespace Pocos
{
namespace RefToSimple
{
public partial class ref_to_simple
public partial class ref_to_simple : AXSharp.Connector.IPlain
{
}

public partial class referenced
public partial class referenced : AXSharp.Connector.IPlain
{
public Int16 b { get; set; }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

namespace Pocos
{
public partial class simple_class
public partial class simple_class : AXSharp.Connector.IPlain
{
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace Pocos
{
namespace sampleNamespace
{
public partial class simple_empty_class_within_namespace
public partial class simple_empty_class_within_namespace : AXSharp.Connector.IPlain
{
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace Pocos
{
namespace NamedValuesNamespace
{
public partial class using_type_named_values
public partial class using_type_named_values : AXSharp.Connector.IPlain
{
public Int16 LColors { get; set; }
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace Pocos
{
namespace Simatic.Ax.StateFramework
{
public partial class using_type_named_values
public partial class using_type_named_values : AXSharp.Connector.IPlain
{
public UInt16 LColors { get; set; }
}
Expand Down
Loading