List of usage examples for org.eclipse.jdt.internal.compiler.lookup FieldBinding FieldBinding
public FieldBinding(FieldDeclaration field, TypeBinding type, int modifiers, ReferenceBinding declaringClass)
From source file:org.eclipse.ajdt.core.parserbridge.ITDInserter.java
License:Open Source License
/** * Adds all children field and methods to this ITIT * @param ititAST//from www.ja va 2 s. c om * @param elt the AspectJ element that knows about children */ private void populateITIT(TypeDeclaration ititAST, IProgramElement elt) { List<FieldDeclaration> fields = new LinkedList<FieldDeclaration>(); List<FieldBinding> fieldBindings = new LinkedList<FieldBinding>(); List<AbstractMethodDeclaration> methods = new LinkedList<AbstractMethodDeclaration>(); List<MethodBinding> methodBindings = new LinkedList<MethodBinding>(); for (IProgramElement child : elt.getChildren()) { if (child.getKind() == IProgramElement.Kind.FIELD) { FieldDeclaration field = createField(child, ititAST); fields.add(field); fieldBindings.add(new FieldBinding(field, getReturnTypeBinding(child.getCorrespondingTypeSignature().toCharArray(), ititAST.binding), field.modifiers, ititAST.binding)); } else if (child.getKind() == IProgramElement.Kind.METHOD) { MethodDeclaration method = createMethod(child, ititAST, null); methods.add(method); methodBindings.add(new MethodBinding(method.modifiers, method.selector, getReturnTypeBinding(child.getCorrespondingTypeSignature().toCharArray(), ititAST.binding), getParameterBindings(elt, ititAST.binding), new ReferenceBinding[0], ititAST.binding)); } } ititAST.fields = (FieldDeclaration[]) fields.toArray(new FieldDeclaration[0]); ititAST.methods = (AbstractMethodDeclaration[]) methods.toArray(new MethodDeclaration[0]); // figure out how to make type bindings and figure out method bindings ititAST.binding.setFields(fieldBindings.toArray(new FieldBinding[0])); }