Browse Source

Fixed a regression when a default value uses a constructor with a temporary expression.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/600/head
Dimitar Dobrev 10 years ago
parent
commit
68e9bb3756
  1. 2
      src/CppParser/Parser.cpp
  2. 2
      tests/CSharp/CSharp.h

2
src/CppParser/Parser.cpp

@ -2675,6 +2675,8 @@ AST::Expression* Parser::WalkExpression(clang::Expr* Expr) @@ -2675,6 +2675,8 @@ AST::Expression* Parser::WalkExpression(clang::Expr* Expr)
auto Cast = dyn_cast<CastExpr>(SubTemporaryExpr);
if (!Cast || Cast->getSubExprAsWritten()->getStmtClass() != Stmt::IntegerLiteralClass)
return WalkExpression(SubTemporaryExpr);
return new AST::CXXConstructExpr(GetStringFromStatement(Expr),
WalkDeclaration(ConstructorExpr->getConstructor()));
}
}
auto ConstructorExpression = new AST::CXXConstructExpr(GetStringFromStatement(Expr),

2
tests/CSharp/CSharp.h

@ -274,7 +274,7 @@ enum UntypedFlags @@ -274,7 +274,7 @@ enum UntypedFlags
UntypedFlags operator|(UntypedFlags lhs, UntypedFlags rhs);
struct QGenericArgument
struct DLL_API QGenericArgument
{
public:
QGenericArgument(const char* name = 0);

Loading…
Cancel
Save