Skip to content

filtering GROOVYC.METHODS

Evgeny Mandrikov edited this page Jan 9, 2017 · 2 revisions

This page discusses a not yet available feature!

Description

Groovy classes inherit methods from the base groovy.lang.GroovyObject interface (see https://github.com/groovy/groovy-core/blob/master/src/main/groovy/lang/GroovyObject.java for reference) that help the Groovy runtime decide how dynamic method dispatch or dynamic property resolution should work. However in many times these methods are never executed or they do not constitute a suitable coverage data point.

Filtering

Methods defined in the groovy.lang.GroovyObject interface are removed

Source Example

class Bean {
}

Bytecode Pattern

The class Bean contains the following methods and fields

Compiled from "Bean.groovy"
public class Bean implements groovy.lang.GroovyObject {
  public Bean();
  // BEGIN GroovyObject methods
  public groovy.lang.MetaClass getMetaClass();
  public void setMetaClass(groovy.lang.MetaClass);
  public java.lang.Object invokeMethod(java.lang.String, java.lang.Object);
  public java.lang.Object getProperty(java.lang.String);
  public void setProperty(java.lang.String, java.lang.Object);
  // END GroovyObject methods
  public static transient boolean __$stMC;
  public static long __timeStamp;
  public static long __timeStamp__239_neverHappen1416431913448;
  public java.lang.Object this$dist$invoke$1(java.lang.String, java.lang.Object);
  public void this$dist$set$1(java.lang.String, java.lang.Object);
  public java.lang.Object this$dist$get$1(java.lang.String);
  protected groovy.lang.MetaClass $getStaticMetaClass();
  public static void __$swapInit();
  static {};
  public void super$1$notify();
  public int super$1$hashCode();
  public java.lang.String super$1$toString();
  public java.lang.Object super$1$clone();
  public void super$1$wait(long, int);
  public void super$1$wait(long);
  public void super$1$wait();
  public void super$1$notifyAll();
  public boolean super$1$equals(java.lang.Object);
  public void super$1$finalize();
  public java.lang.Class super$1$getClass();
  static java.lang.Class class$(java.lang.String);
}