diff options
Diffstat (limited to 'src/shared/cplusplus/CheckExpression.cpp')
-rw-r--r-- | src/shared/cplusplus/CheckExpression.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/shared/cplusplus/CheckExpression.cpp b/src/shared/cplusplus/CheckExpression.cpp index 8d0bf823e5..6e83ce47bf 100644 --- a/src/shared/cplusplus/CheckExpression.cpp +++ b/src/shared/cplusplus/CheckExpression.cpp @@ -208,13 +208,20 @@ bool CheckExpression::visit(TemplateIdAST *ast) return false; } -bool CheckExpression::visit(NewExpressionAST *) +bool CheckExpression::visit(NewExpressionAST *ast) { // ### FIXME - //FullySpecifiedType exprTy = semantic()->check(ast->expression, _scope); - //FullySpecifiedType typeIdTy = semantic()->check(ast->type_id, _scope); - // ### process new-typeid + // ### process ast->new_placement + + FullySpecifiedType typeIdTy = semantic()->check(ast->type_id, _scope); + + if (ast->new_type_id) { + FullySpecifiedType ty = semantic()->check(ast->new_type_id->type_specifier, _scope); + // ### process ast->new_type_id + } + // ### process new-initializer + return false; } |