Class Location.SynchronizeLocation

  • Enclosing class:
    Location

    private static class Location.SynchronizeLocation
    extends Location
    location identifying a synchronization trigger point
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int count
      count identifying which synchronization should be taken as the trigger point.
      private boolean whenComplete
      flag which is false if the trigger should be inserted before the synchronization is performed and true if it should be inserted after
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private SynchronizeLocation​(int count, boolean whenComplete)
      construct a location identifying a synchronization trigger point
    • Field Detail

      • count

        private int count
        count identifying which synchronization should be taken as the trigger point. if not specified as a parameter this defaults to the first synchronization.
      • whenComplete

        private boolean whenComplete
        flag which is false if the trigger should be inserted before the synchronization is performed and true if it should be inserted after
    • Constructor Detail

      • SynchronizeLocation

        private SynchronizeLocation​(int count,
                                    boolean whenComplete)
        construct a location identifying a synchronization trigger point
        Parameters:
        count - count identifying which synchronization should be taken as the trigger point
        whenComplete - false if the trigger should be inserted before the synchronization is performed and true if it should be inserted after
    • Method Detail

      • create

        protected static Location create​(java.lang.String parameters,
                                         boolean whenComplete)
        create a location identifying a synchronization trigger point
        Parameters:
        parameters - the text of the parameters appended to the location specifier
        whenComplete - false if the trigger should be inserted before the synchronization is performed and true if it should be inserted after
        Returns:
        a method entry location or null if the parameters is not a blank String
      • getRuleCheckAdapter

        public RuleCheckAdapter getRuleCheckAdapter​(org.objectweb.asm.ClassVisitor cv,
                                                    TransformContext transformContext)
        return an adapter which can be used to check whether a method contains a trigger point whose position matches this location
        Specified by:
        getRuleCheckAdapter in class Location
        Parameters:
        cv - the current class visitor
        transformContext - the current transform context
        Returns:
        the required adapter
      • getRuleAdapter

        public RuleTriggerAdapter getRuleAdapter​(org.objectweb.asm.ClassVisitor cv,
                                                 TransformContext transformContext)
        return an adapter which can be used to insert a trigger call in a method containing a trigger point whose position matches this location
        Specified by:
        getRuleAdapter in class Location
        Parameters:
        cv - the current class visitor
        transformContext - the current transform context
        Returns:
        the required adapter
      • getLocationType

        public LocationType getLocationType()
        Description copied from class: Location
        identify the type of this location
        Specified by:
        getLocationType in class Location
        Returns:
        the type of this location
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object