eleveyuan / eleveyuan/Sql2Graph

vector推入一个元素为赋值的对象,元素赋值后于这个行为

Open
#3 0 comments 0 reactions 0 assignees View on GitHub
enhancement question
Dominant language
C++
Stars
2
Forks
0
PR merge metrics
No merged PRs in 30d

Description

``` c++
virtual antlrcpp::Any visitColumnDefinition(MySqlParser::ColumnDefinitionContext *ctx) override {
entity->columnType = ctx->dataType()->getText();
// little tricky, 个人不知道这一行为是否安全, 需要后续验证 TODO
// 加入vector, 但是commentSr还没访问到,但是对象已经生成,后续visit会将commentStr的地址填上相应的数据
appendItem(*entity);
return visitChildren(ctx);
}

virtual antlrcpp::Any visitCommentColumnConstraint(MySqlParser::CommentColumnConstraintContext *ctx) override {
entity->commentStr = ctx->STRING_LITERAL()->getText();
return visitChildren(ctx);
}
```
这段代码,个人无法确定是否安全

语法树的访问顺序就是visitColumnDefinition->visitCommentColumnConstraint,
但是我的对象推入vector顺序先于对象元素填充的顺序(对象元素已经实例化,对string这个类还不太了解)

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.