MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / dsqlPass

Method dsqlPass

src/dsql/StmtNodes.cpp:274–291  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

272}
273
274AssignmentNode* AssignmentNode::dsqlPass(DsqlCompilerScratch* dsqlScratch)
275{
276 AssignmentNode* node = FB_NEW_POOL(dsqlScratch->getPool()) AssignmentNode(dsqlScratch->getPool());
277 node->asgnFrom = doDsqlPass(dsqlScratch, asgnFrom);
278 node->asgnTo = doDsqlPass(dsqlScratch, asgnTo);
279
280 dsqlValidateTarget(node->asgnTo);
281
282 // Try to force asgnFrom to be same type as asgnTo eg: ? = FIELD case
283 PASS1_set_parameter_type(dsqlScratch, node->asgnFrom, node->asgnTo, false);
284
285 // Try to force asgnTo to be same type as asgnFrom eg: FIELD = ? case
286 // Try even when the above call succeeded, because "asgnTo" may
287 // have sub-expressions that should be resolved.
288 PASS1_set_parameter_type(dsqlScratch, node->asgnTo, node->asgnFrom, false);
289
290 return node;
291}
292
293string AssignmentNode::internalPrint(NodePrinter& printer) const
294{

Callers 1

genBlrMethod · 0.45

Calls 15

PASS1_set_parameter_typeFunction · 0.85
BlockNodeClass · 0.85
ERRD_postFunction · 0.85
GdsClass · 0.85
NumClass · 0.85
dsqlPassLabelFunction · 0.85
StrClass · 0.85
PASS1_cursor_nameFunction · 0.85
dsqlPassArrayFunction · 0.85
PASS1_derived_tableFunction · 0.85
raiseFunction · 0.85
EraseNodeClass · 0.85

Tested by

no test coverage detected