Example usage for jdk.nashorn.api.scripting AbstractJSObject getMember

List of usage examples for jdk.nashorn.api.scripting AbstractJSObject getMember

Introduction

In this page you can find the example usage for jdk.nashorn.api.scripting AbstractJSObject getMember.

Prototype

@Override
public Object getMember(final String name) 

Source Link

Usage

From source file:IDE.JWebIDE.java

private void jTextPane1MouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jTextPane1MouseMoved

    try {//from   www  .  ja  v  a  2  s . c  o  m

        //  jTextPane1.setCaretPosition(viewToModel);
        JTextPane jtp = (JTextPane) evt.getSource();
        Point pt = new Point(evt.getX(), evt.getY());
        int viewToModel = jtp.viewToModel(pt);

        //  jtp.setCaretPosition(viewToModel);
        String txt = jtp.getText();
        int start = Utilities.getWordStart(jtp, viewToModel);
        int end = Utilities.getWordEnd(jtp, viewToModel);
        int len = end - start;
        String toolTipText = "";
        String word = jtp.getText(start, len);
        // jLabel3.setText(""+viewToModel);
        if (objectTree != null) {
            Enumeration node = objectTree.preorderEnumeration();
            while (node.hasMoreElements()) {
                DefaultMutableTreeNode obj = (DefaultMutableTreeNode) node.nextElement();
                //               if(obj!=null&&obj.getUserObject()!=null && !word.equals(" "))
                //   if(obj.getUserObject().toString().contains(word)){

                if (obj != null && obj.getUserObject() != null
                        && obj.getUserObject().getClass() == ScriptObjectMirror.class) {

                    String type = ((AbstractJSObject) obj.getUserObject()).getMember("type").toString();
                    System.out.println(type);
                    if (type.equals("Identifier")) {
                        String name = ((AbstractJSObject) obj.getUserObject()).getMember("name").toString();

                        if (name.equals(word)) {
                            toolTipText = " "
                                    + ((AbstractJSObject) obj.getUserObject()).getMember("name").toString();
                            break;
                        }

                    } else if (type.equals("ExpressionStatement")) {

                        AbstractJSObject expr = (AbstractJSObject) ((AbstractJSObject) obj.getUserObject())
                                .getMember("expression");
                        String op = (String) expr.getMember("operator");
                        AbstractJSObject left = (AbstractJSObject) expr.getMember("left");
                        AbstractJSObject right = (AbstractJSObject) expr.getMember("right");
                        String[] words = word.split("\\.");
                        boolean contin = true;
                        for (String word_l : words)
                            if (left.getMember("property").equals(word_l)) {

                                if (left.getMember("type").equals("MemberExpression")) {
                                    toolTipText = " this." + left.getMember("property") + op;

                                    if (right.getMember("type").equals("Literal")) {

                                        toolTipText += "'" + right.getMember("value") + "'";
                                    } else if (right.getMember("type").equals("FunctionExpression")) {

                                        toolTipText += "function()"
                                                + (right.getMember("id") == null ? " unnamed"
                                                        : right.getMember("id"));

                                    }

                                } else {
                                    toolTipText = " " + left.getMember("property") + op
                                            + right.getMember("value");
                                }

                                contin = false;
                                break;
                            }

                        if (!contin)
                            break;

                    }

                } else {
                    //  toolTipText = ""+obj.getUserObject();
                }

                // }
            }

            jLabel3.setText(toolTipText);
            JToolTip jtoolp = jtp.createToolTip();
            jtoolp.setBounds(evt.getX(), evt.getY(), 200, 50);
            jtoolp.setVisible(true);
            jtp.setToolTipText(toolTipText);

        }

    } catch (BadLocationException ex) {
        Logger.getLogger(JWebIDE.class.getName()).log(Level.SEVERE, null, ex);
    }

}

From source file:IDE.SyntaxTree.JWebParser.java

public void getTree(AbstractJSObject node, int deep, DefaultMutableTreeNode rootNode) {

    ScriptObjectMirror child_scriptObjectMirror = null;

    //if(node.isFunction())
    for (String key : node.keySet()) {

        Object scriptObjectMirror = node.getMember(key);
        Object type = node.getMember("type");
        Object value = node.getMember("value");
        String tree = "";
        //for(int i=1; i<deep;i++) tree+="\t";

        ///*  ww w. j a  v a2 s.  c  o m*/
        //  System.out.println( tree+" "+key+" "+scriptObjectMirror);

        DefaultMutableTreeNode child = new DefaultMutableTreeNode();
        //    if("Identifier".equals(type)||"FunctionExpression".equals(type)||"ThisExpression".equals(type)) { 

        //   if(scriptObjectMirror.getClass() == FunctionDeclaration)

        //  continue;
        //  }

        if ("FunctionDeclaration".equals(type)) {
            //FunctionDeclaration  funcDec = new FunctionDeclaration(node);

            //   AbstractJSObject dd = (AbstractJSObject)funcDec.Body;
            //   String typeS = (String) dd.getMember("type");
            rootNode.setUserObject(((AbstractJSObject) node.getMember("id")).getMember("name"));
            //  rootNode.setUserObject(node.getClassName());
        }
        if (key.equals("body")) {
            //  getTree((ScriptObjectMirror)scriptObjectMirror, deep++,rootNode); 
            //  return;
        } else
            child.setUserObject(scriptObjectMirror);
        child.setAllowsChildren(true);
        rootNode.add(child);

        if ((scriptObjectMirror != null) && (
        //(scriptObjectMirror.getClass() == Object.class)||
        (scriptObjectMirror.getClass() == ScriptObjectMirror.class)
        //(scriptObjectMirror.getClass() == Array.class)
        )) {

            getTree((ScriptObjectMirror) scriptObjectMirror, deep++, child);

        } else {

        }

    }

}

From source file:IDE.SyntaxTree.types.FunctionDeclaration.java

public FunctionDeclaration(AbstractJSObject node) {

    this.type = (String) node.getMember("type");
    this.id = new ID((ScriptObjectMirror) node.getMember("id"));
    this.params = (AbstractJSObject) node.getMember("params");
    this.defaults = (AbstractJSObject) node.getMember("defaults");
    this.rest = node.getMember("rest");
    this.Body = node.getMember("body");
    this.generator = (boolean) node.getMember("generator");
    this.expression = (boolean) expression;

}

From source file:IDE.SyntaxTree.types.ID.java

public ID(AbstractJSObject src) {

    type = (String) src.getMember("type");
    name = src.getMember("name");
}