| 
    Cppcheck
    
   | 
 
#include "clangimport.h"#include "errortypes.h"#include "mathlib.h"#include "settings.h"#include "standards.h"#include "symboldatabase.h"#include "token.h"#include "tokenize.h"#include "tokenlist.h"#include "utils.h"#include "vfvalue.h"#include <algorithm>#include <cctype>#include <cstring>#include <iostream>#include <iterator>#include <list>#include <map>#include <memory>#include <set>#include <sstream>#include <stack>#include <string>#include <utility>#include <vector>#include <numeric>Go to the source code of this file.
Classes | |
| struct | clangimport::Data | 
| struct | clangimport::Data::Decl | 
| class | clangimport::AstNode | 
Namespaces | |
| clangimport | |
Typedefs | |
| using | clangimport::AstNodePtr = std::shared_ptr< AstNode > | 
Functions | |
| static std::string | unquote (const std::string &s) | 
| static std::vector< std::string > | splitString (const std::string &line) | 
| static void | setTypes (TokenList &tokenList) | 
| static void | setValues (const Tokenizer &tokenizer, const SymbolDatabase *symbolDatabase) | 
Variables | |
| static const std::string | AccessSpecDecl = "AccessSpecDecl" | 
| static const std::string | ArraySubscriptExpr = "ArraySubscriptExpr" | 
| static const std::string | BinaryOperator = "BinaryOperator" | 
| static const std::string | BreakStmt = "BreakStmt" | 
| static const std::string | CallExpr = "CallExpr" | 
| static const std::string | CaseStmt = "CaseStmt" | 
| static const std::string | CharacterLiteral = "CharacterLiteral" | 
| static const std::string | ClassTemplateDecl = "ClassTemplateDecl" | 
| static const std::string | ClassTemplateSpecializationDecl = "ClassTemplateSpecializationDecl" | 
| static const std::string | ConditionalOperator = "ConditionalOperator" | 
| static const std::string | ConstantExpr = "ConstantExpr" | 
| static const std::string | CompoundAssignOperator = "CompoundAssignOperator" | 
| static const std::string | CompoundStmt = "CompoundStmt" | 
| static const std::string | ContinueStmt = "ContinueStmt" | 
| static const std::string | CStyleCastExpr = "CStyleCastExpr" | 
| static const std::string | CXXBindTemporaryExpr = "CXXBindTemporaryExpr" | 
| static const std::string | CXXBoolLiteralExpr = "CXXBoolLiteralExpr" | 
| static const std::string | CXXConstructorDecl = "CXXConstructorDecl" | 
| static const std::string | CXXConstructExpr = "CXXConstructExpr" | 
| static const std::string | CXXDefaultArgExpr = "CXXDefaultArgExpr" | 
| static const std::string | CXXDeleteExpr = "CXXDeleteExpr" | 
| static const std::string | CXXDestructorDecl = "CXXDestructorDecl" | 
| static const std::string | CXXForRangeStmt = "CXXForRangeStmt" | 
| static const std::string | CXXFunctionalCastExpr = "CXXFunctionalCastExpr" | 
| static const std::string | CXXMemberCallExpr = "CXXMemberCallExpr" | 
| static const std::string | CXXMethodDecl = "CXXMethodDecl" | 
| static const std::string | CXXNewExpr = "CXXNewExpr" | 
| static const std::string | CXXNullPtrLiteralExpr = "CXXNullPtrLiteralExpr" | 
| static const std::string | CXXOperatorCallExpr = "CXXOperatorCallExpr" | 
| static const std::string | CXXRecordDecl = "CXXRecordDecl" | 
| static const std::string | CXXStaticCastExpr = "CXXStaticCastExpr" | 
| static const std::string | CXXStdInitializerListExpr = "CXXStdInitializerListExpr" | 
| static const std::string | CXXTemporaryObjectExpr = "CXXTemporaryObjectExpr" | 
| static const std::string | CXXThisExpr = "CXXThisExpr" | 
| static const std::string | CXXThrowExpr = "CXXThrowExpr" | 
| static const std::string | DeclRefExpr = "DeclRefExpr" | 
| static const std::string | DeclStmt = "DeclStmt" | 
| static const std::string | DefaultStmt = "DefaultStmt" | 
| static const std::string | DoStmt = "DoStmt" | 
| static const std::string | EnumConstantDecl = "EnumConstantDecl" | 
| static const std::string | EnumDecl = "EnumDecl" | 
| static const std::string | ExprWithCleanups = "ExprWithCleanups" | 
| static const std::string | FieldDecl = "FieldDecl" | 
| static const std::string | FloatingLiteral = "FloatingLiteral" | 
| static const std::string | ForStmt = "ForStmt" | 
| static const std::string | FunctionDecl = "FunctionDecl" | 
| static const std::string | FunctionTemplateDecl = "FunctionTemplateDecl" | 
| static const std::string | GotoStmt = "GotoStmt" | 
| static const std::string | IfStmt = "IfStmt" | 
| static const std::string | ImplicitCastExpr = "ImplicitCastExpr" | 
| static const std::string | InitListExpr = "InitListExpr" | 
| static const std::string | IntegerLiteral = "IntegerLiteral" | 
| static const std::string | LabelStmt = "LabelStmt" | 
| static const std::string | LinkageSpecDecl = "LinkageSpecDecl" | 
| static const std::string | MaterializeTemporaryExpr = "MaterializeTemporaryExpr" | 
| static const std::string | MemberExpr = "MemberExpr" | 
| static const std::string | NamespaceDecl = "NamespaceDecl" | 
| static const std::string | NullStmt = "NullStmt" | 
| static const std::string | ParenExpr = "ParenExpr" | 
| static const std::string | ParmVarDecl = "ParmVarDecl" | 
| static const std::string | RecordDecl = "RecordDecl" | 
| static const std::string | ReturnStmt = "ReturnStmt" | 
| static const std::string | StringLiteral = "StringLiteral" | 
| static const std::string | SwitchStmt = "SwitchStmt" | 
| static const std::string | TemplateArgument = "TemplateArgument" | 
| static const std::string | TypedefDecl = "TypedefDecl" | 
| static const std::string | UnaryOperator = "UnaryOperator" | 
| static const std::string | UnaryExprOrTypeTraitExpr = "UnaryExprOrTypeTraitExpr" | 
| static const std::string | VarDecl = "VarDecl" | 
| static const std::string | WhileStmt = "WhileStmt" | 
      
  | 
  static | 
Definition at line 1519 of file clangimport.cpp.
References TokenList::front(), Token::next(), Token::simpleMatch(), Token::str(), and Token::tokAt().
Referenced by clangimport::parseClangAstDump().
      
  | 
  static | 
Definition at line 1532 of file clangimport.cpp.
References Scope::definedType, Variable::dimensions(), Tokenizer::getSettings(), Token::linkAt(), Token::next(), ValueType::parseDecl(), Settings::platform, Token::previous(), SymbolDatabase::scopeList, ValueFlow::Value::setKnown(), Token::simpleMatch(), Type::sizeOf, Tokenizer::tokens(), ValueType::typeSize(), Variable::valueType(), and Scope::varlist.
Referenced by clangimport::parseClangAstDump().
      
  | 
  static | 
Definition at line 125 of file clangimport.cpp.
Referenced by clangimport::AstNode::addTypeTokens().
      
  | 
  static | 
Definition at line 119 of file clangimport.cpp.
Referenced by clangimport::AstNode::addTypeTokens(), clangimport::AstNode::createTokens(), clangimport::AstNode::createTokensForCXXRecord(), clangimport::AstNode::createTokensFunctionDecl(), clangimport::AstNode::createTokensVarDecl(), clangimport::AstNode::getSpelling(), clangimport::AstNode::getTemplateParameters(), and clangimport::AstNode::getType().
      
  | 
  static | 
Definition at line 48 of file clangimport.cpp.
Referenced by clangimport::AstNode::createScope().
      
  | 
  static | 
Definition at line 49 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 50 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 51 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 52 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 53 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 54 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 55 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 56 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 59 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), and clangimport::AstNode::getSpelling().
      
  | 
  static | 
Definition at line 60 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), and clangimport::AstNode::createTokensFunctionDecl().
      
  | 
  static | 
Definition at line 57 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 58 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 61 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 62 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 63 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 64 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 66 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 65 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), clangimport::AstNode::createTokensFunctionDecl(), and clangimport::AstNode::getSpelling().
      
  | 
  static | 
Definition at line 67 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokensCall().
      
  | 
  static | 
Definition at line 68 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 69 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), and clangimport::AstNode::createTokensFunctionDecl().
      
  | 
  static | 
Definition at line 70 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 71 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 72 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 73 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), and clangimport::AstNode::getSpelling().
      
  | 
  static | 
Definition at line 74 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 75 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 76 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), and clangimport::AstNode::createTokensCall().
      
  | 
  static | 
Definition at line 77 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 78 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 79 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 80 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 81 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 82 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 83 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), and clangimport::AstNode::getSpelling().
      
  | 
  static | 
Definition at line 84 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 85 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 86 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 87 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 88 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 89 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 90 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 91 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 92 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 93 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), and clangimport::AstNode::getSpelling().
      
  | 
  static | 
Definition at line 94 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 95 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 96 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 97 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 98 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 99 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 100 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 101 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 102 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 103 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 104 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 105 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 106 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 107 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokensFunctionDecl().
      
  | 
  static | 
Definition at line 108 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), clangimport::AstNode::createTokens1(), and clangimport::AstNode::getSpelling().
      
  | 
  static | 
Definition at line 109 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 110 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 111 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 112 of file clangimport.cpp.
Referenced by clangimport::AstNode::getTemplateParameters().
      
  | 
  static | 
Definition at line 113 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), and clangimport::AstNode::createTokens1().
      
  | 
  static | 
Definition at line 115 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), and clangimport::AstNode::getSpelling().
      
  | 
  static | 
Definition at line 114 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().
      
  | 
  static | 
Definition at line 116 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens(), and clangimport::AstNode::createTokens1().
      
  | 
  static | 
Definition at line 117 of file clangimport.cpp.
Referenced by clangimport::AstNode::createTokens().