Skip to content

Double instrumentation must not change class #2

@VladRassokhin

Description

@VladRassokhin

Currently we have that after triple instrumentation:

javap -c target/classes/Main.class 
Compiled from "Main.java"
public class Main {
  public Main();
    Code:
       0: aload_0       
       1: invokespecial #9                  // Method java/lang/Object."<init>":()V
       4: return        

  public static void main(java.lang.String[]);
    Code:
       0: aload_0       
       1: ifnonnull     14
       4: new           #16                 // class java/lang/IllegalArgumentException
       7: dup           
       8: ldc           #18                 // String Argument 0 for @NotNull parameter of Main.main must not be null
      10: invokespecial #21                 // Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
      13: athrow        
      14: aload_0       
      15: ifnonnull     28
      18: new           #16                 // class java/lang/IllegalArgumentException
      21: dup           
      22: ldc           #18                 // String Argument 0 for @NotNull parameter of Main.main must not be null
      24: invokespecial #21                 // Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
      27: athrow        
      28: aload_0       
      29: ifnonnull     42
      32: new           #16                 // class java/lang/IllegalArgumentException
      35: dup           
      36: ldc           #18                 // String Argument 0 for @NotNull parameter of Main.main must not be null
      38: invokespecial #21                 // Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
      41: athrow        
      42: getstatic     #27                 // Field java/lang/System.out:Ljava/io/PrintStream;
      45: ldc           #29                 // String Omnomnom
      47: invokevirtual #34                 // Method java/io/PrintStream.println:(Ljava/lang/String;)V
      50: return        
}```

Metadata

Metadata

Assignees

Labels

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions