From feb5d793c7dbd6bcc1d2819e374cce251abe8f29 Mon Sep 17 00:00:00 2001
From: Jan Travnicek <Jan.Travnicek@fit.cvut.cz>
Date: Wed, 5 Aug 2015 08:18:02 +0200
Subject: [PATCH] correct return type for selfTypeId

---
 alib2data/src/alphabet/BarSymbol.h                          | 2 +-
 alib2data/src/alphabet/BlankSymbol.h                        | 2 +-
 alib2data/src/alphabet/BottomOfTheStackSymbol.h             | 2 +-
 alib2data/src/alphabet/EndSymbol.h                          | 2 +-
 alib2data/src/alphabet/LabeledSymbol.h                      | 2 +-
 alib2data/src/alphabet/RankedSymbol.h                       | 2 +-
 alib2data/src/alphabet/StartSymbol.h                        | 2 +-
 alib2data/src/alphabet/SubtreeWildcardSymbol.h              | 2 +-
 alib2data/src/alphabet/SymbolPairSymbol.h                   | 2 +-
 alib2data/src/alphabet/SymbolSetSymbol.h                    | 2 +-
 alib2data/src/alphabet/UniqueSymbol.h                       | 2 +-
 alib2data/src/alphabet/VariablesBarSymbol.h                 | 2 +-
 alib2data/src/automaton/FSM/CompactNFA.h                    | 2 +-
 alib2data/src/automaton/FSM/DFA.h                           | 2 +-
 alib2data/src/automaton/FSM/EpsilonNFA.h                    | 2 +-
 alib2data/src/automaton/FSM/ExtendedNFA.h                   | 2 +-
 alib2data/src/automaton/FSM/MultiInitialStateNFA.h          | 2 +-
 alib2data/src/automaton/FSM/NFA.h                           | 2 +-
 alib2data/src/automaton/PDA/DPDA.h                          | 2 +-
 alib2data/src/automaton/PDA/InputDrivenDPDA.h               | 2 +-
 alib2data/src/automaton/PDA/InputDrivenNPDA.h               | 2 +-
 alib2data/src/automaton/PDA/NPDA.h                          | 2 +-
 .../src/automaton/PDA/RealTimeHeightDeterministicDPDA.h     | 2 +-
 .../src/automaton/PDA/RealTimeHeightDeterministicNPDA.h     | 2 +-
 alib2data/src/automaton/PDA/SinglePopDPDA.h                 | 2 +-
 alib2data/src/automaton/PDA/SinglePopNPDA.h                 | 2 +-
 alib2data/src/automaton/PDA/VisiblyPushdownDPDA.h           | 2 +-
 alib2data/src/automaton/PDA/VisiblyPushdownNPDA.h           | 2 +-
 alib2data/src/automaton/TA/DFTA.h                           | 2 +-
 alib2data/src/automaton/TA/NFTA.h                           | 2 +-
 alib2data/src/automaton/TM/OneTapeDTM.h                     | 2 +-
 alib2data/src/common/base.hpp                               | 2 +-
 alib2data/src/container/ObjectsMap.h                        | 2 +-
 alib2data/src/container/ObjectsPair.h                       | 2 +-
 alib2data/src/container/ObjectsSet.h                        | 2 +-
 alib2data/src/container/ObjectsVector.h                     | 2 +-
 alib2data/src/exception/AlibException.h                     | 2 +-
 alib2data/src/grammar/ContextFree/CFG.h                     | 2 +-
 alib2data/src/grammar/ContextFree/CNF.h                     | 2 +-
 alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h          | 2 +-
 alib2data/src/grammar/ContextFree/GNF.h                     | 2 +-
 alib2data/src/grammar/ContextFree/LG.h                      | 2 +-
 alib2data/src/grammar/ContextSensitive/CSG.h                | 2 +-
 .../src/grammar/ContextSensitive/NonContractingGrammar.h    | 2 +-
 alib2data/src/grammar/Regular/LeftLG.h                      | 2 +-
 alib2data/src/grammar/Regular/LeftRG.h                      | 2 +-
 alib2data/src/grammar/Regular/RightLG.h                     | 2 +-
 alib2data/src/grammar/Regular/RightRG.h                     | 2 +-
 .../Unrestricted/ContextPreservingUnrestrictedGrammar.h     | 2 +-
 alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.h    | 2 +-
 alib2data/src/graph/directed/DirectedGraph.h                | 2 +-
 alib2data/src/graph/undirected/UndirectedGraph.h            | 2 +-
 alib2data/src/label/HexavigesimalLabel.h                    | 2 +-
 alib2data/src/label/LabelPairLabel.h                        | 2 +-
 alib2data/src/label/LabelSetLabel.h                         | 2 +-
 alib2data/src/label/ObjectLabel.h                           | 2 +-
 alib2data/src/label/PrimitiveLabel.h                        | 2 +-
 alib2data/src/label/UniqueLabel.h                           | 2 +-
 alib2data/src/object/Void.h                                 | 2 +-
 alib2data/src/primitive/Bool.h                              | 2 +-
 alib2data/src/primitive/Character.h                         | 2 +-
 alib2data/src/primitive/Integer.h                           | 2 +-
 alib2data/src/primitive/String.h                            | 2 +-
 alib2data/src/primitive/Unsigned.h                          | 2 +-
 alib2data/src/regexp/formal/FormalRegExp.h                  | 2 +-
 alib2data/src/regexp/formal/FormalRegExpAlternation.h       | 2 +-
 alib2data/src/regexp/formal/FormalRegExpConcatenation.h     | 2 +-
 alib2data/src/regexp/formal/FormalRegExpEmpty.h             | 2 +-
 alib2data/src/regexp/formal/FormalRegExpEpsilon.h           | 2 +-
 alib2data/src/regexp/formal/FormalRegExpIteration.h         | 2 +-
 alib2data/src/regexp/formal/FormalRegExpSymbol.h            | 2 +-
 alib2data/src/regexp/unbounded/UnboundedRegExp.h            | 2 +-
 alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.h | 2 +-
 .../src/regexp/unbounded/UnboundedRegExpConcatenation.h     | 2 +-
 alib2data/src/regexp/unbounded/UnboundedRegExpEmpty.h       | 2 +-
 alib2data/src/regexp/unbounded/UnboundedRegExpEpsilon.h     | 2 +-
 alib2data/src/regexp/unbounded/UnboundedRegExpIteration.h   | 2 +-
 alib2data/src/regexp/unbounded/UnboundedRegExpSymbol.h      | 2 +-
 alib2data/src/string/CyclicString.h                         | 2 +-
 alib2data/src/string/Epsilon.h                              | 2 +-
 alib2data/src/string/LinearString.h                         | 2 +-
 alib2data/src/tree/ranked/PrefixRankedBarPattern.h          | 2 +-
 alib2data/src/tree/ranked/PrefixRankedBarTree.h             | 2 +-
 alib2data/src/tree/ranked/PrefixRankedPattern.h             | 2 +-
 alib2data/src/tree/ranked/PrefixRankedTree.h                | 2 +-
 alib2data/src/tree/ranked/RankedPattern.h                   | 2 +-
 alib2data/src/tree/ranked/RankedTree.h                      | 2 +-
 alib2data/src/tree/unranked/UnrankedPattern.h               | 2 +-
 alib2data/src/tree/unranked/UnrankedTree.h                  | 2 +-
 alib2data/test-src/common/DispatchTest.cpp                  | 6 +++---
 alib2data/test-src/common/VisitorTest.cpp                   | 6 +++---
 91 files changed, 95 insertions(+), 95 deletions(-)

diff --git a/alib2data/src/alphabet/BarSymbol.h b/alib2data/src/alphabet/BarSymbol.h
index 8c5351e1f0..7a7ff739e3 100644
--- a/alib2data/src/alphabet/BarSymbol.h
+++ b/alib2data/src/alphabet/BarSymbol.h
@@ -36,7 +36,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/alphabet/BlankSymbol.h b/alib2data/src/alphabet/BlankSymbol.h
index 697898b9e6..e9ce3d43b5 100644
--- a/alib2data/src/alphabet/BlankSymbol.h
+++ b/alib2data/src/alphabet/BlankSymbol.h
@@ -36,7 +36,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/alphabet/BottomOfTheStackSymbol.h b/alib2data/src/alphabet/BottomOfTheStackSymbol.h
index f78466c47d..811ff4f224 100644
--- a/alib2data/src/alphabet/BottomOfTheStackSymbol.h
+++ b/alib2data/src/alphabet/BottomOfTheStackSymbol.h
@@ -36,7 +36,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/alphabet/EndSymbol.h b/alib2data/src/alphabet/EndSymbol.h
index eff07cbd0e..4a65cbddde 100644
--- a/alib2data/src/alphabet/EndSymbol.h
+++ b/alib2data/src/alphabet/EndSymbol.h
@@ -36,7 +36,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/alphabet/LabeledSymbol.h b/alib2data/src/alphabet/LabeledSymbol.h
index 0f3b5e30b3..1a296f7685 100644
--- a/alib2data/src/alphabet/LabeledSymbol.h
+++ b/alib2data/src/alphabet/LabeledSymbol.h
@@ -51,7 +51,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/alphabet/RankedSymbol.h b/alib2data/src/alphabet/RankedSymbol.h
index 570e628040..de5f0f9b2a 100644
--- a/alib2data/src/alphabet/RankedSymbol.h
+++ b/alib2data/src/alphabet/RankedSymbol.h
@@ -57,7 +57,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/alphabet/StartSymbol.h b/alib2data/src/alphabet/StartSymbol.h
index 6b953c6766..6e5e65325f 100644
--- a/alib2data/src/alphabet/StartSymbol.h
+++ b/alib2data/src/alphabet/StartSymbol.h
@@ -36,7 +36,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/alphabet/SubtreeWildcardSymbol.h b/alib2data/src/alphabet/SubtreeWildcardSymbol.h
index 8a171f25cf..befd082309 100644
--- a/alib2data/src/alphabet/SubtreeWildcardSymbol.h
+++ b/alib2data/src/alphabet/SubtreeWildcardSymbol.h
@@ -36,7 +36,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/alphabet/SymbolPairSymbol.h b/alib2data/src/alphabet/SymbolPairSymbol.h
index 45de96964f..ccf45cad9d 100644
--- a/alib2data/src/alphabet/SymbolPairSymbol.h
+++ b/alib2data/src/alphabet/SymbolPairSymbol.h
@@ -46,7 +46,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/alphabet/SymbolSetSymbol.h b/alib2data/src/alphabet/SymbolSetSymbol.h
index b5a59ef075..91a66f50d6 100644
--- a/alib2data/src/alphabet/SymbolSetSymbol.h
+++ b/alib2data/src/alphabet/SymbolSetSymbol.h
@@ -46,7 +46,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/alphabet/UniqueSymbol.h b/alib2data/src/alphabet/UniqueSymbol.h
index ebf2b29434..c4038a69be 100644
--- a/alib2data/src/alphabet/UniqueSymbol.h
+++ b/alib2data/src/alphabet/UniqueSymbol.h
@@ -51,7 +51,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/alphabet/VariablesBarSymbol.h b/alib2data/src/alphabet/VariablesBarSymbol.h
index c8c639f882..1378cc297a 100644
--- a/alib2data/src/alphabet/VariablesBarSymbol.h
+++ b/alib2data/src/alphabet/VariablesBarSymbol.h
@@ -36,7 +36,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/FSM/CompactNFA.h b/alib2data/src/automaton/FSM/CompactNFA.h
index d422d9bda1..a3cb9b232b 100644
--- a/alib2data/src/automaton/FSM/CompactNFA.h
+++ b/alib2data/src/automaton/FSM/CompactNFA.h
@@ -89,7 +89,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/FSM/DFA.h b/alib2data/src/automaton/FSM/DFA.h
index 94231801bb..9e44df348e 100644
--- a/alib2data/src/automaton/FSM/DFA.h
+++ b/alib2data/src/automaton/FSM/DFA.h
@@ -90,7 +90,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/FSM/EpsilonNFA.h b/alib2data/src/automaton/FSM/EpsilonNFA.h
index 9c9cf0a1f4..ce0ba13859 100644
--- a/alib2data/src/automaton/FSM/EpsilonNFA.h
+++ b/alib2data/src/automaton/FSM/EpsilonNFA.h
@@ -168,7 +168,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/FSM/ExtendedNFA.h b/alib2data/src/automaton/FSM/ExtendedNFA.h
index 42bab384ae..e71d84e05e 100644
--- a/alib2data/src/automaton/FSM/ExtendedNFA.h
+++ b/alib2data/src/automaton/FSM/ExtendedNFA.h
@@ -91,7 +91,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/FSM/MultiInitialStateNFA.h b/alib2data/src/automaton/FSM/MultiInitialStateNFA.h
index da8959603c..fb3c3f4b6f 100644
--- a/alib2data/src/automaton/FSM/MultiInitialStateNFA.h
+++ b/alib2data/src/automaton/FSM/MultiInitialStateNFA.h
@@ -106,7 +106,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/FSM/NFA.h b/alib2data/src/automaton/FSM/NFA.h
index 64693053f9..2af963925f 100644
--- a/alib2data/src/automaton/FSM/NFA.h
+++ b/alib2data/src/automaton/FSM/NFA.h
@@ -104,7 +104,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/PDA/DPDA.h b/alib2data/src/automaton/PDA/DPDA.h
index 9275d63a5f..b752f42bc8 100644
--- a/alib2data/src/automaton/PDA/DPDA.h
+++ b/alib2data/src/automaton/PDA/DPDA.h
@@ -101,7 +101,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/PDA/InputDrivenDPDA.h b/alib2data/src/automaton/PDA/InputDrivenDPDA.h
index 1fa9352b12..df271582a4 100644
--- a/alib2data/src/automaton/PDA/InputDrivenDPDA.h
+++ b/alib2data/src/automaton/PDA/InputDrivenDPDA.h
@@ -103,7 +103,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/PDA/InputDrivenNPDA.h b/alib2data/src/automaton/PDA/InputDrivenNPDA.h
index f8b75fc781..8c43c4e394 100644
--- a/alib2data/src/automaton/PDA/InputDrivenNPDA.h
+++ b/alib2data/src/automaton/PDA/InputDrivenNPDA.h
@@ -102,7 +102,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/PDA/NPDA.h b/alib2data/src/automaton/PDA/NPDA.h
index 6744793a80..7244662dcd 100644
--- a/alib2data/src/automaton/PDA/NPDA.h
+++ b/alib2data/src/automaton/PDA/NPDA.h
@@ -87,7 +87,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.h b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.h
index eceb5aaef9..49b2e433cc 100644
--- a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.h
+++ b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicDPDA.h
@@ -127,7 +127,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.h b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.h
index 03c77dd415..d15453710c 100644
--- a/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.h
+++ b/alib2data/src/automaton/PDA/RealTimeHeightDeterministicNPDA.h
@@ -127,7 +127,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/PDA/SinglePopDPDA.h b/alib2data/src/automaton/PDA/SinglePopDPDA.h
index de0dec5c82..5358873005 100644
--- a/alib2data/src/automaton/PDA/SinglePopDPDA.h
+++ b/alib2data/src/automaton/PDA/SinglePopDPDA.h
@@ -91,7 +91,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/PDA/SinglePopNPDA.h b/alib2data/src/automaton/PDA/SinglePopNPDA.h
index 792e1cc721..9fd14422df 100644
--- a/alib2data/src/automaton/PDA/SinglePopNPDA.h
+++ b/alib2data/src/automaton/PDA/SinglePopNPDA.h
@@ -87,7 +87,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.h b/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.h
index b552e51cc9..808cd906fc 100644
--- a/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.h
+++ b/alib2data/src/automaton/PDA/VisiblyPushdownDPDA.h
@@ -113,7 +113,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.h b/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.h
index 32c82c45f0..6f3d61ff6d 100644
--- a/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.h
+++ b/alib2data/src/automaton/PDA/VisiblyPushdownNPDA.h
@@ -113,7 +113,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/TA/DFTA.h b/alib2data/src/automaton/TA/DFTA.h
index 0f18d07e64..5edae22dc6 100644
--- a/alib2data/src/automaton/TA/DFTA.h
+++ b/alib2data/src/automaton/TA/DFTA.h
@@ -82,7 +82,7 @@ public:
 
 	virtual operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/TA/NFTA.h b/alib2data/src/automaton/TA/NFTA.h
index 48b020fe9d..ff7f41dea2 100644
--- a/alib2data/src/automaton/TA/NFTA.h
+++ b/alib2data/src/automaton/TA/NFTA.h
@@ -94,7 +94,7 @@ public:
 
 	virtual operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/automaton/TM/OneTapeDTM.h b/alib2data/src/automaton/TM/OneTapeDTM.h
index ba26721b39..66d508b3c1 100644
--- a/alib2data/src/automaton/TM/OneTapeDTM.h
+++ b/alib2data/src/automaton/TM/OneTapeDTM.h
@@ -83,7 +83,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/common/base.hpp b/alib2data/src/common/base.hpp
index b3e77073ce..1ecacd8aad 100644
--- a/alib2data/src/common/base.hpp
+++ b/alib2data/src/common/base.hpp
@@ -19,7 +19,7 @@ class base {
 public:
 	virtual ~base() noexcept {}
 
-	virtual int selfTypeId() const = 0;
+	virtual long long selfTypeId() const = 0;
 
 	virtual T* clone() const = 0;
 
diff --git a/alib2data/src/container/ObjectsMap.h b/alib2data/src/container/ObjectsMap.h
index c80cac8baf..e7ba63b26e 100644
--- a/alib2data/src/container/ObjectsMap.h
+++ b/alib2data/src/container/ObjectsMap.h
@@ -42,7 +42,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/container/ObjectsPair.h b/alib2data/src/container/ObjectsPair.h
index 139cde25f4..2c4365be89 100644
--- a/alib2data/src/container/ObjectsPair.h
+++ b/alib2data/src/container/ObjectsPair.h
@@ -41,7 +41,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/container/ObjectsSet.h b/alib2data/src/container/ObjectsSet.h
index 01bf0f0e82..b84cca2ddc 100644
--- a/alib2data/src/container/ObjectsSet.h
+++ b/alib2data/src/container/ObjectsSet.h
@@ -41,7 +41,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/container/ObjectsVector.h b/alib2data/src/container/ObjectsVector.h
index 8132b9ca92..33c091c127 100644
--- a/alib2data/src/container/ObjectsVector.h
+++ b/alib2data/src/container/ObjectsVector.h
@@ -41,7 +41,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/exception/AlibException.h b/alib2data/src/exception/AlibException.h
index 8e241d8d16..c7c4f248ad 100644
--- a/alib2data/src/exception/AlibException.h
+++ b/alib2data/src/exception/AlibException.h
@@ -65,7 +65,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/ContextFree/CFG.h b/alib2data/src/grammar/ContextFree/CFG.h
index 1bee090558..52e74bcf8a 100644
--- a/alib2data/src/grammar/ContextFree/CFG.h
+++ b/alib2data/src/grammar/ContextFree/CFG.h
@@ -56,7 +56,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/ContextFree/CNF.h b/alib2data/src/grammar/ContextFree/CNF.h
index 5097cf5554..9b1db2a4b0 100644
--- a/alib2data/src/grammar/ContextFree/CNF.h
+++ b/alib2data/src/grammar/ContextFree/CNF.h
@@ -65,7 +65,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h b/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h
index 3c2b24dcbe..b7c2066648 100644
--- a/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h
+++ b/alib2data/src/grammar/ContextFree/EpsilonFreeCFG.h
@@ -60,7 +60,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/ContextFree/GNF.h b/alib2data/src/grammar/ContextFree/GNF.h
index 7d31a66b6a..d35ef82672 100644
--- a/alib2data/src/grammar/ContextFree/GNF.h
+++ b/alib2data/src/grammar/ContextFree/GNF.h
@@ -60,7 +60,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/ContextFree/LG.h b/alib2data/src/grammar/ContextFree/LG.h
index dac536aa5b..502a23ab95 100644
--- a/alib2data/src/grammar/ContextFree/LG.h
+++ b/alib2data/src/grammar/ContextFree/LG.h
@@ -61,7 +61,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/ContextSensitive/CSG.h b/alib2data/src/grammar/ContextSensitive/CSG.h
index f0bdee5d27..7a56b8a81b 100644
--- a/alib2data/src/grammar/ContextSensitive/CSG.h
+++ b/alib2data/src/grammar/ContextSensitive/CSG.h
@@ -54,7 +54,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.h b/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.h
index 7d7547ad05..b9b029e240 100644
--- a/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.h
+++ b/alib2data/src/grammar/ContextSensitive/NonContractingGrammar.h
@@ -54,7 +54,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/Regular/LeftLG.h b/alib2data/src/grammar/Regular/LeftLG.h
index 603f991417..8173b08dc9 100644
--- a/alib2data/src/grammar/Regular/LeftLG.h
+++ b/alib2data/src/grammar/Regular/LeftLG.h
@@ -61,7 +61,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/Regular/LeftRG.h b/alib2data/src/grammar/Regular/LeftRG.h
index 56a6a6fa30..c7e50cdd3c 100644
--- a/alib2data/src/grammar/Regular/LeftRG.h
+++ b/alib2data/src/grammar/Regular/LeftRG.h
@@ -148,7 +148,7 @@ public:
 	/**
 	 * @copydoc alib::base_base::selfTypeId
 	 */
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/Regular/RightLG.h b/alib2data/src/grammar/Regular/RightLG.h
index 1fc53bcd2b..7b38851e68 100644
--- a/alib2data/src/grammar/Regular/RightLG.h
+++ b/alib2data/src/grammar/Regular/RightLG.h
@@ -61,7 +61,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/Regular/RightRG.h b/alib2data/src/grammar/Regular/RightRG.h
index fb23086d08..4aa8f00a01 100644
--- a/alib2data/src/grammar/Regular/RightRG.h
+++ b/alib2data/src/grammar/Regular/RightRG.h
@@ -81,7 +81,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.h b/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.h
index 937f6ec7f4..b1c172a786 100644
--- a/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.h
+++ b/alib2data/src/grammar/Unrestricted/ContextPreservingUnrestrictedGrammar.h
@@ -50,7 +50,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.h b/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.h
index 1d99ee2d7e..f89958197a 100644
--- a/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.h
+++ b/alib2data/src/grammar/Unrestricted/UnrestrictedGrammar.h
@@ -50,7 +50,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/graph/directed/DirectedGraph.h b/alib2data/src/graph/directed/DirectedGraph.h
index 4ec204010b..6acc1ae04d 100644
--- a/alib2data/src/graph/directed/DirectedGraph.h
+++ b/alib2data/src/graph/directed/DirectedGraph.h
@@ -74,7 +74,7 @@ public:
 
 	explicit operator std::string() const override;
 
-	int selfTypeId() const override
+	virtual long long selfTypeId() const override
 	{
 		return typeId(*this);
 	}
diff --git a/alib2data/src/graph/undirected/UndirectedGraph.h b/alib2data/src/graph/undirected/UndirectedGraph.h
index dba21fad37..8f2cf2e789 100644
--- a/alib2data/src/graph/undirected/UndirectedGraph.h
+++ b/alib2data/src/graph/undirected/UndirectedGraph.h
@@ -74,7 +74,7 @@ public:
 
 	explicit operator std::string() const override;
 
-	int selfTypeId() const override
+	virtual long long selfTypeId() const override
 	{
 		return typeId(*this);
 	}
diff --git a/alib2data/src/label/HexavigesimalLabel.h b/alib2data/src/label/HexavigesimalLabel.h
index 097379a99a..cb47a20ff5 100644
--- a/alib2data/src/label/HexavigesimalLabel.h
+++ b/alib2data/src/label/HexavigesimalLabel.h
@@ -49,7 +49,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/label/LabelPairLabel.h b/alib2data/src/label/LabelPairLabel.h
index e6bb8c3fad..ce96645b61 100644
--- a/alib2data/src/label/LabelPairLabel.h
+++ b/alib2data/src/label/LabelPairLabel.h
@@ -46,7 +46,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/label/LabelSetLabel.h b/alib2data/src/label/LabelSetLabel.h
index 55bf621eff..663bc97965 100644
--- a/alib2data/src/label/LabelSetLabel.h
+++ b/alib2data/src/label/LabelSetLabel.h
@@ -46,7 +46,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/label/ObjectLabel.h b/alib2data/src/label/ObjectLabel.h
index 7dd0711c8f..9339583765 100644
--- a/alib2data/src/label/ObjectLabel.h
+++ b/alib2data/src/label/ObjectLabel.h
@@ -47,7 +47,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/label/PrimitiveLabel.h b/alib2data/src/label/PrimitiveLabel.h
index c1eda1b881..9e4e52410e 100644
--- a/alib2data/src/label/PrimitiveLabel.h
+++ b/alib2data/src/label/PrimitiveLabel.h
@@ -49,7 +49,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/label/UniqueLabel.h b/alib2data/src/label/UniqueLabel.h
index 4ac916e929..d7af480152 100644
--- a/alib2data/src/label/UniqueLabel.h
+++ b/alib2data/src/label/UniqueLabel.h
@@ -51,7 +51,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/object/Void.h b/alib2data/src/object/Void.h
index 9414b1dc3f..6b0356fa0f 100644
--- a/alib2data/src/object/Void.h
+++ b/alib2data/src/object/Void.h
@@ -38,7 +38,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/primitive/Bool.h b/alib2data/src/primitive/Bool.h
index f37187b5f6..f6327aeaa6 100644
--- a/alib2data/src/primitive/Bool.h
+++ b/alib2data/src/primitive/Bool.h
@@ -51,7 +51,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/primitive/Character.h b/alib2data/src/primitive/Character.h
index d05adc1061..86793544ab 100644
--- a/alib2data/src/primitive/Character.h
+++ b/alib2data/src/primitive/Character.h
@@ -51,7 +51,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/primitive/Integer.h b/alib2data/src/primitive/Integer.h
index 3b8effe2dd..d3e96631fc 100644
--- a/alib2data/src/primitive/Integer.h
+++ b/alib2data/src/primitive/Integer.h
@@ -51,7 +51,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/primitive/String.h b/alib2data/src/primitive/String.h
index 200f340765..668103f180 100644
--- a/alib2data/src/primitive/String.h
+++ b/alib2data/src/primitive/String.h
@@ -54,7 +54,7 @@ public:
 
 	virtual explicit operator std::string () const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/primitive/Unsigned.h b/alib2data/src/primitive/Unsigned.h
index 8782e44661..5b280ed7ae 100644
--- a/alib2data/src/primitive/Unsigned.h
+++ b/alib2data/src/primitive/Unsigned.h
@@ -51,7 +51,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/regexp/formal/FormalRegExp.h b/alib2data/src/regexp/formal/FormalRegExp.h
index a76be404f3..fcc1e706cf 100644
--- a/alib2data/src/regexp/formal/FormalRegExp.h
+++ b/alib2data/src/regexp/formal/FormalRegExp.h
@@ -103,7 +103,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/regexp/formal/FormalRegExpAlternation.h b/alib2data/src/regexp/formal/FormalRegExpAlternation.h
index 9b2f6e8413..8fef555d35 100644
--- a/alib2data/src/regexp/formal/FormalRegExpAlternation.h
+++ b/alib2data/src/regexp/formal/FormalRegExpAlternation.h
@@ -107,7 +107,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/regexp/formal/FormalRegExpConcatenation.h b/alib2data/src/regexp/formal/FormalRegExpConcatenation.h
index 28e0f1116b..91ae9b1c28 100644
--- a/alib2data/src/regexp/formal/FormalRegExpConcatenation.h
+++ b/alib2data/src/regexp/formal/FormalRegExpConcatenation.h
@@ -105,7 +105,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/regexp/formal/FormalRegExpEmpty.h b/alib2data/src/regexp/formal/FormalRegExpEmpty.h
index dfb65ecb12..ad125beb62 100644
--- a/alib2data/src/regexp/formal/FormalRegExpEmpty.h
+++ b/alib2data/src/regexp/formal/FormalRegExpEmpty.h
@@ -68,7 +68,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/regexp/formal/FormalRegExpEpsilon.h b/alib2data/src/regexp/formal/FormalRegExpEpsilon.h
index a52ba4fb42..94e662f493 100644
--- a/alib2data/src/regexp/formal/FormalRegExpEpsilon.h
+++ b/alib2data/src/regexp/formal/FormalRegExpEpsilon.h
@@ -69,7 +69,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/regexp/formal/FormalRegExpIteration.h b/alib2data/src/regexp/formal/FormalRegExpIteration.h
index d7cfcb53b7..accfe1e67b 100644
--- a/alib2data/src/regexp/formal/FormalRegExpIteration.h
+++ b/alib2data/src/regexp/formal/FormalRegExpIteration.h
@@ -100,7 +100,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/regexp/formal/FormalRegExpSymbol.h b/alib2data/src/regexp/formal/FormalRegExpSymbol.h
index 071f3db62c..16db376dc6 100644
--- a/alib2data/src/regexp/formal/FormalRegExpSymbol.h
+++ b/alib2data/src/regexp/formal/FormalRegExpSymbol.h
@@ -85,7 +85,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExp.h b/alib2data/src/regexp/unbounded/UnboundedRegExp.h
index 3e08e3cc68..c8406cf7e1 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExp.h
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExp.h
@@ -104,7 +104,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.h b/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.h
index c4ba0842eb..72e29dd86f 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.h
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExpAlternation.h
@@ -101,7 +101,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.h b/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.h
index 4bf53b1cea..5d5069fb0b 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.h
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExpConcatenation.h
@@ -100,7 +100,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpEmpty.h b/alib2data/src/regexp/unbounded/UnboundedRegExpEmpty.h
index 5d206accec..76d0f614df 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExpEmpty.h
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExpEmpty.h
@@ -67,7 +67,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpEpsilon.h b/alib2data/src/regexp/unbounded/UnboundedRegExpEpsilon.h
index dabfdf26e0..4b96f95c74 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExpEpsilon.h
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExpEpsilon.h
@@ -68,7 +68,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpIteration.h b/alib2data/src/regexp/unbounded/UnboundedRegExpIteration.h
index 8df5252937..fe069d0e47 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExpIteration.h
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExpIteration.h
@@ -99,7 +99,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/regexp/unbounded/UnboundedRegExpSymbol.h b/alib2data/src/regexp/unbounded/UnboundedRegExpSymbol.h
index 7066f652a2..75023a7c9a 100644
--- a/alib2data/src/regexp/unbounded/UnboundedRegExpSymbol.h
+++ b/alib2data/src/regexp/unbounded/UnboundedRegExpSymbol.h
@@ -84,7 +84,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 };
diff --git a/alib2data/src/string/CyclicString.h b/alib2data/src/string/CyclicString.h
index 8b1e703cb4..87b5183eaa 100644
--- a/alib2data/src/string/CyclicString.h
+++ b/alib2data/src/string/CyclicString.h
@@ -64,7 +64,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/string/Epsilon.h b/alib2data/src/string/Epsilon.h
index 5f12619f9d..5d39ffa901 100644
--- a/alib2data/src/string/Epsilon.h
+++ b/alib2data/src/string/Epsilon.h
@@ -59,7 +59,7 @@ public:
 
 	static Epsilon EPSILON;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/string/LinearString.h b/alib2data/src/string/LinearString.h
index a63f79db73..8d68d418ff 100644
--- a/alib2data/src/string/LinearString.h
+++ b/alib2data/src/string/LinearString.h
@@ -73,7 +73,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h
index 0a229ab29f..920b6cd641 100644
--- a/alib2data/src/tree/ranked/PrefixRankedBarPattern.h
+++ b/alib2data/src/tree/ranked/PrefixRankedBarPattern.h
@@ -67,7 +67,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/tree/ranked/PrefixRankedBarTree.h b/alib2data/src/tree/ranked/PrefixRankedBarTree.h
index 68088760f0..b3b1e4d9ec 100644
--- a/alib2data/src/tree/ranked/PrefixRankedBarTree.h
+++ b/alib2data/src/tree/ranked/PrefixRankedBarTree.h
@@ -64,7 +64,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/tree/ranked/PrefixRankedPattern.h b/alib2data/src/tree/ranked/PrefixRankedPattern.h
index 56331bc755..7cb25ff45a 100644
--- a/alib2data/src/tree/ranked/PrefixRankedPattern.h
+++ b/alib2data/src/tree/ranked/PrefixRankedPattern.h
@@ -57,7 +57,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/tree/ranked/PrefixRankedTree.h b/alib2data/src/tree/ranked/PrefixRankedTree.h
index e832b63b39..bc6c8aa986 100644
--- a/alib2data/src/tree/ranked/PrefixRankedTree.h
+++ b/alib2data/src/tree/ranked/PrefixRankedTree.h
@@ -57,7 +57,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/tree/ranked/RankedPattern.h b/alib2data/src/tree/ranked/RankedPattern.h
index fe9bb3bf83..34168327d5 100644
--- a/alib2data/src/tree/ranked/RankedPattern.h
+++ b/alib2data/src/tree/ranked/RankedPattern.h
@@ -92,7 +92,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/tree/ranked/RankedTree.h b/alib2data/src/tree/ranked/RankedTree.h
index a049c41448..6142570765 100644
--- a/alib2data/src/tree/ranked/RankedTree.h
+++ b/alib2data/src/tree/ranked/RankedTree.h
@@ -92,7 +92,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/tree/unranked/UnrankedPattern.h b/alib2data/src/tree/unranked/UnrankedPattern.h
index 6180f4252e..9f43ddcc43 100644
--- a/alib2data/src/tree/unranked/UnrankedPattern.h
+++ b/alib2data/src/tree/unranked/UnrankedPattern.h
@@ -92,7 +92,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/src/tree/unranked/UnrankedTree.h b/alib2data/src/tree/unranked/UnrankedTree.h
index bda48e5d98..2c14c8da75 100644
--- a/alib2data/src/tree/unranked/UnrankedTree.h
+++ b/alib2data/src/tree/unranked/UnrankedTree.h
@@ -92,7 +92,7 @@ public:
 
 	virtual explicit operator std::string() const;
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/test-src/common/DispatchTest.cpp b/alib2data/test-src/common/DispatchTest.cpp
index 05b4007860..bdc0370ec4 100644
--- a/alib2data/test-src/common/DispatchTest.cpp
+++ b/alib2data/test-src/common/DispatchTest.cpp
@@ -49,7 +49,7 @@ public:
 		return "Tmp1(" + std::to_string(data) + ")";
 	}
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
@@ -94,7 +94,7 @@ public:
 		return "Tmp2(" + std::to_string(data) + ")";
 	}
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
@@ -143,7 +143,7 @@ public:
 		return "Tmp3(" + data + ")";
 	}
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
diff --git a/alib2data/test-src/common/VisitorTest.cpp b/alib2data/test-src/common/VisitorTest.cpp
index e39a1d9091..4fa0e51b2b 100644
--- a/alib2data/test-src/common/VisitorTest.cpp
+++ b/alib2data/test-src/common/VisitorTest.cpp
@@ -59,7 +59,7 @@ public:
 		return "Tmp1(" + std::to_string(data) + ")";
 	}
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
@@ -104,7 +104,7 @@ public:
 		return "Tmp2(" + std::to_string(data) + ")";
 	}
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
@@ -153,7 +153,7 @@ public:
 		return "Tmp3(" + data + ")";
 	}
 
-	virtual int selfTypeId() const {
+	virtual long long selfTypeId() const {
 		return typeId(*this);
 	}
 
-- 
GitLab