package sharpen.xobotos.api.interop.marshal; import org.eclipse.jdt.core.dom.ITypeBinding; import sharpen.core.csharp.ast.CSTypeReference; import sharpen.core.csharp.ast.CSTypeReferenceExpression; import sharpen.xobotos.api.interop.Signature.Flags; import sharpen.xobotos.api.interop.Signature.Mode; import sharpen.xobotos.api.interop.glue.AbstractTypeReference; import sharpen.xobotos.api.interop.glue.TypeReference; public class MarshalAsPrimitive extends MarshalInfo { private final String _managedType; private final String _nativeType; public MarshalAsPrimitive(ITypeBinding type, String managedType, String nativeType) { super(type); this._managedType = managedType; this._nativeType = nativeType; } @Override public boolean isPrimitiveType() { return true; } @Override public CSTypeReferenceExpression getManagedType(Mode mode, Flags flags) { return new CSTypeReference(_managedType); } @Override public AbstractTypeReference getNativeType(Mode mode, Flags flags) { return new TypeReference(_nativeType); } }