List of usage examples for jdk.nashorn.api.scripting AbstractJSObject getMember
@Override public Object getMember(final String name)
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"); }