Lines Matching refs:decl

52   void generate(const ast::UserConstraintDecl *decl,
54 void generate(const ast::UserRewriteDecl *decl, StringSet<> &nativeFunctions);
55 void generateConstraintOrRewrite(const ast::CallableDecl *decl,
63 StringRef getNativeTypeName(ast::VariableDecl *decl);
146 for (const ast::Decl *decl : astModule.getChildren()) { in generateConstraintAndRewrites() local
147 TypeSwitch<const ast::Decl *>(decl) in generateConstraintAndRewrites()
149 [&](const auto *decl) { in generateConstraintAndRewrites() argument
152 if (decl->getCodeBlock() && in generateConstraintAndRewrites()
153 usedFns.contains(decl->getName().getName())) in generateConstraintAndRewrites()
154 this->generate(decl, nativeFunctions); in generateConstraintAndRewrites()
159 void CodeGen::generate(const ast::UserConstraintDecl *decl, in generate() argument
161 return generateConstraintOrRewrite(cast<ast::CallableDecl>(decl), in generate()
165 void CodeGen::generate(const ast::UserRewriteDecl *decl, in generate() argument
167 return generateConstraintOrRewrite(cast<ast::CallableDecl>(decl), in generate()
186 StringRef CodeGen::getNativeTypeName(ast::VariableDecl *decl) { in getNativeTypeName() argument
188 for (ast::ConstraintRef &cst : decl->getConstraints()) { in getNativeTypeName()
197 return getNativeTypeName(decl->getType()); in getNativeTypeName()
200 void CodeGen::generateConstraintOrRewrite(const ast::CallableDecl *decl, in generateConstraintOrRewrite() argument
203 StringRef name = decl->getName()->getName(); in generateConstraintOrRewrite()
220 ArrayRef<ast::VariableDecl *> results = decl->getResults(); in generateConstraintOrRewrite()
235 if (!decl->getInputs().empty()) { in generateConstraintOrRewrite()
237 llvm::interleaveComma(decl->getInputs(), os, [&](ast::VariableDecl *input) { in generateConstraintOrRewrite()
242 os << " " << decl->getCodeBlock()->trim() << "\n}\n\n"; in generateConstraintOrRewrite()