system/src/sc/layer/LayeredSystem.java
public void startLayers(Layer genLayer) {
      PerfMon.start("startLayers");
      /*
      if (genLayer != buildLayer) {
         genLayer.start();
         initSysClassLoader(genLayer, false);
         genLayer.validate();
      }
      else {
      */
      List<Layer> layersList = genLayer.activated ? layers : inactiveLayers;
      int numLayers = layersList.size();
      if (genLayer.layerPosition < numLayers) {
         for (int i = 0; i <= genLayer.layerPosition; i++) {
            Layer l = layersList.get(i);
            l.ensureStarted(false);
         }
         for (int i = 0; i <= genLayer.layerPosition; i++) {
            Layer l = layersList.get(i);
            l.ensureValidated(false);
         }
      }
      else
         System.err.println("*** Attempt to start layer that is out of range: " + genLayer.layerPosition + " >= " + numLayers);
      //}
      PerfMon.end("startLayers");
   }
/**
    * This gets called on the layer just before generateCode.  There are two cases... we make a first pass through
    * all "buildSeparate=true" layers that are not the buildLayer.  For those, we start and build the entire layer.
    * For the rest, we'll wait to start them till the second pass.  This way, those layers "start" methods can depend
    * on classes which were compiled during the first pass.  On the second pass, we are given the buildLayer and now
    * start anything not already started.
    */
This gets called on the layer just before generateCode.  There are two cases... we make a first pass through
all "buildSeparate=true" layers that are not the buildLayer.  For those, we start and build the entire layer.
For the rest, we'll wait to start them till the second pass.  This way, those layers "start" methods can depend
on classes which were compiled during the first pass.  On the second pass, we are given the buildLayer and now
start anything not already started.
This gets called on the layer just before generateCode . There are two cases ... we make a first pass through all " buildSeparate = true " layers that are not the buildLayer . For those we start and build the entire layer . For the rest we ' ll wait to start them till the second pass . This way those layers " start " methods can depend on classes which were compiled during the first pass . On the second pass we are given the buildLayer and now start anything not already started .
public void startLayers(Layer genLayer) {
      PerfMon.start("startLayers");
      /*
      if (genLayer != buildLayer) {
         genLayer.start();
         initSysClassLoader(genLayer, false);
         genLayer.validate();
      }
      else {
      */
      List<Layer> layersList = genLayer.activated ? layers : inactiveLayers;
      int numLayers = layersList.size();
      if (genLayer.layerPosition < numLayers) {
         for (int i = 0; i <= genLayer.layerPosition; i++) {
            Layer l = layersList.get(i);
            l.ensureStarted(false);
         }
         for (int i = 0; i <= genLayer.layerPosition; i++) {
            Layer l = layersList.get(i);
            l.ensureValidated(false);
         }
      }
      else
         System.err.println("*** Attempt to start layer that is out of range: " + genLayer.layerPosition + " >= " + numLayers);
      PerfMon.end("startLayers");
   }
public void startLayers ( Layer genLayer ) { PerfMon . start ( "startLayers" ) ; /*
      if (genLayer != buildLayer) {
         genLayer.start();
         initSysClassLoader(genLayer, false);
         genLayer.validate();
      }
      else {
      */ List < Layer > layersList = genLayer . activated ? layers : inactiveLayers ; int numLayers = layersList . size ( ) ; if ( genLayer . layerPosition < numLayers ) { for ( int i = 0 ; i <= genLayer . layerPosition ; i ++ ) { Layer l = layersList . get ( i ) ; l . ensureStarted ( false ) ; } for ( int i = 0 ; i <= genLayer . layerPosition ; i ++ ) { Layer l = layersList . get ( i ) ; l . ensureValidated ( false ) ; } } else System . err . println ( "*** Attempt to start layer that is out of range: " + genLayer . layerPosition + " >= " + numLayers ) ; PerfMon . end ( "startLayers" ) ; }
This gets called on the layer just before generateCode.
This gets called on the layer just before generateCode .
//}