List of usage examples for org.aspectj.asm IProgramElement getModifiers
public List<IProgramElement.Modifiers> getModifiers();
From source file:org.eclipse.ajdt.core.codeconversion.AspectsConvertingParser.java
License:Open Source License
/** * @param currentTypeName/*from w w w . ja va 2 s.co m*/ * @param sb * @param declareElt * @param name */ protected void createITDMethodText(char[] currentTypeName, StringBuffer sb, IProgramElement declareElt, String name) { sb.append(getAccessibilityString(declareElt)); for (IProgramElement.Modifiers modifier : declareElt.getModifiers()) { sb.append(modifier + " "); } // need to add a return statement? if (declareElt.getKind() == IProgramElement.Kind.INTER_TYPE_METHOD) { sb.append(declareElt.getCorrespondingType(true) + " " + name); } else { sb.append(currentTypeName); } sb.append("("); List<String> names = declareElt.getParameterNames(); List<char[]> types = declareElt.getParameterTypes(); if (types != null && names != null) { for (Iterator<?> typeIter = types.iterator(), nameIter = names.iterator(); typeIter.hasNext();) { String paramType = String.valueOf((char[]) typeIter.next()); String paramName = (String) nameIter.next(); sb.append(paramType + " " + paramName); if (typeIter.hasNext()) { sb.append(", "); } } } sb.append(") { }\n"); }
From source file:org.eclipse.ajdt.core.codeconversion.AspectsConvertingParser.java
License:Open Source License
/** * @param sb//from w w w . jav a 2 s.co m * @param declareElt * @param name */ protected void createITDFieldText(StringBuffer sb, IProgramElement declareElt, String name) { for (IProgramElement.Modifiers modifier : declareElt.getModifiers()) { sb.append(modifier + " "); } sb.append(declareElt.getCorrespondingType(true) + " " + name + ";\n\t"); }
From source file:org.eclipse.ajdt.core.javaelements.AdviceElement.java
License:Open Source License
protected Object createElementInfo() { try {//from w ww. j a v a 2 s .c om IProgramElement ipe = AJProjectModelFactory.getInstance().getModelForJavaElement(this) .javaElementToProgramElement(this); AdviceElementInfo info = new AdviceElementInfo(); info.setAJExtraInfo(ipe.getExtraInfo()); info.setName(name.toCharArray()); info.setAJKind(IProgramElement.Kind.ADVICE); info.setAJModifiers(ipe.getModifiers()); ISourceLocation sourceLocation = ipe.getSourceLocation(); info.setSourceRangeStart(sourceLocation.getOffset()); info.setNameSourceStart(sourceLocation.getOffset()); info.setNameSourceEnd(sourceLocation.getOffset() + ipe.getName().length()); return info; } catch (Exception e) { // can fail for any of a number of reasons. // return null so that we can try again later. return null; } }
From source file:org.eclipse.ajdt.core.javaelements.AspectElement.java
License:Open Source License
protected Object createElementInfo() { AspectElementInfo info = new AspectElementInfo(); info.setAJKind(IProgramElement.Kind.ASPECT); info.setHandle(this); info.setSourceRangeStart(0);//w w w . j a v a 2s.com IProgramElement ipe = AJProjectModelFactory.getInstance().getModelForJavaElement(this) .javaElementToProgramElement(this); if (ipe != null && ipe != IHierarchy.NO_STRUCTURE) { info.setAJExtraInfo(ipe.getExtraInfo()); info.setAJModifiers(ipe.getModifiers()); info.setFlags(getProgramElementModifiers(ipe)); info.setAJAccessibility(ipe.getAccessibility()); ISourceLocation sourceLocation = ipe.getSourceLocation(); info.setSourceRangeStart(sourceLocation.getOffset()); info.setNameSourceStart(sourceLocation.getOffset()); info.setNameSourceEnd(sourceLocation.getOffset() + ipe.getName().length()); // info.setPrivileged(???); not setting this yet } return info; }
From source file:org.eclipse.ajdt.core.javaelements.CompilationUnitTools.java
License:Open Source License
public static int getModifierCode(IProgramElement elem) { IProgramElement.Accessibility acc = elem.getAccessibility(); List<Modifiers> others = elem.getModifiers(); int modifiers = 0; if (acc == IProgramElement.Accessibility.PUBLIC) { modifiers |= ClassFileConstants.AccPublic; } else if (acc == IProgramElement.Accessibility.PROTECTED) { modifiers |= ClassFileConstants.AccProtected; } else if (acc == IProgramElement.Accessibility.PRIVATE) { modifiers |= ClassFileConstants.AccPrivate; }// w w w . j a v a 2 s. c om if (others != null) { if (others.contains(IProgramElement.Modifiers.ABSTRACT)) { modifiers |= ClassFileConstants.AccAbstract; } if (others.contains(IProgramElement.Modifiers.FINAL)) { modifiers |= ClassFileConstants.AccFinal; } if (others.contains(IProgramElement.Modifiers.NATIVE)) { modifiers |= ClassFileConstants.AccNative; } if (others.contains(IProgramElement.Modifiers.STATIC)) { modifiers |= ClassFileConstants.AccStatic; } if (others.contains(IProgramElement.Modifiers.SYNCHRONIZED)) { modifiers |= ClassFileConstants.AccSynchronized; } if (others.contains(IProgramElement.Modifiers.TRANSIENT)) { modifiers |= ClassFileConstants.AccTransient; } if (others.contains(IProgramElement.Modifiers.VOLATILE)) { modifiers |= ClassFileConstants.AccVolatile; } } return modifiers; }
From source file:org.eclipse.ajdt.core.javaelements.IntertypeElement.java
License:Open Source License
protected Object createElementInfo() { IntertypeElementInfo info = new IntertypeElementInfo(); IProject project = this.getJavaProject().getProject(); IProgramElement ipe = AJProjectModelFactory.getInstance().getModelForProject(project) .javaElementToProgramElement(this); if (ipe != IHierarchy.NO_STRUCTURE) { // this way of creating the element info does not contain proper source locations for the name and target type info.setAJExtraInfo(ipe.getExtraInfo()); info.setName(name.toCharArray()); info.setAJKind(ipe.getKind());//from www. j av a 2 s .c o m info.setAJModifiers(ipe.getModifiers()); info.setFlags(ipe.getRawModifiers()); info.setDeclaredModifiers(info.getModifiers()); info.setAJAccessibility(ipe.getAccessibility()); ISourceLocation sourceLocation = ipe.getSourceLocation(); info.setSourceRangeStart(sourceLocation.getOffset()); info.setNameSourceStart(sourceLocation.getOffset()); // This is wrong info.setNameSourceEnd(sourceLocation.getOffset() + ipe.getName().length()); // also wrong info.setConstructor(info.getAJKind() == IProgramElement.Kind.INTER_TYPE_CONSTRUCTOR); char[][] argumentNames = CoreUtils.listStringsToCharArrays(ipe.getParameterNames()); char[][] argumentTypeNames = CoreUtils.listCharsToCharArrays(ipe.getParameterTypes()); if (argumentNames.length == 0 && argumentTypeNames.length > 0) { // argument names not found. likely coming from binary class file w/p source attachment // generate argument names argumentNames = new char[argumentTypeNames.length][]; for (int i = 0; i < argumentNames.length; i++) { argumentNames[i] = ("arg" + i).toCharArray(); } } info.setArgumentNames(argumentNames); info.setArgumentTypeNames(argumentTypeNames); info.setReturnType(ipe.getCorrespondingType(false).toCharArray()); info.setQualifiedReturnType(ipe.getCorrespondingType(true).toCharArray()); info.setTypeParameters(createTypeParameters(project)); if (argumentNames != null && argumentNames.length > 0) { ILocalVariable[] arguments = new ILocalVariable[argumentNames.length]; for (int i = 0; i < argumentNames.length; i++) { arguments[i] = new LocalVariable(this, String.valueOf(argumentNames[i]), // sloc is not correct, but it is close enough sourceLocation.getOffset(), sourceLocation.getOffset() + 1, sourceLocation.getOffset(), sourceLocation.getOffset() + 1, String.valueOf(argumentTypeNames[i]), new Annotation[0], Flags.AccDefault, true); } info.setArguments(arguments); } } else { // no successful build yet, we don't know the contents info.setName(name.toCharArray()); info.setAJKind(IProgramElement.Kind.ERROR); info.setAJModifiers(Collections.<Modifiers>emptyList()); } return info; }
From source file:org.eclipse.ajdt.core.javaelements.MockSourceMethod.java
License:Open Source License
protected Object createElementInfo() { if (elementInfo != null) { return elementInfo; }// w w w . j a v a 2 s . com try { IProgramElement ipe = AJProjectModelFactory.getInstance().getModelForJavaElement(this) .javaElementToProgramElement(this); elementInfo = new MethodElementInfo(); ISourceLocation sourceLocation = ipe.getSourceLocation(); elementInfo.setSourceRangeStart(sourceLocation.getOffset()); elementInfo.setNameSourceStart(sourceLocation.getOffset()); elementInfo.setNameSourceEnd(sourceLocation.getOffset() + ipe.getName().length()); elementInfo.setAJExtraInfo(ipe.getExtraInfo()); elementInfo.setName(name.toCharArray()); elementInfo.setAJKind(IProgramElement.Kind.METHOD); elementInfo.setAJModifiers(ipe.getModifiers()); elementInfo.setAJAccessibility(ipe.getAccessibility()); return elementInfo; } catch (Exception e) { // can fail for any of a number of reasons. // return null so that we can try again later. return null; } }
From source file:org.eclipse.ajdt.internal.utils.AJDTUtils.java
License:Open Source License
/** * Decorate icon based on modifiers, errors etc. Possible decorations are: * abstract, final, synchronized, static, runnable, warning, error, * overrides, implements/*from ww w . j a v a2 s.c o m*/ */ public static ImageDescriptor decorate(ImageDescriptor base, IProgramElement pNode) { int flags = 0; if (pNode != null) { List<Modifiers> modifiers = pNode.getModifiers(); if (modifiers != null) { if (modifiers.contains(IProgramElement.Modifiers.ABSTRACT)) { flags = flags | JavaElementImageDescriptor.ABSTRACT; } if (modifiers.contains(IProgramElement.Modifiers.FINAL)) { flags = flags | JavaElementImageDescriptor.FINAL; } if (modifiers.contains(IProgramElement.Modifiers.SYNCHRONIZED)) { flags = flags | JavaElementImageDescriptor.SYNCHRONIZED; } if (modifiers.contains(IProgramElement.Modifiers.STATIC)) { flags = flags | JavaElementImageDescriptor.STATIC; } } if (pNode.getKind() == IProgramElement.Kind.CONSTRUCTOR || pNode.getKind() == IProgramElement.Kind.INTER_TYPE_CONSTRUCTOR) { flags = flags | JavaElementImageDescriptor.CONSTRUCTOR; } if (pNode.isRunnable()) { flags = flags | JavaElementImageDescriptor.RUNNABLE; } if (pNode.isOverrider()) { flags = flags | JavaElementImageDescriptor.OVERRIDES; } if (pNode.isImplementor()) { flags = flags | JavaElementImageDescriptor.IMPLEMENTS; } IMessage sMessage = pNode.getMessage(); if (sMessage != null) { if (sMessage.getKind() == IMessage.ERROR) { flags = flags | JavaElementImageDescriptor.ERROR; } else if (sMessage.getKind() == IMessage.WARNING) { flags = flags | JavaElementImageDescriptor.WARNING; } } } return decorate(base, flags); }