GrLightField (TraitFieldDescriptor descriptor, PsiClass trait) { GrLightField field = new GrLightField(trait, descriptor.name, descriptor.typeString); GrLightModifierList modifierList = field.getModifierList(); if ((descriptor.flags & TraitFieldDescriptor.STATIC) != 0) modifierList.addModifier(STATIC_MASK); modifierList.addModifier((descriptor.flags & TraitFieldDescriptor.PUBLIC) != 0 ? PUBLIC_MASK : PRIVATE_MASK); GroovyPsiElementFactory factory = GroovyPsiElementFactory.getInstance(trait.getProject()); for (String annotationText : descriptor.annotations) { GrAnnotation annotation = factory.createAnnotationFromText(annotationText, modifierList); modifierList.addAnnotation(annotation); } return field; }