sidekick.enhanced
Class SourceParser

java.lang.Object
  extended by sidekick.SideKickParser
      extended by sidekick.enhanced.SourceParser

public class SourceParser
extends SideKickParser

SourceParser: parses source and builds a sidekick structure tree Parsers are based on regular expressions and will therefore not able to correctly parse irregular source

Version:
$Revision: 943 $
Author:
Martin Raspe

Nested Class Summary
protected  class SourceParser.AssetComparator
           
protected  class SourceParser.PackageComparator
           
protected  class SourceParser.PackageMap
           
 
Field Summary
protected  SourceAsset _asset
           
protected  javax.swing.text.Position _end
           
protected  int _lastLineNumber
           
protected  SourceAsset _pkgAsset
           
protected  javax.swing.text.Position _start
           
 java.lang.String COMMENT
           
 javax.swing.ImageIcon COMMENT_ICON
           
protected  java.util.ArrayList commentList
           
protected  SideKickParsedData data
           
 java.lang.String LINE_COMMENT
           
 java.lang.String MAIN
           
 javax.swing.ImageIcon PACKAGE_ICON
           
 javax.swing.ImageIcon PACKAGE_INVALID_ICON
           
protected  SourceParser.PackageMap packages
           
 java.lang.String PKG_KEY
           
 javax.swing.ImageIcon SUB_ICON
           
 javax.swing.ImageIcon SUB_INVALID_ICON
           
 java.lang.String SUB_KEY
           
 java.lang.String USE
           
 javax.swing.ImageIcon USE_ICON
           
 javax.swing.ImageIcon USE_INVALID_ICON
           
 java.lang.String USE_KEY
           
 
Fields inherited from class sidekick.SideKickParser
name, SERVICE
 
Constructor Summary
SourceParser(java.lang.String name)
          Constructs a new SourceParser object
SourceParser(java.lang.String name, java.lang.Class cls)
           
 
Method Summary
protected  void addAsset(java.lang.String typ, java.lang.String p, java.lang.String name, int lineNo, javax.swing.text.Position start)
           
protected  void addCommentAsset(java.lang.String name, int lineNo, javax.swing.text.Position start)
           
protected  void addLineAsset(java.lang.String typ, java.lang.String p, java.lang.String name, int lineNo, javax.swing.text.Position start, javax.swing.text.Position end)
           
protected  void addList(javax.swing.tree.DefaultMutableTreeNode t, java.util.ArrayList list, javax.swing.ImageIcon icon)
           
protected  void addPackageAsset(java.lang.String name, int lineNo, javax.swing.text.Position start)
           
protected  void buildTrees()
           
protected  void completeAsset(javax.swing.text.Position end)
           
protected  void completeAsset(javax.swing.text.Position end, int lineNo)
           
protected  void completeAsset(javax.swing.text.Position end, java.lang.String desc)
           
protected  void completePackageAsset(javax.swing.text.Position end, int lineNo)
           
protected  java.lang.String find(java.lang.String line, java.util.regex.Pattern p, int g)
           
protected  java.lang.String[] find2(java.lang.String line, java.util.regex.Pattern p)
           
protected  javax.swing.ImageIcon loadIcon(java.lang.String name, java.lang.Class cls, java.lang.String icon)
           
protected  void loadIcons(java.lang.String name, java.lang.Class cls)
           
protected  void newTree(javax.swing.tree.DefaultMutableTreeNode n, java.lang.String name, java.util.ArrayList list, javax.swing.ImageIcon icon)
           
 SideKickParsedData parse(org.gjt.sp.jedit.Buffer buffer, errorlist.DefaultErrorSource errorSource)
          Parses the given text and returns a tree model.
protected  void parseBuffer(org.gjt.sp.jedit.Buffer buffer, errorlist.DefaultErrorSource errorSource)
           
 
Methods inherited from class sidekick.SideKickParser
activate, activate, canCompleteAnywhere, canHandleBackspace, complete, deactivate, deactivate, getInstantCompletionTriggers, getName, getPanel, getParseTriggers, stop, supportsCompletion
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PACKAGE_ICON

public javax.swing.ImageIcon PACKAGE_ICON

USE_ICON

public javax.swing.ImageIcon USE_ICON

SUB_ICON

public javax.swing.ImageIcon SUB_ICON

PACKAGE_INVALID_ICON

public javax.swing.ImageIcon PACKAGE_INVALID_ICON

USE_INVALID_ICON

public javax.swing.ImageIcon USE_INVALID_ICON

SUB_INVALID_ICON

public javax.swing.ImageIcon SUB_INVALID_ICON

COMMENT_ICON

public javax.swing.ImageIcon COMMENT_ICON

LINE_COMMENT

public java.lang.String LINE_COMMENT

COMMENT

public java.lang.String COMMENT

MAIN

public java.lang.String MAIN

USE

public java.lang.String USE

USE_KEY

public java.lang.String USE_KEY

SUB_KEY

public java.lang.String SUB_KEY

PKG_KEY

public java.lang.String PKG_KEY

data

protected SideKickParsedData data

packages

protected SourceParser.PackageMap packages

commentList

protected java.util.ArrayList commentList

_asset

protected SourceAsset _asset

_pkgAsset

protected SourceAsset _pkgAsset

_start

protected javax.swing.text.Position _start

_end

protected javax.swing.text.Position _end

_lastLineNumber

protected int _lastLineNumber
Constructor Detail

SourceParser

public SourceParser(java.lang.String name)
Constructs a new SourceParser object

Parameters:
name - See sidekick.SidekickParser.

SourceParser

public SourceParser(java.lang.String name,
                    java.lang.Class cls)
Method Detail

parse

public SideKickParsedData parse(org.gjt.sp.jedit.Buffer buffer,
                                errorlist.DefaultErrorSource errorSource)
Parses the given text and returns a tree model.

Specified by:
parse in class SideKickParser
Parameters:
buffer - The buffer to parse.
errorSource - An error source to add errors to.
Returns:
A new instance of the SourceParsedData class.

parseBuffer

protected void parseBuffer(org.gjt.sp.jedit.Buffer buffer,
                           errorlist.DefaultErrorSource errorSource)

loadIcons

protected void loadIcons(java.lang.String name,
                         java.lang.Class cls)

loadIcon

protected javax.swing.ImageIcon loadIcon(java.lang.String name,
                                         java.lang.Class cls,
                                         java.lang.String icon)

completeAsset

protected void completeAsset(javax.swing.text.Position end)

completeAsset

protected void completeAsset(javax.swing.text.Position end,
                             java.lang.String desc)

completeAsset

protected void completeAsset(javax.swing.text.Position end,
                             int lineNo)

completePackageAsset

protected void completePackageAsset(javax.swing.text.Position end,
                                    int lineNo)

addAsset

protected void addAsset(java.lang.String typ,
                        java.lang.String p,
                        java.lang.String name,
                        int lineNo,
                        javax.swing.text.Position start)

addLineAsset

protected void addLineAsset(java.lang.String typ,
                            java.lang.String p,
                            java.lang.String name,
                            int lineNo,
                            javax.swing.text.Position start,
                            javax.swing.text.Position end)

addCommentAsset

protected void addCommentAsset(java.lang.String name,
                               int lineNo,
                               javax.swing.text.Position start)

addPackageAsset

protected void addPackageAsset(java.lang.String name,
                               int lineNo,
                               javax.swing.text.Position start)

buildTrees

protected void buildTrees()

newTree

protected void newTree(javax.swing.tree.DefaultMutableTreeNode n,
                       java.lang.String name,
                       java.util.ArrayList list,
                       javax.swing.ImageIcon icon)

addList

protected void addList(javax.swing.tree.DefaultMutableTreeNode t,
                       java.util.ArrayList list,
                       javax.swing.ImageIcon icon)

find

protected java.lang.String find(java.lang.String line,
                                java.util.regex.Pattern p,
                                int g)

find2

protected java.lang.String[] find2(java.lang.String line,
                                   java.util.regex.Pattern p)