Example usage for org.eclipse.jdt.internal.compiler.lookup FieldBinding FieldBinding

List of usage examples for org.eclipse.jdt.internal.compiler.lookup FieldBinding FieldBinding

Introduction

In this page you can find the example usage for org.eclipse.jdt.internal.compiler.lookup FieldBinding FieldBinding.

Prototype

public FieldBinding(FieldDeclaration field, TypeBinding type, int modifiers, ReferenceBinding declaringClass) 

Source Link

Usage

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]));
}