| 159 | { |
| 160 | public: |
| 161 | InitParameterNode(thread_db* tdbb, MemoryPool& pool, CompilerScratch* csb, |
| 162 | Array<NestConst<Parameter> >& parameters, MessageNode* aMessage, USHORT aArgNumber) |
| 163 | : TypedNode<StmtNode, StmtNode::TYPE_EXT_INIT_PARAMETER>(pool), |
| 164 | message(aMessage), |
| 165 | argNumber(aArgNumber) |
| 166 | { |
| 167 | Parameter* parameter = parameters[argNumber / 2]; |
| 168 | defaultValueNode = NULL; |
| 169 | |
| 170 | if (parameter->prm_mechanism != prm_mech_type_of && |
| 171 | !fb_utils::implicit_domain(parameter->prm_field_source.c_str())) |
| 172 | { |
| 173 | MetaNamePair namePair(parameter->prm_field_source, ""); |
| 174 | |
| 175 | FieldInfo fieldInfo; |
| 176 | bool exist = csb->csb_map_field_info.get(namePair, fieldInfo); |
| 177 | |
| 178 | if (exist && fieldInfo.defaultValue) |
| 179 | defaultValueNode = CMP_clone_node(tdbb, csb, fieldInfo.defaultValue); |
| 180 | } |
| 181 | } |
| 182 | |
| 183 | string internalPrint(NodePrinter& printer) const |
| 184 | { |
nothing calls this directly
no test coverage detected