예제 #1
0
  private void processSettingsBlocksFromCollector(PartSubTypeAndAnnotationCollector collector) {

    if (collector.getSettingsBlocks().size() > 0) {
      AnnotationLeftHandScope scope =
          new AnnotationLeftHandScope(
              new RecordScope(NullScope.INSTANCE, recordBinding),
              recordBinding,
              recordBinding,
              recordBinding);
      if (!collector.isFoundSubTypeInSettingsBlock() && partStereotype != null) {
        scope =
            new AnnotationLeftHandScope(
                scope, partStereotype, (StereotypeType) partStereotype.getEClass(), partStereotype);
      }
      SettingsBlockAnnotationBindingsCompletor blockCompletor =
          new SettingsBlockAnnotationBindingsCompletor(
              currentScope,
              recordBinding,
              scope,
              dependencyRequestor,
              problemRequestor,
              compilerOptions);

      for (SettingsBlock block : collector.getSettingsBlocks()) {
        block.accept(blockCompletor);
      }
    }
  }
예제 #2
0
 protected void processSubType(PartSubTypeAndAnnotationCollector collector) {
   partStereotype = collector.getStereotype();
   setDefaultSuperType(partStereotype);
 }