Skip to content

Commit 54da06c

Browse files
author
Ellery Newcomer
committed
fix #140
1 parent 60f6669 commit 54da06c

23 files changed

+45
-42
lines changed

.gitignore

+3
Original file line numberDiff line numberDiff line change
@@ -60,3 +60,6 @@ tests/pyd_unittests/pydobject/pydobject
6060
tests/pyd_unittests/struct_wrap/struct_wrap
6161
tests/pyd_unittests/thread/thread
6262
tests/pyd_unittests/typeinfo/typeinfo
63+
tests/deimos_unittests/datetime/datetime
64+
tests/deimos_unittests/link/link
65+
tests/deimos_unittests/object_/object_

dcompiler.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -374,7 +374,7 @@ def compile(
374374
)
375375
sources.append((winpath(filePath,self.winonly), 'infra'))
376376
for file in _utilFiles:
377-
filePath = os.path.join(_infraDir, 'util', file)
377+
filePath = os.path.join(_infraDir, 'pyd', 'util', file)
378378
if not os.path.isfile(filePath):
379379
raise DistutilsPlatformError("Required util source file '%s' is"
380380
" missing." % filePath
-52 KB
Binary file not shown.

infrastructure/pyd/class_wrap.d

+9-9
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ import std.traits;
3131
import std.conv;
3232
import std.functional;
3333
import std.typetuple;
34-
import util.typelist;
35-
import util.typeinfo;
34+
import pyd.util.typelist;
35+
import pyd.util.typeinfo;
3636
import pyd.references;
3737
import pyd.ctor_wrap;
3838
import pyd.def;
@@ -317,7 +317,7 @@ template _Def(alias _fn, string name, fn_t, string docstring) {
317317
PydTypeObject!(T).tp_methods = list.ptr;
318318
}
319319
template shim(size_t i, T) {
320-
import util.replace: Replace;
320+
import pyd.util.replace: Replace;
321321
enum shim = Replace!(q{
322322
alias Params[$i] __pyd_p$i;
323323
$override ReturnType!(__pyd_p$i.func_t) $realname(ParameterTypeTuple!(__pyd_p$i.func_t) t) $attrs {
@@ -445,7 +445,7 @@ template _Property(alias fn, string pyname, string _mode, string docstring) {
445445
wrapped_prop_list!(T).ptr;
446446
}
447447
template shim(size_t i, T) {
448-
import util.replace: Replace;
448+
import pyd.util.replace: Replace;
449449
static if(countUntil(parts.mode, "r") != -1) {
450450
enum getter = Replace!(q{
451451
override ReturnType!(__pyd_p$i.get_t) $realname() {
@@ -540,7 +540,7 @@ struct Init(cps ...) {
540540
alias ParameterTypeTuple!FN Pt;
541541
//https://issues.dlang.org/show_bug.cgi?id=17192
542542
//alias ParameterDefaultValueTuple!FN Pd;
543-
import util.typeinfo : WorkaroundParameterDefaults;
543+
import pyd.util.typeinfo : WorkaroundParameterDefaults;
544544
alias Pd = WorkaroundParameterDefaults!FN;
545545
}
546546
}
@@ -549,7 +549,7 @@ struct Init(cps ...) {
549549
}
550550

551551
template shim(size_t i, T) {
552-
import util.replace: Replace;
552+
import pyd.util.replace: Replace;
553553
import std.string: format;
554554
enum params = getparams!(Inner!T.FN,
555555
format("__pyd_p%s.Inner!T.Pt",i),
@@ -1239,7 +1239,7 @@ template IsBinR(T...) {
12391239

12401240
// handle all operator overloads. Ops must only contain operator overloads.
12411241
struct Operators(Ops...) {
1242-
import util.replace: Replace;
1242+
import pyd.util.replace: Replace;
12431243
enum bool needs_shim = false;
12441244

12451245
template BinOp(string op, T) {
@@ -1275,7 +1275,7 @@ struct Operators(Ops...) {
12751275

12761276
}
12771277
struct UnOp(string op, T) {
1278-
import util.replace: Replace;
1278+
import pyd.util.replace: Replace;
12791279
enum IsThisOp(A) = A.op == op;
12801280
alias Filter!(IsUn, Filter!(IsThisOp, Ops)) Ops1;
12811281
static assert(Ops1.length <= 1,
@@ -1542,7 +1542,7 @@ void wrap_class(T, Params...)() {
15421542
}
15431543
template _wrap_class(_T, string name, string docstring, string modulename, Params...) {
15441544
import std.conv;
1545-
import util.typelist;
1545+
import pyd.util.typelist;
15461546
static if (is(_T == class)) {
15471547
//pragma(msg, "wrap_class: " ~ name);
15481548
alias pyd.make_wrapper.make_wrapper!(_T, Params).wrapper shim_class;

infrastructure/pyd/ctor_wrap.d

+4-4
Original file line numberDiff line numberDiff line change
@@ -23,9 +23,9 @@ module pyd.ctor_wrap;
2323

2424
import std.traits;
2525
import std.exception: enforce;
26-
import util.typelist: Join;
27-
import util.typeinfo;
28-
import util.replace: Replace;
26+
import pyd.util.typelist: Join;
27+
import pyd.util.typeinfo;
28+
import pyd.util.replace: Replace;
2929
import deimos.python.Python;
3030
import pyd.references;
3131
import pyd.class_wrap;
@@ -38,7 +38,7 @@ template call_ctor(T, init) {
3838
alias ParameterIdentifierTuple!(init.Inner!T.FN) paramids;
3939
//https://issues.dlang.org/show_bug.cgi?id=17192
4040
//alias ParameterDefaultValueTuple!(init.Inner!T.FN) dfs;
41-
import util.typeinfo : WorkaroundParameterDefaults;
41+
import pyd.util.typeinfo : WorkaroundParameterDefaults;
4242
alias dfs = WorkaroundParameterDefaults!(init.Inner!T.FN);
4343
enum params = getparams!(init.Inner!T.FN, "paramtypes", "dfs");
4444
mixin(Replace!(q{

infrastructure/pyd/def.d

+2-2
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@ import deimos.python.Python;
2929

3030
import std.typetuple;
3131
import std.traits;
32-
import util.conv;
33-
import util.typelist;
32+
import pyd.util.conv;
33+
import pyd.util.typelist;
3434
import pyd.func_wrap;
3535

3636
private PyMethodDef[] module_global_methods = [

infrastructure/pyd/embedded.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ module pyd.embedded;
4141

4242
import deimos.python.Python;
4343
import pyd.pyd;
44-
import util.conv;
44+
import pyd.util.conv;
4545
import std.algorithm: findSplit;
4646
import std.string: strip, outdent;
4747
import std.traits;

infrastructure/pyd/func_wrap.d

+9-9
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ import std.range;
3232
import std.conv;
3333
import std.compiler;
3434
import std.string: format;
35-
import util.typelist;
36-
import util.typeinfo;
37-
import util.replace: Replace;
35+
import pyd.util.typelist;
36+
import pyd.util.typeinfo;
37+
import pyd.util.replace: Replace;
3838

3939
import pyd.def;
4040
import pyd.references;
@@ -176,7 +176,7 @@ ReturnType!fn applyPyTupleToAlias(alias fn, string fname)(PyObject* args, PyObje
176176
static if(MaxArgs.vstyle == Variadic.no) {
177177
//https://issues.dlang.org/show_bug.cgi?id=17192
178178
//alias ParameterDefaultValueTuple!fn Defaults;
179-
import util.typeinfo : WorkaroundParameterDefaults;
179+
import pyd.util.typeinfo : WorkaroundParameterDefaults;
180180
alias Defaults = WorkaroundParameterDefaults!fn;
181181
if (i < argCount) {
182182
auto bpobj = PyTuple_GetItem(args, cast(Py_ssize_t) i);
@@ -397,7 +397,7 @@ template memberfunc_to_func(T, alias memfn) {
397397
alias ParameterIdentifierTuple!memfn ids;
398398
//https://issues.dlang.org/show_bug.cgi?id=17192
399399
//alias ParameterDefaultValueTuple!memfn dfs;
400-
import util.typeinfo : WorkaroundParameterDefaults;
400+
import pyd.util.typeinfo : WorkaroundParameterDefaults;
401401
alias dfs = WorkaroundParameterDefaults!memfn;
402402
enum params = getparams!(memfn,"PS","dfs");
403403
enum t = gensym!ids();
@@ -543,7 +543,7 @@ PyObject* arrangeNamedArgs(alias fn, string fname)(PyObject* args, PyObject* kwa
543543
static if(vstyle == Variadic.no) {
544544
//https://issues.dlang.org/show_bug.cgi?id=17192
545545
//alias ParameterDefaultValueTuple!fn Defaults;
546-
import util.typeinfo : WorkaroundParameterDefaults;
546+
import pyd.util.typeinfo : WorkaroundParameterDefaults;
547547
alias Defaults = WorkaroundParameterDefaults!fn;
548548
foreach(i, v; Defaults) {
549549
static if(!is(v == void)) {
@@ -597,7 +597,7 @@ template minNumArgs_impl(alias fn, fnT) {
597597
alias ParameterTypeTuple!(fnT) Params;
598598
//https://issues.dlang.org/show_bug.cgi?id=17192
599599
//alias ParameterDefaultValueTuple!(fn) Defaults;
600-
import util.typeinfo : WorkaroundParameterDefaults;
600+
import pyd.util.typeinfo : WorkaroundParameterDefaults;
601601
alias Defaults = WorkaroundParameterDefaults!fn;
602602
alias variadicFunctionStyle!fn vstyle;
603603
static if(Params.length == 0) {
@@ -651,7 +651,7 @@ bool supportsNArgs(alias fn, fn_t = typeof(&fn))(size_t n) {
651651
alias ParameterTypeTuple!fn ps;
652652
//https://issues.dlang.org/show_bug.cgi?id=17192
653653
//alias ParameterDefaultValueTuple!fn defaults;
654-
import util.typeinfo : WorkaroundParameterDefaults;
654+
import pyd.util.typeinfo : WorkaroundParameterDefaults;
655655
alias defaults = WorkaroundParameterDefaults!fn;
656656
static if(vstyle == Variadic.no) {
657657
return (n >= minArgs!(fn,fn_t) && n <= maxArgs!(fn,fn_t).max);
@@ -683,7 +683,7 @@ template getparams(alias fn, string pt_alias, string pd_alias) {
683683
alias ParameterIdentifierTuple!fn Pi;
684684
//https://issues.dlang.org/show_bug.cgi?id=17192
685685
//alias ParameterDefaultValueTuple!fn Pd;
686-
import util.typeinfo : WorkaroundParameterDefaults;
686+
import pyd.util.typeinfo : WorkaroundParameterDefaults;
687687
alias Pd = WorkaroundParameterDefaults!fn;
688688
enum var = variadicFunctionStyle!fn;
689689

infrastructure/pyd/make_object.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -703,7 +703,7 @@ T python_to_d_tuple(T) (PyObject* o) {
703703
}
704704

705705
T python_to_d_complex(T) (PyObject* o) {
706-
import util.conv;
706+
import pyd.util.conv;
707707
static if (is(Unqual!T _unused : Complex!F, F)) {
708708
double real_ = python_to_d!double(PyObject_GetAttrString(o, "real"));
709709
handle_exception();

infrastructure/pyd/make_wrapper.d

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@ module pyd.make_wrapper;
2323

2424
import deimos.python.Python;
2525

26-
import util.typeinfo;
27-
import util.replace: Replace;
26+
import pyd.util.typeinfo;
27+
import pyd.util.replace: Replace;
2828
import pyd.references;
2929
import pyd.class_wrap;
3030
import pyd.exception;

infrastructure/pyd/op_wrap.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ import std.traits;
2828
import std.exception: enforce;
2929
import std.string: format;
3030
import std.conv: to;
31-
import util.typeinfo;
31+
import pyd.util.typeinfo;
3232

3333
import pyd.references;
3434
import pyd.class_wrap;

infrastructure/pyd/pydobject.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ import pyd.exception;
3131
import pyd.make_object;
3232
import std.exception: enforce;
3333
import std.conv;
34-
import util.conv;
34+
import pyd.util.conv;
3535

3636

3737
/**

infrastructure/pyd/references.d

+2-2
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ import std.exception: enforce;
2727

2828
import pyd.func_wrap;
2929
import deimos.python.Python;
30-
import util.multi_index;
31-
import util.typeinfo;
30+
import pyd.util.multi_index;
31+
import pyd.util.typeinfo;
3232

3333
// s/wrapped_class_object!T/PyObject/
3434

infrastructure/pyd/struct_wrap.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ module pyd.struct_wrap;
2828
import std.traits;
2929
import deimos.python.Python;
3030

31-
import util.typeinfo;
31+
import pyd.util.typeinfo;
3232
import pyd.references;
3333
import pyd.def;
3434
import pyd.class_wrap;

infrastructure/pyd/thread.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ module pyd.thread;
2424
import std.compiler;
2525

2626
import core.thread;
27-
import util.multi_index;
27+
import pyd.util.multi_index;
2828

2929
private bool isAttached = false;
3030

infrastructure/util/conv.d infrastructure/pyd/util/conv.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module util.conv;
1+
module pyd.util.conv;
22

33
import std.string;
44

infrastructure/util/multi_index.d infrastructure/pyd/util/multi_index.d

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module util.multi_index;
1+
module pyd.util.multi_index;
22

33
/**
44
* TODO:
@@ -22,7 +22,7 @@ import std.exception: enforce;
2222
import std.algorithm: find, swap, copy, fill, max, startsWith, moveAll;
2323
import std.algorithm: move, sort, map;
2424
import std.traits: isImplicitlyConvertible, isDynamicArray;
25-
import util.replace: Replace;
25+
import pyd.util.replace: Replace;
2626
import std.typetuple: TypeTuple, staticMap, NoDuplicates, staticIndexOf, allSatisfy;
2727
import std.functional: unaryFun, binaryFun;
2828
import std.string: format;
File renamed without changes.

infrastructure/util/replace.d infrastructure/pyd/util/replace.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module util.replace;
1+
module pyd.util.replace;
22
import std.conv;
33

44
/**
File renamed without changes.

infrastructure/util/typeinfo.d infrastructure/pyd/util/typeinfo.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
1717
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
1818
SOFTWARE.
1919
*/
20-
module util.typeinfo;
20+
module pyd.util.typeinfo;
2121

2222
import std.traits;
2323
import std.compiler;

infrastructure/util/typelist.d infrastructure/pyd/util/typelist.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
module util.typelist;
1+
module pyd.util.typelist;
22

33
template Join(string delimit, T...) {
44
static if(T.length == 0) {

tests/pyd_unittests/typeinfo/typeinfo.d

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11

2-
import util.typeinfo;
2+
import pyd.util.typeinfo;
33

44
unittest {
55
static assert(constness!Object == Constness.Mutable);

0 commit comments

Comments
 (0)