Skip to content

Commit 03d78cc

Browse files
authored
Merge pull request #47 from kornilova-l/use-package-name-with-natural-numbers
Add prefix native.Nat to Digits
2 parents 104f082 + 5a0e1ae commit 03d78cc

File tree

11 files changed

+14
-19
lines changed

11 files changed

+14
-19
lines changed

bindgen/Utils.h

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,12 @@ inline std::string uint64ToScalaNat(uint64_t v, std::string accumulator = "") {
2424
auto rest = v / 10;
2525

2626
if (accumulator.empty()) {
27-
return uint64ToScalaNat(rest, "_" + std::to_string(last_digit));
27+
return uint64ToScalaNat(rest,
28+
"native.Nat._" + std::to_string(last_digit));
2829
} else {
29-
return uint64ToScalaNat(rest, "Digit[_" + std::to_string(last_digit) +
30-
", " + accumulator + "]");
30+
return uint64ToScalaNat(rest, "native.Nat.Digit[native.Nat._" +
31+
std::to_string(last_digit) + ", " +
32+
accumulator + "]");
3133
}
3234
}
3335

bindgen/ir/IR.cpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ llvm::raw_ostream &operator<<(llvm::raw_ostream &s, const IR &ir) {
4343

4444
if (!ir.libObjEmpty() || !ir.enums.empty()) {
4545
s << "import scala.scalanative._\n"
46-
<< "import scala.scalanative.native._\n"
47-
<< "import scala.scalanative.native.Nat._\n\n";
46+
<< "import scala.scalanative.native._\n\n";
4847
}
4948

5049
std::string libObjName = handleReservedWords(ir.libName);

tests/samples/Enum.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import scala.scalanative._
22
import scala.scalanative.native._
3-
import scala.scalanative.native.Nat._
43

54
@native.link("Enum")
65
@native.extern

tests/samples/Function.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import scala.scalanative._
22
import scala.scalanative.native._
3-
import scala.scalanative.native.Nat._
43

54
@native.link("Function")
65
@native.extern

tests/samples/NativeTypes.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import scala.scalanative._
22
import scala.scalanative.native._
3-
import scala.scalanative.native.Nat._
43

54
@native.link("NativeTypes")
65
@native.extern

tests/samples/PrivateMembers.scala

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import scala.scalanative._
22
import scala.scalanative.native._
3-
import scala.scalanative.native.Nat._
43

54
@native.link("PrivateMembers")
65
@native.extern
@@ -15,7 +14,7 @@ object PrivateMembers {
1514
type struct_structWithPrivateStruct = native.CStruct1[native.Ptr[struct_structWithPrivateType]]
1615
type struct_normalStruct = native.CStruct1[native.CInt]
1716
type struct_privateStructWithTypedef = native.CStruct1[native.Ptr[__private_type]]
18-
type union___unionWithPrivateName = native.CArray[Byte, Digit[_3, _2]]
17+
type union___unionWithPrivateName = native.CArray[Byte, native.Nat.Digit[native.Nat._3, native.Nat._2]]
1918
def getTypeThatUsesPrivateTypes(): pid_t = native.extern
2019
def getPrivateType(): native.Ptr[__private_type] = native.extern
2120
def usesPrivateUnion(anonymous0: union___unionWithPrivateName): Unit = native.extern

tests/samples/ReservedWords.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,3 +28,4 @@ typedef struct {
2828
lazy finally;
2929
} finally;
3030
match implicit(finally type[12]);
31+
void _1();

tests/samples/ReservedWords.scala

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
11
import scala.scalanative._
22
import scala.scalanative.native._
3-
import scala.scalanative.native.Nat._
43

54
@native.link("ReservedWords")
65
@native.extern
76
object ReservedWords {
87
type `match` = native.CInt
9-
type `var` = native.CArray[`match`, _5]
8+
type `var` = native.CArray[`match`, native.Nat._5]
109
type `object` = struct_object
1110
type `type` = struct_object
1211
type `lazy` = union_lazy
1312
type `def` = `match`
1413
type `finally` = struct_finally
1514
type struct_object = native.CStruct2[`match`, native.CInt]
1615
type struct_finally = native.CStruct2[`def`, `lazy`]
17-
type union_lazy = native.CArray[Byte, Digit[_1, Digit[_2, _8]]]
16+
type union_lazy = native.CArray[Byte, native.Nat.Digit[native.Nat._1, native.Nat.Digit[native.Nat._2, native.Nat._8]]]
1817
def `with`(`sealed`: `match`, `implicit`: native.Ptr[`match`], `forSome`: `lazy`): `type` = native.extern
1918
def `implicit`(`type`: native.Ptr[`finally`]): `match` = native.extern
19+
def _1(): Unit = native.extern
2020
}
2121

2222
import ReservedWords._
@@ -46,7 +46,7 @@ object ReservedWordsHelpers {
4646
def instance_=(value: native.Ptr[`object`]): Unit = !p.cast[native.Ptr[native.Ptr[`object`]]] = value
4747
def `forSome`: native.Ptr[`match`] = p.cast[native.Ptr[`match`]]
4848
def `forSome_=`(value: `match`): Unit = !p.cast[native.Ptr[`match`]] = value
49-
def `implicit`: native.Ptr[native.CArray[Byte, Digit[_1, Digit[_2, _8]]]] = p.cast[native.Ptr[native.CArray[Byte, Digit[_1, Digit[_2, _8]]]]]
50-
def `implicit_=`(value: native.CArray[Byte, Digit[_1, Digit[_2, _8]]]): Unit = !p.cast[native.Ptr[native.CArray[Byte, Digit[_1, Digit[_2, _8]]]]] = value
49+
def `implicit`: native.Ptr[native.CArray[Byte, native.Nat.Digit[native.Nat._1, native.Nat.Digit[native.Nat._2, native.Nat._8]]]] = p.cast[native.Ptr[native.CArray[Byte, native.Nat.Digit[native.Nat._1, native.Nat.Digit[native.Nat._2, native.Nat._8]]]]]
50+
def `implicit_=`(value: native.CArray[Byte, native.Nat.Digit[native.Nat._1, native.Nat.Digit[native.Nat._2, native.Nat._8]]]): Unit = !p.cast[native.Ptr[native.CArray[Byte, native.Nat.Digit[native.Nat._1, native.Nat.Digit[native.Nat._2, native.Nat._8]]]]] = value
5151
}
5252
}

tests/samples/Struct.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import scala.scalanative._
22
import scala.scalanative.native._
3-
import scala.scalanative.native.Nat._
43

54
@native.link("Struct")
65
@native.extern

tests/samples/Typedef.scala

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import scala.scalanative._
22
import scala.scalanative.native._
3-
import scala.scalanative.native.Nat._
43

54
@native.link("Typedef")
65
@native.extern

0 commit comments

Comments
 (0)