List of usage examples for org.eclipse.jdt.core.dom SimpleName getIdentifier
public String getIdentifier()
From source file:ast.StructureParse.java
private void enclose(String body, DefaultMutableTreeNode parentNode) { ASTParser parser = ASTParser.newParser(AST.JLS2); /*//w w w.j a v a2 s . c om * make parse result into OPP structure, because AST wanna be that. */ String setClass = "class fo{\nvoid foo(){ \n" + body + "\n}\n}"; parser.setSource(setClass.toCharArray()); //parser.setSource("/*abc*/".toCharArray()); parser.setKind(ASTParser.K_COMPILATION_UNIT); //ASTNode node = parser.createAST(null); parser.setResolveBindings(true); try { final CompilationUnit cu = (CompilationUnit) parser.createAST(null); cu.accept(new ASTVisitor() { Set names2 = new HashSet(); @Override public boolean visit(SimpleName node) { if (this.names2.contains(node.getIdentifier())) { parentNode.add(new DefaultMutableTreeNode(node.toString())); System.out.println("SimpleNode : " + node.toString()); } return true; } @Override public boolean visit(EnhancedForStatement node) { _for = new DefaultMutableTreeNode( "for (" + node.getParameter() + " : " + node.getExpression() + ")"); parentNode.add(_for); System.out.println("for (" + node.getParameter() + " : " + node.getExpression() + ")"); enclose(node.getBody().toString(), _for); return false; } @Override public boolean visit(ForStatement node) { /* * because initial may more than 1. */ String initial = ""; for (int i = 0; i < node.initializers().size(); i++) { initial += node.initializers().get(i); if (node.initializers().size() - 1 != i) initial += ", "; } /* * because increment may more than 1 */ String inc = ""; for (int i = 0; i < node.updaters().size(); i++) { inc += node.updaters().get(i); if (node.updaters().size() - 1 != i) inc += ", "; } _for = new DefaultMutableTreeNode( "for (" + initial + "; " + node.getExpression() + "; " + inc + ")"); parentNode.add(_for); System.out.println("for (" + initial + "; " + node.getExpression() + "; " + inc + ")"); enclose(node.getBody().toString(), _for); return false; } @Override public boolean visit(IfStatement node) { String elseExist = ""; _if = new DefaultMutableTreeNode("if (" + node.getExpression() + ")"); System.out.println("if (+" + node.getExpression() + ")"); parentNode.add(_if); enclose(node.getThenStatement().toString(), _if); elseExist = node.getElseStatement() + ""; if (!(elseExist.equals("") || (elseExist.equals("null")))) { _else = new DefaultMutableTreeNode("else"); System.out.println("else"); parentNode.add(_else); enclose(node.getElseStatement().toString(), _else); } return false; } @Override public boolean visit(VariableDeclarationFragment node) { if (node.getParent() instanceof FieldDeclaration) { FieldDeclaration declaration = ((FieldDeclaration) node.getParent()); _class.add(new DefaultMutableTreeNode(declaration.getType().toString())); } else { System.out.println("VariableDeclarationFragment : " + node.toString()); parentNode.add(new DefaultMutableTreeNode(node.toString())); } return false; // do not continue to avoid usage info } @Override public boolean visit(ReturnStatement node) { parentNode.add(new DefaultMutableTreeNode(node.toString())); System.out.println("Return : " + node.toString()); return false; } @Override public boolean visit(SuperConstructorInvocation node) { _constructorCall = new DefaultMutableTreeNode(node); parentNode.add(_constructorCall); System.out.println("SuperConstructorInvocation : " + node); return false; } @Override public boolean visit(MethodInvocation node) { _methodCall = new DefaultMutableTreeNode(node); parentNode.add(_methodCall); System.out.println("MethodInvocation : " + node); return true; } @Override public boolean visit(SuperMethodInvocation node) { _methodCall = new DefaultMutableTreeNode(node); parentNode.add(_methodCall); System.out.println("SuperMethodInvocation : " + node); return false; } @Override public boolean visit(WhileStatement node) { _while = new DefaultMutableTreeNode("while " + node.getExpression()); parentNode.add(_while); System.out.println("WhileStatement : " + node.getExpression()); enclose(node.getBody().toString(), _while); return false; } @Override public boolean visit(DoStatement node) { _do = new DefaultMutableTreeNode("do"); parentNode.add(_do); System.out.println("do"); enclose(node.getBody().toString(), _do); _while = new DefaultMutableTreeNode("while(" + node.getExpression() + ")"); parentNode.add(_while); return false; } @Override public boolean visit(TryStatement node) { String ada = ""; _try = new DefaultMutableTreeNode("try"); parentNode.add(_try); System.out.println("try"); enclose(node.getBody().toString(), _try); ada = node.getFinally() + ""; if (!(ada.equals("") || (ada.equals("null")))) { _final = new DefaultMutableTreeNode("finally"); parentNode.add(_final); System.out.println("finally"); enclose(node.getFinally().toString(), _final); } return false; } @Override public boolean visit(CatchClause node) { _catch = new DefaultMutableTreeNode("catch (" + node.getException() + ")"); parentNode.add(_catch); System.out.println("catch : " + node.getException()); enclose(node.getBody().toString(), _catch); return false; } @Override public boolean visit(Assignment node) { _assignment = new DefaultMutableTreeNode(node.toString()); parentNode.add(_assignment); System.out.println("Assignment : " + node.toString()); return false; } @Override public boolean visit(ConstructorInvocation node) { _constructorCall = new DefaultMutableTreeNode(node.toString()); parentNode.add(_constructorCall); System.out.println(node.toString()); return false; } @Override public boolean visit(AnonymousClassDeclaration node) { _constructorCall = new DefaultMutableTreeNode(node.toString()); parentNode.add(_constructorCall); System.out.println("AnonymousClassDeclaration : " + node.toString()); return false; } @Override public boolean visit(ArrayAccess node) { _class = new DefaultMutableTreeNode(node.toString()); parentNode.add(_class); System.out.println("AbstrackTypeDeclaration : " + node.toString()); return false; } @Override public boolean visit(ArrayCreation node) { _array = new DefaultMutableTreeNode(node.toString()); _method.add(_array); System.out.println("ArrayCreation : " + node.toString()); return false; } @Override public boolean visit(ArrayInitializer node) { _array = new DefaultMutableTreeNode(node.toString()); System.out.println("ArrayInitialize : " + node.toString()); parentNode.add(_array); return false; } @Override public boolean visit(AssertStatement node) { _statement = new DefaultMutableTreeNode(node.toString()); System.out.println("AssertStatement : " + node.toString()); parentNode.add(_statement); return false; } @Override public boolean visit(ContinueStatement node) { _statement = new DefaultMutableTreeNode(node.toString()); System.out.println("ContinueStatement : " + node.toString()); parentNode.add(_statement); return false; } @Override public boolean visit(SwitchStatement node) { _switch = new DefaultMutableTreeNode("switch (" + node.getExpression() + ")"); System.out.println("switch (" + node.getExpression() + ")"); parentNode.add(_switch); List getStatement = node.statements(); for (Object st : getStatement) { Matcher _caseMatch = Pattern.compile("^case\\s+.+\\:").matcher(st.toString()); if (_caseMatch.find()) { _case = new DefaultMutableTreeNode(_caseMatch.group()); _switch.add(_case); } enclose(st.toString(), _case); Matcher _breakMatch = Pattern.compile("^break\\s*.*;").matcher(st.toString()); if (_breakMatch.find()) { _break = new DefaultMutableTreeNode(_breakMatch.group()); _case.add(_break); } } return false; } @Override public boolean visit(ClassInstanceCreation node) { _constructorCall = new DefaultMutableTreeNode(node.toString()); System.out.println("ClassInstanceCreation : " + node.toString()); parentNode.add(_constructorCall); return false; } }); } catch (Exception ex) { ex.printStackTrace(); } }
From source file:at.bestsolution.fxide.jdt.corext.dom.ASTFlattener.java
License:Open Source License
@Override public boolean visit(SimpleName node) { this.fBuffer.append(node.getIdentifier()); return false; }
From source file:at.bestsolution.fxide.jdt.text.javadoc.JavadocContentAccess2.java
License:Open Source License
private boolean handleValueTag(TagElement node) { List<? extends ASTNode> fragments = node.fragments(); try {/* w ww .j av a2s .co m*/ if (!(fElement instanceof IMember)) { return false; } if (fragments.isEmpty()) { if (fElement instanceof IField && JdtFlags.isStatic((IField) fElement) && JdtFlags.isFinal((IField) fElement)) { IField field = (IField) fElement; return handleConstantValue(field, false); } } else if (fragments.size() == 1) { Object first = fragments.get(0); if (first instanceof MemberRef) { MemberRef memberRef = (MemberRef) first; if (memberRef.getQualifier() == null) { SimpleName name = memberRef.getName(); IType type = fElement instanceof IType ? (IType) fElement : ((IMember) fElement).getDeclaringType(); while (type != null) { IField field = type.getField(name.getIdentifier()); if (field != null && field.exists()) { if (JdtFlags.isStatic(field) && JdtFlags.isFinal(field)) return handleConstantValue(field, true); break; } type = type.getDeclaringType(); } } } } } catch (JavaModelException e) { //TODO e.printStackTrace(); } return false; }
From source file:at.bestsolution.fxide.jdt.text.javadoc.JavadocContentAccess2.java
License:Open Source License
private void handleLink(List<? extends ASTNode> fragments) { //TODO: Javadoc shortens type names to minimal length according to context int fs = fragments.size(); if (fs > 0) { Object first = fragments.get(0); String refTypeName = null; String refMemberName = null; String[] refMethodParamTypes = null; String[] refMethodParamNames = null; if (first instanceof Name) { Name name = (Name) first; refTypeName = name.getFullyQualifiedName(); } else if (first instanceof MemberRef) { MemberRef memberRef = (MemberRef) first; Name qualifier = memberRef.getQualifier(); refTypeName = qualifier == null ? "" : qualifier.getFullyQualifiedName(); //$NON-NLS-1$ refMemberName = memberRef.getName().getIdentifier(); } else if (first instanceof MethodRef) { MethodRef methodRef = (MethodRef) first; Name qualifier = methodRef.getQualifier(); refTypeName = qualifier == null ? "" : qualifier.getFullyQualifiedName(); //$NON-NLS-1$ refMemberName = methodRef.getName().getIdentifier(); List<MethodRefParameter> params = methodRef.parameters(); int ps = params.size(); refMethodParamTypes = new String[ps]; refMethodParamNames = new String[ps]; for (int i = 0; i < ps; i++) { MethodRefParameter param = params.get(i); refMethodParamTypes[i] = ASTNodes.asString(param.getType()); SimpleName paramName = param.getName(); if (paramName != null) refMethodParamNames[i] = paramName.getIdentifier(); }// w w w. j av a 2s. c o m } if (refTypeName != null) { fBuf.append("<a href='"); //$NON-NLS-1$ try { String scheme = JavaElementLinks.JAVADOC_SCHEME; String uri = JavaElementLinks.createURI(scheme, fElement, refTypeName, refMemberName, refMethodParamTypes); fBuf.append(uri); } catch (URISyntaxException e) { //TODO e.printStackTrace(); } fBuf.append("'>"); //$NON-NLS-1$ if (fs > 1 && !(fs == 2 && isWhitespaceTextElement(fragments.get(1)))) { handleContentElements(fragments.subList(1, fs), true); } else { fBuf.append(refTypeName); if (refMemberName != null) { if (refTypeName.length() > 0) { fBuf.append('.'); } fBuf.append(refMemberName); if (refMethodParamTypes != null) { fBuf.append('('); for (int i = 0; i < refMethodParamTypes.length; i++) { String pType = refMethodParamTypes[i]; fBuf.append(pType); String pName = refMethodParamNames[i]; if (pName != null) { fBuf.append(' ').append(pName); } if (i < refMethodParamTypes.length - 1) { fBuf.append(", "); //$NON-NLS-1$ } } fBuf.append(')'); } } } fBuf.append("</a>"); //$NON-NLS-1$ } else { handleContentElements(fragments); } } }
From source file:br.com.objectos.way.core.code.jdt.TypeDeclarationWriter.java
License:Apache License
public SimpleType toSimpleType() { SimpleName typeName = type.getName(); SimpleName theName = ast.newSimpleName(typeName.getIdentifier()); return ast.newSimpleType(theName); }
From source file:br.com.objectos.way.core.code.jdt.TypeDeclarationWriter.java
License:Apache License
public MethodDeclarationWriter addConstructor() { MethodDeclaration method = ast.newMethodDeclaration(); method.setConstructor(true);/*from ww w .ja va2 s. c om*/ type.bodyDeclarations().add(method); SimpleName name = type.getName(); method.setName(ast.newSimpleName(name.getIdentifier())); return new MethodDeclarationWriter(method); }
From source file:br.uff.ic.gems.resources.ast.Visitor.java
@Override public boolean visit(SimpleName node) { int beginLine = cu.getLineNumber(node.getStartPosition()); int endLine = cu.getLineNumber(node.getStartPosition() + node.getLength()); int beginColumn = cu.getColumnNumber(node.getStartPosition()); int endColumn = cu.getColumnNumber(node.getStartPosition() + node.getLength()); String typeByIdentifier = getTypeByIdentifier(node.getIdentifier()); if (typeByIdentifier != null) { languageConstructs.add(new LanguageConstruct(typeByIdentifier, beginLine, endLine, beginColumn, endColumn, node.getIdentifier())); }//from w ww . j a va 2 s.c o m return true; }
From source file:changetypes.ASTVisitorAtomicChange.java
License:Open Source License
public boolean visit(SimpleName node) { if ((this.mtbStack.isEmpty()) && (!this.itbStack.isEmpty())) { return false; }//w ww. java 2 s . com if (!this.mtbStack.isEmpty()) { if (node.getIdentifier().equals("length")) { return false; } try { return visitName(node.resolveBinding(), (IMethodBinding) this.mtbStack.peek()); } catch (Exception localException) { System.err .println("Cannot resolve simple name \"" + node.getFullyQualifiedName().toString() + "\""); return false; } } return false; }
From source file:coloredide.utils.CopiedNaiveASTFlattener.java
License:Open Source License
public boolean visit(SimpleName node) { this.buffer.append(node.getIdentifier()); return false; }
From source file:com.codenvy.ide.ext.java.server.javadoc.JavadocContentAccess2.java
License:Open Source License
private boolean handleValueTag(TagElement node) { List<? extends ASTNode> fragments = node.fragments(); try {/*from ww w . java 2 s . c om*/ if (!(fElement instanceof IMember)) { return false; } if (fragments.isEmpty()) { if (fElement instanceof IField && JdtFlags.isStatic((IField) fElement) && JdtFlags.isFinal((IField) fElement)) { IField field = (IField) fElement; return handleConstantValue(field, false); } } else if (fragments.size() == 1) { Object first = fragments.get(0); if (first instanceof MemberRef) { MemberRef memberRef = (MemberRef) first; if (memberRef.getQualifier() == null) { SimpleName name = memberRef.getName(); IType type = fElement instanceof IType ? (IType) fElement : ((IMember) fElement).getDeclaringType(); while (type != null) { IField field = type.getField(name.getIdentifier()); if (field != null && field.exists()) { if (JdtFlags.isStatic(field) && JdtFlags.isFinal(field)) return handleConstantValue(field, true); break; } type = type.getDeclaringType(); } } } } } catch (JavaModelException e) { LOG.error(e.getMessage(), e); } return false; }