llvm-project/lldb
Sean Callanan bccce81340 Added support for persistent types to the
expression parser.  You can use a persistent
type like this:

(lldb) expr struct $foo { int a; int b; };
(lldb) struct $foo i; i.a = 2; i.b = 3; i
($foo) $0 = {
  (int) a = 2
  (int) b = 3
}

typedefs work similarly.

This patch affects the following files:

test/expression_command/persistent_types/*
  A test case for persistent types,
  in particular structs and typedefs.

ClangForward.h
  Added TypeDecl, needed to declare some
  functions in ASTResultSynthesizer.h

ClangPersistentVariables.[h,cpp]
  Added a list of persistent types to the
  persistent variable store.

ASTResultSynthesizer.[h,cpp]
  Made the AST result synthesizer iterate
  across TypeDecls in the expression, and
  record any persistent types found.  Also
  made a minor documentation fix.

ClangUserExpression.[h,cpp]
  Extended the user expression class to
  keep the state needed to report the
  persistent variable store for the target
  to the AST result synthesizers. 

  Also introduced a new error code for
  expressions that executed normally but
  did not return a result.

CommandObjectExpression.cpp
  Improved output for expressions (like 
  declarations of new persistent types) that
  don't return a result.  This is no longer
  treated as an error.

llvm-svn: 138383
2011-08-23 21:20:51 +00:00
..
docs Add a note. 2011-07-20 20:28:36 +00:00
examples Short option for --summary-string in 'type summary add' is now -s. This might be a breaking change for those who have summaries defined. 2011-08-23 16:13:35 +00:00
include Added support for persistent types to the 2011-08-23 21:20:51 +00:00
lib Patch by David Forsythe to build lldb on FreeBSD! 2011-08-02 20:52:42 +00:00
lldb.xcodeproj Separated FormatNavigator and FormatManager in two different files ; moved FormatCategoryItem enum out of FormatManager.h as a debugger-wide lldb_private enum ; minor style cleanups 2011-08-22 23:45:15 +00:00
lldb.xcworkspace Adding a Xcode workspace for lldb. 2011-01-27 20:15:39 +00:00
resources Bumped Xcode project versions for lldb-73 and debugserver-144. 2011-08-16 23:11:03 +00:00
scripts Additional code cleanups ; Short option name for --python-script in type summary add moved from -s to -o (this is a preliminary step in moving the short option for --summary-string from -f to -s) ; Accordingly updated the test suite 2011-08-23 00:32:52 +00:00
source Added support for persistent types to the 2011-08-23 21:20:51 +00:00
test Added support for persistent types to the 2011-08-23 21:20:51 +00:00
tools Better help string for "lldb -- file arg1 arg2..." 2011-08-16 23:57:58 +00:00
utils Fix typos in comment. 2011-08-20 01:02:31 +00:00
www Exception-awareness for gnu_libstdcpp formatters ; Documentation update 2011-08-22 16:10:25 +00:00
INSTALL.txt You'll need to be running Mac OS X to get lldb to build right now. 2010-06-09 07:29:26 +00:00
LICENSE.TXT test commit 2010-06-09 03:55:24 +00:00
Makefile Patch by David Forsythe to build lldb on FreeBSD! 2011-08-02 20:52:42 +00:00