// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __javax_swing_text_html_CSSParser__
#define __javax_swing_text_html_CSSParser__

#pragma interface

#include <java/lang/Object.h>
#include <gcj/array.h>

extern "Java"
{
  namespace javax
  {
    namespace swing
    {
      namespace text
      {
        namespace html
        {
            class CSSParser;
            class CSSParser$CSSParserCallback;
        }
      }
    }
  }
}

class javax::swing::text::html::CSSParser : public ::java::lang::Object
{

public: // actually package-private
  CSSParser();
private:
  void append(jchar);
  jint nextToken(jchar);
  jint readChar();
public: // actually package-private
  virtual void parse(::java::io::Reader *, ::javax::swing::text::html::CSSParser$CSSParserCallback *, jboolean);
private:
  jint readWS();
  jboolean getNextStatement();
  void parseAtRule();
  void parseRuleSet();
  jboolean parseSelectors();
  void parseDeclarationBlock();
  jint parseDeclaration();
  jint parseIdentifiers(jchar, jboolean);
  void parseTillClosed(jint);
  jboolean getIdentifier(jchar);
  void readTill(jchar);
  void readComment();
  void startBlock(jint);
  void endBlock(jint);
  jboolean inBlock();
  void pushChar(jint);
  static const jint IDENTIFIER = 1;
  static const jint BRACKET_OPEN = 2;
  static const jint BRACKET_CLOSE = 3;
  static const jint BRACE_OPEN = 4;
  static const jint BRACE_CLOSE = 5;
  static const jint PAREN_OPEN = 6;
  static const jint PAREN_CLOSE = 7;
  static const jint END = -1;
  static JArray< jchar > * charMapping;
  jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) didPushChar;
  jint pushedChar;
  JArray< jint > * unitStack;
  jint stackCount;
  ::java::io::Reader * reader;
  jboolean encounteredRuleSet;
  ::javax::swing::text::html::CSSParser$CSSParserCallback * callback;
  JArray< jchar > * tokenBuffer;
  jint tokenBufferLength;
  jboolean readWS__;
public:
  static ::java::lang::Class class$;
};

#endif // __javax_swing_text_html_CSSParser__