summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cpp/src/Slice/Checksum.cpp14
-rw-r--r--cpp/test/Ice/checksum/Types.ice32
-rw-r--r--cpp/test/Ice/checksum/server/Types.ice32
-rw-r--r--cs/test/Ice/checksum/Types.ice32
-rw-r--r--cs/test/Ice/checksum/server/Types.ice32
-rw-r--r--java/test/Ice/checksum/Types.ice32
-rw-r--r--java/test/Ice/checksum/TypesServer.ice32
-rw-r--r--php/test/Ice/checksum/CTypes.ice32
-rw-r--r--py/test/Ice/checksum/CTypes.ice32
-rw-r--r--py/test/Ice/checksum/STypes.ice32
-rw-r--r--rb/test/Ice/checksum/CTypes.ice32
11 files changed, 334 insertions, 0 deletions
diff --git a/cpp/src/Slice/Checksum.cpp b/cpp/src/Slice/Checksum.cpp
index e6f19cecd3c..94fa3bf3f6c 100644
--- a/cpp/src/Slice/Checksum.cpp
+++ b/cpp/src/Slice/Checksum.cpp
@@ -65,6 +65,12 @@ Slice::ChecksumVisitor::visitClassDefStart(const ClassDefPtr& p)
{
ostr << "class ";
}
+
+ if(p->compactId() >= 0)
+ {
+ ostr << "(" << p->compactId() << ") ";
+ }
+
ostr << p->name();
if(!bases.empty())
@@ -72,6 +78,10 @@ Slice::ChecksumVisitor::visitClassDefStart(const ClassDefPtr& p)
if(!bases.front()->isInterface())
{
ostr << " extends " << bases.front()->scoped();
+ if(bases.front()->compactId() >= 0)
+ {
+ ostr << "(" << bases.front()->compactId() << ") ";
+ }
bases.erase(bases.begin());
}
if(!bases.empty())
@@ -91,6 +101,10 @@ Slice::ChecksumVisitor::visitClassDefStart(const ClassDefPtr& p)
ostr << ", ";
}
ostr << (*q)->scoped();
+ if((*q)->compactId() >= 0)
+ {
+ ostr << "(" << (*q)->compactId() << ") ";
+ }
}
}
}
diff --git a/cpp/test/Ice/checksum/Types.ice b/cpp/test/Ice/checksum/Types.ice
index c7b665618e6..070f3800684 100644
--- a/cpp/test/Ice/checksum/Types.ice
+++ b/cpp/test/Ice/checksum/Types.ice
@@ -405,6 +405,38 @@ class BaseClass11
};
//
+// TEST: Class with compact id
+//
+class Compact1(1)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact id
+//
+class Derived1 extends Compact1
+{
+};
+
+//
+// TEST: Same class names but different compact id
+//
+class Compact2(2)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact, where parent ids doesn't match.
+//
+class Derived2 extends Compact2
+{
+};
+
+//
// TEST: Local
//
local enum LocalEnum { LocalEnum1, LocalEnum2, LocalEnum3 };
diff --git a/cpp/test/Ice/checksum/server/Types.ice b/cpp/test/Ice/checksum/server/Types.ice
index a23ee94166b..9c08dd6a047 100644
--- a/cpp/test/Ice/checksum/server/Types.ice
+++ b/cpp/test/Ice/checksum/server/Types.ice
@@ -400,6 +400,38 @@ class BaseClass11 extends EmptyClass1 implements Interface1
};
//
+// TEST: Class with compact id
+//
+class Compact1(1)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact id
+//
+class Derived1 extends Compact1
+{
+};
+
+//
+// TEST: Same class names but different compact id
+//
+class Compact2(3)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact, where parent ids doesn't match.
+//
+class Derived2 extends Compact2
+{
+};
+
+//
// TEST: Local
//
local enum LocalEnum { LocalEnum1, LocalEnum2, LocalEnum3 };
diff --git a/cs/test/Ice/checksum/Types.ice b/cs/test/Ice/checksum/Types.ice
index 96ebb8b4f98..9fd0245f152 100644
--- a/cs/test/Ice/checksum/Types.ice
+++ b/cs/test/Ice/checksum/Types.ice
@@ -405,6 +405,38 @@ class BaseClass11
};
//
+// TEST: Class with compact id
+//
+class Compact1(1)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact id
+//
+class Derived1 extends Compact1
+{
+};
+
+//
+// TEST: Same class names but different compact id
+//
+class Compact2(2)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact, where parent ids doesn't match.
+//
+class Derived2 extends Compact2
+{
+};
+
+//
// TEST: Local
//
local enum LocalEnum { LocalEnum1, LocalEnum2, LocalEnum3 };
diff --git a/cs/test/Ice/checksum/server/Types.ice b/cs/test/Ice/checksum/server/Types.ice
index a23ee94166b..9c08dd6a047 100644
--- a/cs/test/Ice/checksum/server/Types.ice
+++ b/cs/test/Ice/checksum/server/Types.ice
@@ -400,6 +400,38 @@ class BaseClass11 extends EmptyClass1 implements Interface1
};
//
+// TEST: Class with compact id
+//
+class Compact1(1)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact id
+//
+class Derived1 extends Compact1
+{
+};
+
+//
+// TEST: Same class names but different compact id
+//
+class Compact2(3)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact, where parent ids doesn't match.
+//
+class Derived2 extends Compact2
+{
+};
+
+//
// TEST: Local
//
local enum LocalEnum { LocalEnum1, LocalEnum2, LocalEnum3 };
diff --git a/java/test/Ice/checksum/Types.ice b/java/test/Ice/checksum/Types.ice
index 5977868772f..1d003226e49 100644
--- a/java/test/Ice/checksum/Types.ice
+++ b/java/test/Ice/checksum/Types.ice
@@ -406,6 +406,38 @@ class BaseClass11
};
//
+// TEST: Class with compact id
+//
+class Compact1(1)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact id
+//
+class Derived1 extends Compact1
+{
+};
+
+//
+// TEST: Same class names but different compact id
+//
+class Compact2(2)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact, where parent ids doesn't match.
+//
+class Derived2 extends Compact2
+{
+};
+
+//
// TEST: Local
//
local enum LocalEnum { LocalEnum1, LocalEnum2, LocalEnum3 };
diff --git a/java/test/Ice/checksum/TypesServer.ice b/java/test/Ice/checksum/TypesServer.ice
index f53528462d8..af01cd7541d 100644
--- a/java/test/Ice/checksum/TypesServer.ice
+++ b/java/test/Ice/checksum/TypesServer.ice
@@ -401,6 +401,38 @@ class BaseClass11 extends EmptyClass1 implements Interface1
};
//
+// TEST: Class with compact id
+//
+class Compact1(1)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact id
+//
+class Derived1 extends Compact1
+{
+};
+
+//
+// TEST: Same class names but different compact id
+//
+class Compact2(3)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact, where parent ids doesn't match.
+//
+class Derived2 extends Compact2
+{
+};
+
+//
// TEST: Local
//
local enum LocalEnum { LocalEnum1, LocalEnum2, LocalEnum3 };
diff --git a/php/test/Ice/checksum/CTypes.ice b/php/test/Ice/checksum/CTypes.ice
index 96ebb8b4f98..9fd0245f152 100644
--- a/php/test/Ice/checksum/CTypes.ice
+++ b/php/test/Ice/checksum/CTypes.ice
@@ -405,6 +405,38 @@ class BaseClass11
};
//
+// TEST: Class with compact id
+//
+class Compact1(1)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact id
+//
+class Derived1 extends Compact1
+{
+};
+
+//
+// TEST: Same class names but different compact id
+//
+class Compact2(2)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact, where parent ids doesn't match.
+//
+class Derived2 extends Compact2
+{
+};
+
+//
// TEST: Local
//
local enum LocalEnum { LocalEnum1, LocalEnum2, LocalEnum3 };
diff --git a/py/test/Ice/checksum/CTypes.ice b/py/test/Ice/checksum/CTypes.ice
index 96ebb8b4f98..9fd0245f152 100644
--- a/py/test/Ice/checksum/CTypes.ice
+++ b/py/test/Ice/checksum/CTypes.ice
@@ -405,6 +405,38 @@ class BaseClass11
};
//
+// TEST: Class with compact id
+//
+class Compact1(1)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact id
+//
+class Derived1 extends Compact1
+{
+};
+
+//
+// TEST: Same class names but different compact id
+//
+class Compact2(2)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact, where parent ids doesn't match.
+//
+class Derived2 extends Compact2
+{
+};
+
+//
// TEST: Local
//
local enum LocalEnum { LocalEnum1, LocalEnum2, LocalEnum3 };
diff --git a/py/test/Ice/checksum/STypes.ice b/py/test/Ice/checksum/STypes.ice
index a23ee94166b..9c08dd6a047 100644
--- a/py/test/Ice/checksum/STypes.ice
+++ b/py/test/Ice/checksum/STypes.ice
@@ -400,6 +400,38 @@ class BaseClass11 extends EmptyClass1 implements Interface1
};
//
+// TEST: Class with compact id
+//
+class Compact1(1)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact id
+//
+class Derived1 extends Compact1
+{
+};
+
+//
+// TEST: Same class names but different compact id
+//
+class Compact2(3)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact, where parent ids doesn't match.
+//
+class Derived2 extends Compact2
+{
+};
+
+//
// TEST: Local
//
local enum LocalEnum { LocalEnum1, LocalEnum2, LocalEnum3 };
diff --git a/rb/test/Ice/checksum/CTypes.ice b/rb/test/Ice/checksum/CTypes.ice
index 96ebb8b4f98..9fd0245f152 100644
--- a/rb/test/Ice/checksum/CTypes.ice
+++ b/rb/test/Ice/checksum/CTypes.ice
@@ -405,6 +405,38 @@ class BaseClass11
};
//
+// TEST: Class with compact id
+//
+class Compact1(1)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact id
+//
+class Derived1 extends Compact1
+{
+};
+
+//
+// TEST: Same class names but different compact id
+//
+class Compact2(2)
+{
+ void baseOp();
+ void baseOp2(int i, out string s) throws Exception1;
+};
+
+//
+// TEST: Derived from class with compact, where parent ids doesn't match.
+//
+class Derived2 extends Compact2
+{
+};
+
+//
// TEST: Local
//
local enum LocalEnum { LocalEnum1, LocalEnum2, LocalEnum3 };