summaryrefslogtreecommitdiffstats
path: root/clang/lib/Rewrite
Commit message (Collapse)AuthorAgeFilesLines
* make "floating macro bubble" output of -emit-html much prettier: Chris Lattner2009-02-131-1/+14
| | | | | | | | only insert spaces between tokens if the code had them or if they are actually required to avoid pasting. This reuses the same logic as -E mode. llvm-svn: 64421
* rename getFullFilePos -> getFileOffset.Chris Lattner2009-01-271-4/+4
| | | | llvm-svn: 63097
* This change refactors some of the low-level lexer interfaces a bit.Chris Lattner2009-01-261-2/+3
| | | | | | | | | | | | | Token now has a class of kinds for "literals", which include numeric constants, strings, etc. These tokens can optionally have a pointer to the start of the token in the lexer buffer. This makes it faster to get spelling and do other gymnastics, because we don't have to go through source locations. This change is performance neutral, but will make other changes more feasible down the road. llvm-svn: 63028
* Check in the long promised SourceLocation rewrite. This lays theChris Lattner2009-01-262-3/+2
| | | | | | | | | | ground work for implementing #line, and fixes the "out of macro ID's" problem. There is nothing particularly tricky about the code, other than the very performance sensitive SourceManager::getFileID() method. llvm-svn: 62978
* Rename SourceManager::getCanonicalFileID -> getFileID. There isChris Lattner2009-01-191-2/+2
| | | | | | no longer such thing as a non-canonical FileID. llvm-svn: 62499
* add a simplified lexer ctor that sets up the lexer to raw-lex anChris Lattner2009-01-172-9/+3
| | | | | | entire file. llvm-svn: 62414
* this massive patch introduces a simple new abstraction: it makesChris Lattner2009-01-173-50/+50
| | | | | | | | | | | | | | | "FileID" a concept that is now enforced by the compiler's type checker instead of yet-another-random-unsigned floating around. This is an important distinction from the "FileID" currently tracked by SourceLocation. *That* FileID may refer to the start of a file or to a chunk within it. The new FileID *only* refers to the file (and its #include stack and eventually #line data), it cannot refer to a chunk. FileID is a completely opaque datatype to all clients, only SourceManager is allowed to poke and prod it. llvm-svn: 62407
* more SourceLocation lexicon change: instead of referring to theChris Lattner2009-01-161-5/+5
| | | | | | "logical" location, refer to the "instantiation" location. llvm-svn: 62316
* CMake: Builds and installs clang binary and libs (no docs yet). ItOscar Fuentes2008-10-261-0/+9
| | | | | | must be under the `tools' subdirectory of the LLVM *source* tree. llvm-svn: 58180
* make the -rewrite-test a bit more interesting: it now Chris Lattner2008-10-121-3/+50
| | | | | | | wraps comments in <i> tags. Extend rewrite tokens to support this minimal functionality. llvm-svn: 57409
* start implementing a token rewriter. At this point, it just reads in a fileChris Lattner2008-10-121-0/+53
| | | | | | and lets a client iterate over it. llvm-svn: 57407
* Change how raw lexers are handled: instead of creating them and thenChris Lattner2008-10-121-4/+4
| | | | | | | | | | | using LexRawToken, create one and use LexFromRawLexer. This avoids twiddling the RawLexer flag around and simplifies some code (even speeding raw lexing up a tiny bit). This change also improves the token paster to use a Lexer on the stack instead of new/deleting it. llvm-svn: 57393
* Add #include (introduced by dependence on DeclGroup)Ted Kremenek2008-10-071-0/+1
| | | | llvm-svn: 57274
* add a new Rewriter::getRewritenText method that returns the text for a rangeChris Lattner2008-10-031-0/+49
| | | | | | that includes any edits in the range. llvm-svn: 57037
* Fixed an offset calculation error.Zhongxing Xu2008-09-161-1/+1
| | | | llvm-svn: 56242
* Patch by Csaba Hruska!Ted Kremenek2008-09-132-5/+8
| | | | | | | "Here is a patch what replaces std::ostream with llvm::raw_ostream. This patch covers the AST library, but ignores Analysis lib." llvm-svn: 56185
* Patch by Kovarththanan Rajaratnam!Ted Kremenek2008-08-311-0/+10
| | | | | | "This minor patch adds markup of string literals with a red colour." llvm-svn: 55589
* honor EscapeSpaces in 2nd overload of EscapeText()Nico Weber2008-08-161-3/+8
| | | | llvm-svn: 54854
* Add CSS for word wrapping of long message bubbles.Ted Kremenek2008-07-111-0/+1
| | | | llvm-svn: 53492
* In a report-XXXXX.html, make the title include the name of the file with the ↵Ted Kremenek2008-07-071-7/+13
| | | | | | | | bug. Patch by Jean-Daniel Dupas! http://lists.cs.uiuc.edu/pipermail/cfe-dev/2008-July/002166.html llvm-svn: 53184
* Fix rewrite rope to keep the leaf list up-to-date as it erases leavesChris Lattner2008-05-281-5/+27
| | | | | | from the rope. rdar://5952468 llvm-svn: 51651
* add an assertionChris Lattner2008-05-281-0/+1
| | | | llvm-svn: 51645
* fix a nasty off-by-one error.Chris Lattner2008-05-231-1/+1
| | | | llvm-svn: 51519
* fix an inconsistency computing offsets that caused a crash on rewrite-nest.mChris Lattner2008-05-231-1/+1
| | | | llvm-svn: 51514
* Fix rdar://5919567: assertion failure: split didn't occur before erase!Chris Lattner2008-05-081-1/+3
| | | | llvm-svn: 50839
* fix a rewriter crash on zero length files.Chris Lattner2008-04-231-0/+1
| | | | llvm-svn: 50126
* replace form feeds with an <hr> tag.Chris Lattner2008-04-191-1/+5
| | | | llvm-svn: 49975
* Provide a version of html::HighlightMacros that takes a Preprocessor&.Ted Kremenek2008-04-181-16/+17
| | | | llvm-svn: 49896
* Make tab insertion really right: the number of spaces insertedChris Lattner2008-04-181-7/+17
| | | | | | depends on the column number of the start of the tab. llvm-svn: 49891
* Use HTML5 doctype when generating HTML.Ted Kremenek2008-04-181-3/+2
| | | | llvm-svn: 49888
* Updated CSS colors. Patch by Cedric Venet!Ted Kremenek2008-04-181-5/+5
| | | | llvm-svn: 49886
* Fix a problem noticed by Nuno, where we wouldn't escape characters in Chris Lattner2008-04-171-2/+3
| | | | | | macro expansions. llvm-svn: 49877
* class Preprocessor: Now owns the "predefines" char*; it deletes [] it in its ↵Ted Kremenek2008-04-171-11/+18
| | | | | | | | | | | | | | | | | dstor. clang.cpp: InitializePreprocessor now makes a copy of the contents of PredefinesBuffer and passes it to the preprocessor object. clang.cpp: DriverPreprocessorFactory now calls "InitializePreprocessor" instead of this being done in main(). html::HighlightMacros() now takes a PreprocessorFactory, allowing it to conjure up a new Preprocessor to highlight macros. class HTMLDiagnostics now takes a PreprocessorFactory* that it can use for html::HighlightMacros(). Updated clients of HTMLDiagnostics to use this new interface. llvm-svn: 49875
* don't give macros a backgroundChris Lattner2008-04-171-2/+2
| | | | llvm-svn: 49871
* Make sure popup is on top over other spans. wrap long line.Chris Lattner2008-04-171-2/+3
| | | | llvm-svn: 49870
* Add support in HTML macro expansion for hovering over a macro and automaticallyTed Kremenek2008-04-171-3/+6
| | | | | | | | | | expanding its definition. This is a pure CSS solution. Tested on IE7, Firefox 3b4, and Safari 3.1. Patch by Cedric Venet! llvm-svn: 49865
* insert macro expansions into floating divs. For now, they are always displayed,Chris Lattner2008-04-171-4/+29
| | | | | | but we want some javascript or something toggle their display. llvm-svn: 49836
* correctly hilight multi-line macro definitions and otherChris Lattner2008-04-161-12/+20
| | | | | | preprocessor directives. llvm-svn: 49828
* Make HighlightRange correctly handle multi-line ranges. This causes us to Chris Lattner2008-04-161-0/+42
| | | | | | correctly handle multi-line comments. llvm-svn: 49827
* add a new HighlightRange API, it doesn't handle multiline rangesChris Lattner2008-04-161-12/+40
| | | | | | yet, but it will soon... llvm-svn: 49825
* reenable highlighting of (the first line of) commentsChris Lattner2008-04-161-1/+1
| | | | llvm-svn: 49816
* switch from relexing with the preprocessor to do syntax highlighting to relexingChris Lattner2008-04-161-20/+19
| | | | | | | | with the Lexer. This is cheaper and gives us some advantages. For now we start highlighting preprocessor directives (which need improvement), and disable comments. Comments to be restored later. llvm-svn: 49815
* Take a stab at highlighting #defines and #includes. This doesn't work yet.Chris Lattner2008-04-161-11/+30
| | | | llvm-svn: 49781
* Syntax highlight keywords. I assume someone else will pick less appaling ↵Chris Lattner2008-04-161-3/+10
| | | | | | colors. llvm-svn: 49780
* split syntax highlighting of macros from keywords and comments,Chris Lattner2008-04-161-3/+69
| | | | | | | | | allowing us to use a cheaper means to highlight keywords and making it so that comments won't foul up macro expansions. Start highlighting macro expansions. llvm-svn: 49779
* Add a mode of hackily syntax highlighting comments. This has a number ofChris Lattner2008-04-161-2/+43
| | | | | | | | problems, including the fact that it doesn't work well with multi-line comments due to Ted's crazy table. However, that could be fixed, and it does work with single-line ones :). llvm-svn: 49778
* Switch AddLineNumbers to hack on a rewritebuffer instead of on a Chris Lattner2008-04-161-33/+30
| | | | | | rewriter, getting sourcelocations out of the picture. llvm-svn: 49775
* In html::EscapeText, instead of going through the rewriter withChris Lattner2008-04-161-39/+29
| | | | | | | | a SourceLocation to get a RewriteBuffer, poke the RewriteBuffer with an offset directly. THis is no faster, but results in cleaner code. llvm-svn: 49774
* switch AddLineNumber to use a SmallString instead of sstream. ThisChris Lattner2008-04-161-10/+12
| | | | | | | speeds up -emit-html on ted's testcase by 29% (.138 -> 0.107s) in a release build. llvm-svn: 49767
* For HTML diagnostics, output more information about a bug report.Ted Kremenek2008-04-151-1/+10
| | | | llvm-svn: 49742
OpenPOWER on IntegriCloud