Module xl.compiler

Class PatternWrapper

java.lang.Object
de.grogra.xl.query.Pattern
de.grogra.xl.compiler.pattern.PatternWrapper
All Implemented Interfaces:
Member, Signature, BytecodeSerialization.Serializable

public final class PatternWrapper extends Pattern implements Member, Signature
  • Constructor Details

    • PatternWrapper

      public PatternWrapper(Type predType, Type nameType, Type[] paramTypes, int in, int out)
  • Method Details

    • write

      public void write(BytecodeSerialization out) throws IOException
      Specified by:
      write in interface BytecodeSerialization.Serializable
      Throws:
      IOException
    • getPatternType

      public Type getPatternType()
    • isFirstInOut

      public boolean isFirstInOut()
    • getInParameter

      public int getInParameter()
    • getOutParameter

      public int getOutParameter()
    • createMatcher

      public Pattern.Matcher createMatcher(Graph src, XBitSet providedConstants, IntList neededConstantsOut)
      Specified by:
      createMatcher in class Pattern
    • getParameterKind

      public int getParameterKind(int index)
      Specified by:
      getParameterKind in class Pattern
    • isDeleting

      public boolean isDeleting()
      Overrides:
      isDeleting in class Pattern
    • getModifiers

      public int getModifiers()
      Description copied from interface: Member
      Returns the modifiers of this member as a combination of the bit masks which are defined in this interface.
      Specified by:
      getModifiers in interface Member
      Returns:
      modifiers of this member
    • getDeclaringType

      public Type getDeclaringType()
      Description copied from interface: Member
      Returns the declaring type of which this is a member. May be null if such a type does not exist.
      Specified by:
      getDeclaringType in interface Member
      Returns:
      this member's declaring type
    • getName

      public String getName()
      Description copied from interface: Member
      Returns the name of this member. For types, this is the canonical name of the type, e.g, java.lang.Object, java.util.Map.Entry. Otherwise, it equals Member.getSimpleName().
      Specified by:
      getName in interface Member
      Specified by:
      getName in interface Signature
      Returns:
      name of the member
    • getSimpleName

      public String getSimpleName()
      Description copied from interface: Member
      Returns the simple name of this member. This is the single identifier with which the member is declared in source code, e.g., Object, out, println.
      Specified by:
      getSimpleName in interface Member
      Returns:
      simple name of the member
    • getDescriptor

      public String getDescriptor()
      Description copied from interface: Member
      Returns a descriptor for this member. Descriptors are constructed as follows:
      • For types, descriptors are defined as for the Java Virtual Machine. For primitive types these are the single characters 'Z', 'B', 'S', 'C', 'I', 'J', 'F', 'D', 'V' for boolean, byte, short, char, int, long, float, double, void. For array types, the descriptor is the character '[' plus the descriptor of its component type, e.g., [[I for int[][]. For non-array reference types, the descriptor is the character 'L', followed by the binary name (see Type.getBinaryName()) of the type, where '.' has to be replaced by '/', followed by ';', e.g., Ljava/lang/Object;.
      • For fields, the descriptor is the character 'f', followed by the simple name of the field, followed by the character ';', followed by the descriptor of the field's type. E.g., fout;Ljava/io/PrintStream; for the field System.out.
      • For methods and constructors, the descriptor is the character 'm', followed by the simple name of the method (which is <init> for constructors), followed by the characters ';' and '(', followed by the descriptors of the method's parameter types, followed by ')', followed by the descriptor of the return type. E.g. mprintln;(Ljava/lang/String;)V for the method PrintStream.println(String).
      Specified by:
      getDescriptor in interface Member
      Returns:
      the member's descriptor
    • getDeclaredAnnotationCount

      public int getDeclaredAnnotationCount()
      Specified by:
      getDeclaredAnnotationCount in interface Member
    • getDeclaredAnnotation

      public Annotation getDeclaredAnnotation(int index)
      Specified by:
      getDeclaredAnnotation in interface Member