system/src/sc/lang/html/Element.java
public void stop() {
      super.stop();

      if (serverTagInfo != null) {
         Bind.removeListener(this, null, serverTagInfo.serverTagListener, IListener.LISTENER_ADDED);
         serverTagInfo = null;
      }
      // NOTE: this probably already happens from JavaModel's types array which contains tagObject but just in case
      // that's not up-to-date, stop the tagObject here as well.
      if (tagObject != null) {
         tagObject.stop();
      }
      if (repeatWrapper != null)
         repeatWrapper.stop();
      if (hiddenChildren != null)
         hiddenChildren.stop();
      if (inheritedAttributes != null)
         inheritedAttributes.stop();
      // Do we need to do this?  Children should be a semantic node but for some reason it does not seem to be stopping all of the children
      if (children != null) {
         for (Object child:children) {
            if (child instanceof ILifecycle)
               ((ILifecycle) child).stop();
         }
      }
      extendsTypeDecl = null;
      defaultExtendsType = null;
      cachedObjectName = null;
      origTypeElem = null;
      childrenById = null;
      tagObject = null;
      hiddenChildren = null;
      modifyType = null;
      id = null;
      specifiedId = false;
      repeatWrapper = null;
      startTagValid = false;
      bodyValid = false;
      needsSuper = false;
      needsBody = false;
      convertingToObject = false;
      //stopped = true;
   }
/** This method has to be here so we properly remap JS references to here instead of SemanticNode.stop which does not exist in the JS runtime */
This method has to be here so we properly remap JS references to here instead of SemanticNode.stop which does not exist in the JS runtime
This method has to be here so we properly remap JS references to here instead of SemanticNode . stop which does not exist in the JS runtime
public void stop() {
      super.stop();
      if (serverTagInfo != null) {
         Bind.removeListener(this, null, serverTagInfo.serverTagListener, IListener.LISTENER_ADDED);
         serverTagInfo = null;
      }
      if (tagObject != null) {
         tagObject.stop();
      }
      if (repeatWrapper != null)
         repeatWrapper.stop();
      if (hiddenChildren != null)
         hiddenChildren.stop();
      if (inheritedAttributes != null)
         inheritedAttributes.stop();
      if (children != null) {
         for (Object child:children) {
            if (child instanceof ILifecycle)
               ((ILifecycle) child).stop();
         }
      }
      extendsTypeDecl = null;
      defaultExtendsType = null;
      cachedObjectName = null;
      origTypeElem = null;
      childrenById = null;
      tagObject = null;
      hiddenChildren = null;
      modifyType = null;
      id = null;
      specifiedId = false;
      repeatWrapper = null;
      startTagValid = false;
      bodyValid = false;
      needsSuper = false;
      needsBody = false;
      convertingToObject = false;
   }
public void stop ( ) { super . stop ( ) ; if ( serverTagInfo != null ) { Bind . removeListener ( this , null , serverTagInfo . serverTagListener , IListener . LISTENER_ADDED ) ; serverTagInfo = null ; } if ( tagObject != null ) { tagObject . stop ( ) ; } if ( repeatWrapper != null ) repeatWrapper . stop ( ) ; if ( hiddenChildren != null ) hiddenChildren . stop ( ) ; if ( inheritedAttributes != null ) inheritedAttributes . stop ( ) ; if ( children != null ) { for ( Object child : children ) { if ( child instanceof ILifecycle ) ( ( ILifecycle ) child ) . stop ( ) ; } } extendsTypeDecl = null ; defaultExtendsType = null ; cachedObjectName = null ; origTypeElem = null ; childrenById = null ; tagObject = null ; hiddenChildren = null ; modifyType = null ; id = null ; specifiedId = false ; repeatWrapper = null ; startTagValid = false ; bodyValid = false ; needsSuper = false ; needsBody = false ; convertingToObject = false ; }
This method has to be here so we properly remap JS references to here instead of SemanticNode.stop which does not exist in the JS runtime
This method has to be here so we properly remap JS references to here instead of SemanticNode . stop which does not exist in the JS runtime
// NOTE: this probably already happens from JavaModel's types array which contains tagObject but just in case // that's not up-to-date, stop the tagObject here as well. // Do we need to do this?  Children should be a semantic node but for some reason it does not seem to be stopping all of the children //stopped = true;