likn_symbols _visitor done, but it is not tested yet

This commit is contained in:
ProgramSnail 2023-04-17 18:56:58 +03:00
parent 3c643d2759
commit 3d74b1383e
10 changed files with 236 additions and 427 deletions

View file

@ -297,6 +297,7 @@ struct AliasDefinitionStatement {
std::vector<AbstractTypeIdentifier> parameters;
std::unique_ptr<ParametrizedType> value;
std::vector<utils::IdType> parameter_graph_ids_;
utils::IdType type_id_;
};
@ -321,6 +322,7 @@ struct FunctionDefinitionStatement {
SuperExpression value;
utils::IdType function_id_;
std::vector<utils::IdType> argument_graph_ids_;
};
struct TypeDefinitionStatement {
@ -335,6 +337,7 @@ struct AbstractTypeDefinitionStatement {
enum { Basic, Abstract } modifier;
std::unique_ptr<AnnotatedType> type;
utils::IdType type_graph_id_;
utils::IdType type_id_;
};
@ -362,6 +365,8 @@ struct TypeDefinition {
struct AnnotatedAbstractType {
AbstractTypeIdentifier type;
std::vector<TypeclassUsage> typeclasses;
utils::IdType type_graph_id_;
};
// ----------------- Flow control -----------------
@ -518,6 +523,8 @@ struct TypeExpression {
std::vector<TypeSubExpression> namespaces;
AnyTypeIdentifier type;
std::optional<size_t> array_size; // if array; 0 - dynamic size
utils::IdType type_id_;
};
struct ExtendedScopedAnyType {
@ -535,6 +542,8 @@ struct ParametrizedTypeclass {
struct TypeclassExpression {
std::vector<TypeSubExpression> namespaces;
TypeclassIdentifier typeclass;
utils::IdType type_id_;
};
// ----------------- Comments [IGNORE] -----------------