summaryrefslogtreecommitdiffstats
path: root/clang/lib/Rewrite/HTMLRewrite.cpp
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
* Check in the long promised SourceLocation rewrite. This lays theChris Lattner2009-01-261-2/+1
| | | | | | | | | | 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-171-5/+2
| | | | | | entire file. llvm-svn: 62414
* this massive patch introduces a simple new abstraction: it makesChris Lattner2009-01-171-25/+25
| | | | | | | | | | | | | | | "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
* 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
* Patch by Csaba Hruska!Ted Kremenek2008-09-131-3/+5
| | | | | | | "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
* 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
* Micro-optimization: Don't use ostringstream when using a C-string literalTed Kremenek2008-04-091-40/+28
| | | | | | will work just fine. llvm-svn: 49427
* Don't expand tabs in EscapeText, but rather expand them when writing outTed Kremenek2008-04-081-3/+14
| | | | | | | the HTML file. This should reduce the amount of memory pressure on the rewriter for files that have a lot of tabs. llvm-svn: 49406
* When substituting tabs during HTMLification, only add "&nbsp;" when we areTed Kremenek2008-04-081-1/+6
| | | | | | "escaping" spaces. llvm-svn: 49404
* Add ids for line numbers, allowing us to jump to arbitrary line numbers withinTed Kremenek2008-04-071-1/+2
| | | | | | an HTMLified source file. llvm-svn: 49359
* Tweak message bubble color (gold)Ted Kremenek2008-04-071-1/+1
| | | | llvm-svn: 49357
* fix css font name, patch by Cédric VenetChris Lattner2008-04-061-1/+1
| | | | llvm-svn: 49260
* Some cleanups in EscapeText and AddLineNumbers. Still investigating performanceTed Kremenek2008-04-031-37/+47
| | | | | | issues. llvm-svn: 49150
* CSS tweaking on blue boxes.Ted Kremenek2008-04-021-1/+2
| | | | llvm-svn: 49121
* Blue diagnostic boxes.Ted Kremenek2008-04-021-4/+2
| | | | llvm-svn: 49117
* Added path sequence numbers in HTML output of PathDiagnostics.Ted Kremenek2008-04-021-0/+1
| | | | llvm-svn: 49116
* Better handling for tabs with message bubbles.Ted Kremenek2008-03-311-2/+4
| | | | llvm-svn: 49001
* Minor CSS tweaking (smaller h1 tags).Ted Kremenek2008-03-271-1/+3
| | | | | | Bug fix in EscapeText (for std::string) where spaces were not properly emitted. llvm-svn: 48889
* Add html::EscapeText for std::string; use this function to escape text in ↵Ted Kremenek2008-03-271-0/+26
| | | | | | message bubbles. llvm-svn: 48884
OpenPOWER on IntegriCloud