MCPcopy Create free account
hub / github.com/argotorg/solidity / sumType

Method sumType

libsolidity/experimental/ast/TypeSystemHelper.cpp:161–171  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

159}
160
161experimental::Type TypeSystemHelpers::sumType(std::vector<Type> _elements) const
162{
163 if (_elements.empty())
164 return typeSystem.type(PrimitiveType::Void, {});
165 if (_elements.size() == 1)
166 return _elements.front();
167 Type result = _elements.back();
168 for (Type type: _elements | ranges::views::reverse | ranges::views::drop_exactly(1))
169 result = typeSystem.type(PrimitiveType::Sum, {type, result});
170 return result;
171}
172
173std::vector<experimental::Type> TypeSystemHelpers::destSumType(Type _tupleType) const
174{

Callers 1

visitMethod · 0.80

Calls 3

emptyMethod · 0.45
typeMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected