void FreezeScript::AnalyzeInitVisitor::visitSequence(const SequencePtr& v) { if(v->isLocal()) { return; } string scoped = v->scoped(); TypeList l = _oldUnit->lookupTypeNoBuiltin(scoped, false); if(!l.empty()) { SequencePtr s = SequencePtr::dynamicCast(l.front()); if(!s) { typeChange(l.front(), scoped, "sequence"); } else { return; } } _out.newline(); _out.newline(); _out << "<!-- sequence " << scoped << " -->"; _out << se("init") << attr("type", scoped); _out << ee; }
void Slice::ChecksumVisitor::visitSequence(const SequencePtr& p) { if (p->isLocal()) { return; } ostringstream ostr; ostr << "sequence<" << typeToString(p->type()) << "> " << p->name() << endl; updateMap(p->scoped(), ostr.str()); }
void FreezeScript::AnalyzeTransformVisitor::visitSequence(const SequencePtr& v) { if(v->isLocal()) { return; } string scoped = v->scoped(); if(ignoreType(scoped)) { return; } TypeList l = _newUnit->lookupTypeNoBuiltin(scoped, false); if(l.empty()) { _missingTypes.push_back(scoped); return; } SequencePtr newSeq = SequencePtr::dynamicCast(l.front()); if(!newSeq) { if(!_ignoreTypeChanges) { typeChange(scoped, v, l.front()); } return; } _out.newline(); _out.newline(); _out << "<!-- sequence " << scoped << " -->"; _out << se("transform") << attr("type", scoped); compareTypes(scoped + " sequence type", v->type(), newSeq->type()); _out << ee; }