- Oct 31, 2011
-
-
Sean Callanan authored
detecting Objective-C method calls because the "lldb.call.realName" metadata was no longer being correctly installed. I fixed this problem. llvm-svn: 143371
-
- Oct 29, 2011
-
-
Sean Callanan authored
ClangExpressionDeclMap to ClangASTSource, and moved all general type and namespace lookups into ClangASTSource. Now ClangASTSource is ready to complete types given nothing more than a target and an AST context. llvm-svn: 143292
-
Sean Callanan authored
functions from ClangExpressionDeclMap to ClangASTSource. llvm-svn: 143276
-
Sean Callanan authored
AST importer on completing namespace mappings from ClangExpressionDeclMap to ClangASTSource. ClangASTSource now contains a TargetSP which it uses to lookup namespaces in all of a target's modules. I will use the TargetSP in the future to look up globals. llvm-svn: 143275
-
Sean Callanan authored
allow it to complete types on behalf of any AST context (including the "scratch" AST context associated with the target), I scrapped its role as intermediary between the Clang parser and ClangExpressionDeclMap, and instead made ClangExpressionDeclMap inherit from ClangASTSource. After this, I will migrate the functions that complete types and perform namespace lookups from ClangExpressionDeclMap to ClangASTSource. Ultimately ClangExpressionDeclMap's only responsiblity will be to look up variables and ensure that they are materialized and dematerialized correctly. llvm-svn: 143253
-
- Oct 28, 2011
-
-
Sean Callanan authored
and ObjCInterfaceDecls. llvm-svn: 143181
-
- Oct 27, 2011
-
-
Sean Callanan authored
of reference types. Previously, such variables were materialized as references to those references, which caused undesried behavior in Clang and was useless anyway (the benefit of using references to variables is that it allows expressions to modify variables in place, but for references that's not required). Now we just materialize the references directly, which fixes a variety of expressions that use references. llvm-svn: 143137
-
Sean Callanan authored
be found in namespaces. llvm-svn: 143096
-
Sean Callanan authored
the compiler should pick this type up automatically. llvm-svn: 143094
-
Sean Callanan authored
functions in the Objective-C language runtime that is set to the selector that is being passed to the object. llvm-svn: 143083
-
- Oct 26, 2011
-
-
Sean Callanan authored
"_cmd", "this", and "self". These variables are handled differently from all other external variables used by the expression. Other variables are used indirectly through the $__lldb_arg operand; only _cmd, this, and self are passed directly through the ABI. There are two modifications: - I added a function to ClangExpressionDeclMap that retrives the value of one of these variables by name; and - I made IRInterpreter fetch these values when needed, and ensured that the proper level of indirection is used. llvm-svn: 143065
-
- Oct 25, 2011
-
-
Sean Callanan authored
types of the same name. If a local variable with the given name is found (and we are not searching a specific namespace) we stop right then and there and report it. llvm-svn: 142962
-
Sean Callanan authored
parser. Now expression like the following work as expected: - (lldb) expr struct { int a; int b; } $blah = { 10, 20 } <no result> (lldb) expr $blah (<anonymous struct at Parse:6:5>) $blah = { (int) a = 10 (int) b = 20 } - Now the IRForTarget subsystem knows how to handle static initializers of various composite types. Also removed an unnecessary parameter from ClangExpressionDeclMap::GetFunctionInfo. llvm-svn: 142936
-
Sean Callanan authored
for debug information that occasionally gets the const-ness of member functions wrong. We used to demangle the name, add "const," and remangle it; now we handle the mangled name directly, which is more robust. llvm-svn: 142933
-
- Oct 22, 2011
-
-
Greg Clayton authored
classes in the expression parser. llvm-svn: 142717
-
Sean Callanan authored
correctly even after the process has quit. llvm-svn: 142712
-
Sean Callanan authored
that Objective-C methods returning types incompatible with "id" can be properly cast. llvm-svn: 142702
-
Sean Callanan authored
permits a namespace map to be created and populated when the namespace is imported, not just when it is requested via FindExternalVisibleDecls(). llvm-svn: 142690
-
- Oct 21, 2011
-
-
Sean Callanan authored
of arbitrary pointers, allowing direct dereferences of literal addresses. Also disabled special-cased generation of certain expression results (especially casts), substituting the IR interpreter. llvm-svn: 142638
-
- Oct 20, 2011
-
-
Greg Clayton authored
std::string and modified all places that used the std::string it returned to use the "const char *". Also modified the expression parser to not crash when a function type fails to copy into the expression AST context. llvm-svn: 142561
-
- Oct 18, 2011
-
-
Sean Callanan authored
committed. llvm-svn: 142376
-
Sean Callanan authored
we never used) with a much simpler class that wraps the relevant dump functions in Clang. This class also knows to disable external lookups on DeclContexts being dumped so it should be safe to print incomplete Decls. llvm-svn: 142359
-
- Oct 14, 2011
-
-
Sean Callanan authored
FindExternalVisibleDecls and FindExternalLexicalDecls are marked and given unique IDs, so that all logging done as part of their execution can be traced back to the proper call. Also there was some logging that really wasn't helpful in most cases so I disabled it unless verbose logging (log enable -v lldb expr) is enabled. llvm-svn: 141987
-
Sean Callanan authored
make it easier to track down which members belong to which structs (and which call to FindExternalLexicalDecls is doing the reporting). llvm-svn: 141930
-
Sean Callanan authored
Specifically, the expression parser used to use functions attached to SymbolContext to do lookups, but nowadays it searches a ModuleList or Module directly instead. These functions had no remaining clients so I removed them to prevent bit rot. I also removed a stray callback function from ClangExpressionDeclMap. llvm-svn: 141899
-
- Oct 13, 2011
-
-
Sean Callanan authored
which had previously been commented out while I tested it. It's not fully working yet, but it doesn't break our testsuite and it's an important piece of functionality. Also added some logging to SymbolFileDWARF to help diagnose entities that are found in a symbol file, but do not reside in the expected namespace. llvm-svn: 141894
-
Sean Callanan authored
context object. Having it populated and registered within a single FindExternalVisibleDecls call worked fine when there was only one call (i.e., when we were just looking in the global namespace). However, now FindExternalVisibleDecls is called for nested namespaces as well, which means that it is called not once but many times (once per module in which the parent namespace appears). This means that the namespace mapping is built up across many calls to the inferior FindExternalVisibleDecls, so I moved it into a data structure (the search context) that is shared by all calls. I also added some logging to make it easier to see what is happening during a namespace search, and cleaned up some existing logging. llvm-svn: 141888
-
Sean Callanan authored
llvm-svn: 141866
-
Sean Callanan authored
down through Module and SymbolVendor into SymbolFile. Added checks to SymbolFileDWARF that restrict symbol searches when a namespace is passed in. llvm-svn: 141847
-
Sean Callanan authored
we don't need to look them up again when materializing. Switched over the materialization mechanism (for JIT expressions) and the lookup mechanism (for interpreted expressions) to use the VariableSP/Symbol that were found during parsing. llvm-svn: 141839
-
Sean Callanan authored
lifetime of ClangExpressionDeclMap. This allows ClangExpressionVariables found during parsing to be queried for their containing namespaces during expression execution. Other clients (like ClangFunction) explicitly delete this state, so they should not result in any memory leaks. llvm-svn: 141821
-
- Oct 12, 2011
-
-
Sean Callanan authored
calls to the FindExternalVisibleDecls function. FindExternalVisibleDecls was recording whether it had found generic function symbols in variables that were local to the function. Now, however, multiple calls occur in response to one request from Clang, since we may be searching across namespaces. To support that, I moved the local variables into a bitfield in NameSearchContext. llvm-svn: 141808
-
Sean Callanan authored
proper namespace-aware APIs. llvm-svn: 141797
-
Sean Callanan authored
data symbols in namespaces. llvm-svn: 141792
-
Sean Callanan authored
level FindFunctions() where appropriate and not use SymbolContext::FindFunctionsByName(). llvm-svn: 141789
-
Sean Callanan authored
module and namespace. Also made it use FindGlobalVariables() instead of the more heavyweight GetVariablesForVariableExpressionPath(). llvm-svn: 141783
-
Sean Callanan authored
core Module functions that the expression parser will soon be using. llvm-svn: 141766
-
Sean Callanan authored
look in individual modules rather than globally. Also some whitespace fixes. llvm-svn: 141765
-
Greg Clayton authored
llvm-svn: 141755
-
Sean Callanan authored
of namespaces (only in the modules where they've been found) for entities inside those namespaces. For each NamespaceDecl that has been imported into the parser, we maintain a map containing [ModuleSP, ClangNamespaceDecl] pairs in the ASTImporter. This map has one entry for each module in which the namespace has been found. When we later scan for an entity inside a namespace, we search only the modules in which that namespace was found. Also made a small whitespace fix in ClangExpressionParser.cpp. llvm-svn: 141748
-