MCPcopy Create free account
hub / github.com/bytedance/bolt / asType

Method asType

bolt/expression/TypeSignature.cpp:141–160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

139}
140
141TypePtr TypeSignature::asType() const {
142 auto basename = boost::algorithm::to_upper_copy(baseName_);
143 std::vector<TypeParameter> parameters;
144 std::vector<std::string> rowParameterNames;
145
146 parameters.reserve(parameters_.size());
147 rowParameterNames.reserve(parameters_.size());
148
149 for (const auto& p : parameters_) {
150 rowParameterNames.emplace_back(
151 p.rowFieldName_.has_value() ? p.rowFieldName_.value() : std::string());
152 if (isDecimalName(basename)) {
153 parameters.emplace_back(std::stoll(p.baseName_));
154 } else {
155 parameters.emplace_back(p.asType());
156 }
157 }
158
159 return getType(basename, parameters, rowParameterNames);
160}
161
162TypeSignature::TypeSignature(
163 const Type& type,

Callers 1

toBoltPlanMethod · 0.80

Calls 6

isDecimalNameFunction · 0.85
getTypeFunction · 0.85
has_valueMethod · 0.80
reserveMethod · 0.45
sizeMethod · 0.45
valueMethod · 0.45

Tested by

no test coverage detected