home *** CD-ROM | disk | FTP | other *** search
/ Computer Active Guide 2009 July / CAG7.ISO / Internetas / SafariSetup.exe / AppleApplicationSupport.msi / WebKit.resources_inspector_SourceTokenizer.js < prev    next >
Encoding:
Text File  |  2010-06-03  |  3.3 KB  |  103 lines

  1. /* Generated by re2c 0.13.5 on Tue Jan 26 01:16:33 2010 */
  2. /*
  3.  * Copyright (C) 2009 Google Inc. All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions are
  7.  * met:
  8.  *
  9.  *     * Redistributions of source code must retain the above copyright
  10.  * notice, this list of conditions and the following disclaimer.
  11.  *     * Redistributions in binary form must reproduce the above
  12.  * copyright notice, this list of conditions and the following disclaimer
  13.  * in the documentation and/or other materials provided with the
  14.  * distribution.
  15.  *     * Neither the name of Google Inc. nor the names of its
  16.  * contributors may be used to endorse or promote products derived from
  17.  * this software without specific prior written permission.
  18.  *
  19.  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
  20.  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
  21.  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
  22.  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
  23.  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  24.  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  25.  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
  26.  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
  27.  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
  28.  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
  29.  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  30.  */
  31.  
  32. WebInspector.SourceTokenizer = function()
  33. {
  34. }
  35.  
  36. WebInspector.SourceTokenizer.prototype = {
  37.     set line(line) {
  38.         this._line = line;
  39.     },
  40.  
  41.     set condition(condition)
  42.     {
  43.         this._condition = condition;
  44.     },
  45.  
  46.     get condition()
  47.     {
  48.         return this._condition;
  49.     },
  50.  
  51.     get subTokenizer()
  52.     {
  53.         return this._condition.subTokenizer;
  54.     },
  55.  
  56.     getLexCondition: function()
  57.     {
  58.         return this.condition.lexCondition;
  59.     },
  60.  
  61.     setLexCondition: function(lexCondition)
  62.     {
  63.         this.condition.lexCondition = lexCondition;
  64.     },
  65.  
  66.     _charAt: function(cursor)
  67.     {
  68.         return cursor < this._line.length ? this._line.charAt(cursor) : "\n";
  69.     }
  70. }
  71.  
  72.  
  73. WebInspector.SourceTokenizer.Registry = function() {
  74.     this._tokenizers = {};
  75.     this._tokenizerConstructors = {
  76.         "text/css": "SourceCSSTokenizer",
  77.         "text/html": "SourceHTMLTokenizer",
  78.         "text/javascript": "SourceJavaScriptTokenizer"
  79.     };
  80. }
  81.  
  82. WebInspector.SourceTokenizer.Registry.getInstance = function()
  83. {
  84.     if (!WebInspector.SourceTokenizer.Registry._instance)
  85.         WebInspector.SourceTokenizer.Registry._instance = new WebInspector.SourceTokenizer.Registry();
  86.     return WebInspector.SourceTokenizer.Registry._instance;
  87. }
  88.  
  89. WebInspector.SourceTokenizer.Registry.prototype = {
  90.     getTokenizer: function(mimeType)
  91.     {
  92.         if (!this._tokenizerConstructors[mimeType])
  93.             return null;
  94.         var tokenizerClass = this._tokenizerConstructors[mimeType];
  95.         var tokenizer = this._tokenizers[tokenizerClass];
  96.         if (!tokenizer) {
  97.             tokenizer = new WebInspector[tokenizerClass]();
  98.             this._tokenizers[mimeType] = tokenizer;
  99.         }
  100.         return tokenizer;
  101.     }
  102. }
  103.