summaryrefslogtreecommitdiff
path: root/graphics/asymptote/fundec.h
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2024-02-28 03:01:23 +0000
committerNorbert Preining <norbert@preining.info>2024-02-28 03:01:23 +0000
commit0afdc3e8c2d8e96d0cd0a5f05f1481a4eecc51d2 (patch)
tree805f2acf8e0115574bc5781d1dfb87fbe2e63ba8 /graphics/asymptote/fundec.h
parenta64a01e8eaa2c096e7879421f075ebfa2a8bb7f0 (diff)
CTAN sync 202402280301
Diffstat (limited to 'graphics/asymptote/fundec.h')
-rw-r--r--graphics/asymptote/fundec.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/graphics/asymptote/fundec.h b/graphics/asymptote/fundec.h
index 5d715fd59b..bfd10f33d3 100644
--- a/graphics/asymptote/fundec.h
+++ b/graphics/asymptote/fundec.h
@@ -38,6 +38,8 @@ public:
types::ty *getType(coenv &e, bool tacit=false);
+ absyntax::ty *getAbsyntaxType() { return base; }
+
virtual void addOps(coenv &e, record *r);
varinit *getDefaultValue() {
@@ -60,6 +62,12 @@ public:
std::pair<std::string, optional<std::string>> fnInfo() const;
};
+struct tySymbolPair : public gc {
+ absyntax::ty* ty;
+ symbol sym;
+ tySymbolPair(absyntax::ty* ty, symbol sym) : ty(ty), sym(sym) {}
+};
+
class formals : public absyn {
//friend class funheader;
@@ -119,6 +127,8 @@ public:
types::function *getType(types::ty *result, coenv &e,
bool encodeDefVal = false,
bool tacit = false);
+
+ mem::vector<tySymbolPair> *getFields();
virtual void addOps(coenv &e, record *r);