Bug 138798 - BCException on invalid annotation match
Summary: BCException on invalid annotation match
Status: RESOLVED FIXED
Alias: None
Product: AspectJ
Classification: Tools
Component: Compiler (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: aspectj inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-26 20:53 EDT by Ron Bodkin CLA
Modified: 2012-04-03 15:50 EDT (History)
0 users

See Also:


Attachments
test (3.17 KB, patch)
2006-04-26 23:00 EDT, Ron Bodkin CLA
aclement: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ron Bodkin CLA 2006-04-26 20:53:07 EDT
This unfortunately invalid code:

before(Throwable throwable, NormalException normalException) : handler(*) && args(throwable) && @withincode(normalException) {
...

Generates this exception in AJDT with post-1.5.1a AspectJ

org.aspectj.weaver.BCException
at org.aspectj.weaver.bcel.BcelRenderer.visit(BcelRenderer.java:237)
at org.aspectj.weaver.ast.Literal.accept(Literal.java:29)
at org.aspectj.weaver.bcel.BcelRenderer.recur(BcelRenderer.java:153)
at org.aspectj.weaver.bcel.BcelRenderer.renderTest(BcelRenderer.java:119)
at org.aspectj.weaver.bcel.BcelAdvice.getTestInstructions(BcelAdvice.java:537)
at org.aspectj.weaver.bcel.BcelAdvice.getAdviceInstructions(BcelAdvice.java:376)
at org.aspectj.weaver.bcel.BcelShadow.weaveBefore(BcelShadow.java:1690)
at org.aspectj.weaver.bcel.BcelAdvice.implementOn(BcelAdvice.java:208)
at org.aspectj.weaver.Shadow.implementMungers(Shadow.java:639)
at org.aspectj.weaver.Shadow.implement(Shadow.java:456)
at org.aspectj.weaver.bcel.BcelClassWeaver.implement(BcelClassWeaver.java:2236)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:491)
at org.aspectj.weaver.bcel.BcelClassWeaver.weave(BcelClassWeaver.java:109)
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1560)
at org.aspectj.weaver.bcel.BcelWeaver.weaveWithoutDump(BcelWeaver.java:1511)
at org.aspectj.weaver.bcel.BcelWeaver.weaveAndNotify(BcelWeaver.java:1291)
at org.aspectj.weaver.bcel.BcelWeaver.weave(BcelWeaver.java:1113)
at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.weave(AjCompilerAdapter.java:311)
at org.aspectj.ajdt.internal.compiler.AjCompilerAdapter.afterCompiling(AjCompilerAdapter.java:183)
at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$2$f9cc9ca0(CompilerAdapter.aj:70)
at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:367)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:862)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.doBuild(AjBuildManager.java:242)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:161)
at org.aspectj.ajde.internal.CompilerAdapter.compile(CompilerAdapter.java:122)
at org.aspectj.ajde.internal.AspectJBuildManager$CompilerThread.run(AspectJBuildManager.java:191)

trouble in: 
public class glassbox.client.ConnectionManager extends java.lang.Object:
  public static String propnameNum
  public static String propnameDefault
  public static String propnameViewed
  public static String propnameNickPrefix
  public static String propnameUrlPrefix
  public static String propnameViewedPrefix
  private static String propFilename
  private static String localhostNickname
  public static String localhostURL
  private java.util.List connectionList [Signature(Ljava/util/List<Lglassbox/client/ConnectionManager$AgentConnection;>;)]
  private int defaultConnectionIndex
  private static final org.aspectj.lang.JoinPoint$StaticPart ajc$tjp_0
  static void <clinit>():
    staticinitialization(void glassbox.client.ConnectionManager.<clinit>())
    |               LDC "glassbox.connections.num"   (line 13)
    |               PUTSTATIC glassbox.client.ConnectionManager.propnameNum Ljava/lang/String;
    |               LDC "glassbox.connections.default"   (line 14)
    |               PUTSTATIC glassbox.client.ConnectionManager.propnameDefault Ljava/lang/String;
    |               LDC "glassbox.connections.viewed"   (line 15)
    |               PUTSTATIC glassbox.client.ConnectionManager.propnameViewed Ljava/lang/String;
    |               LDC "glassbox.connections.nickname_"   (line 16)
    |               PUTSTATIC glassbox.client.ConnectionManager.propnameNickPrefix Ljava/lang/String;
    |               LDC "glassbox.connections.url_"   (line 17)
    |               PUTSTATIC glassbox.client.ConnectionManager.propnameUrlPrefix Ljava/lang/String;
    |               LDC "glassbox.connections.viewed_"   (line 18)
    |               PUTSTATIC glassbox.client.ConnectionManager.propnameViewedPrefix Ljava/lang/String;
    |               LDC "connection.properties"   (line 20)
    |               PUTSTATIC glassbox.client.ConnectionManager.propFilename Ljava/lang/String;
    |               LDC "localhost"   (line 21)
    |               PUTSTATIC glassbox.client.ConnectionManager.localhostNickname Ljava/lang/String;
    |               LDC "service:jmx:rmi://localhost:7131/jndi/rmi://localhost:7132/GlassboxTroubleshooter"   (line 22)
    |               PUTSTATIC glassbox.client.ConnectionManager.localhostURL Ljava/lang/String;
    |               RETURN   (line 11)
    staticinitialization(void glassbox.client.ConnectionManager.<clinit>())
  end static void <clinit>()

  public void <init>()    org.aspectj.weaver.MethodDeclarationLineNumber: 23:966
:
                    ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 23)
                    INVOKESPECIAL java.lang.Object.<init> ()V
    constructor-execution(void glassbox.client.ConnectionManager.<init>())
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 24)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager.init ()V
    |               RETURN   (line 25)
    constructor-execution(void glassbox.client.ConnectionManager.<init>())
  end public void <init>()

  public void init()    org.aspectj.weaver.MethodDeclarationLineNumber: 67:1992
:
    method-execution(void glassbox.client.ConnectionManager.init())
    | catch java.lang.RuntimeException -> E0
    | |             ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 69)
    | |             INVOKEVIRTUAL glassbox.client.ConnectionManager.readFromFile ()V
    | |             GOTO L0
    | catch java.lang.RuntimeException -> E0
    |           E0: ASTORE_2
    | exception-handler(void glassbox.client.ConnectionManager.<catch>(java.lang.RuntimeException))
    | |             ALOAD_2
    | exception-handler(void glassbox.client.ConnectionManager.<catch>(java.lang.RuntimeException))
    |               ASTORE_1   (line 70)
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 71)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager.createDefaultList ()V
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 72)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager.writeToFile ()V
    |           L0: RETURN   (line 74)
    method-execution(void glassbox.client.ConnectionManager.init())
  end public void init()

  public void createDefaultList()    org.aspectj.weaver.MethodDeclarationLineNumber: 76:2134
:
    method-execution(void glassbox.client.ConnectionManager.createDefaultList())
    |               NEW glassbox.client.ConnectionManager$AgentConnection   (line 77)
    |               DUP
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETSTATIC glassbox.client.ConnectionManager.localhostNickname Ljava/lang/String;
    |               GETSTATIC glassbox.client.ConnectionManager.localhostURL Ljava/lang/String;
    |               ICONST_1
    |               INVOKESPECIAL glassbox.client.ConnectionManager$AgentConnection.<init> (Lglassbox/client/ConnectionManager;Ljava/lang/String;Ljava/lang/String;Z)V
    |               ASTORE_1
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 78)
    |               NEW java.util.ArrayList
    |               DUP
    |               INVOKESPECIAL java.util.ArrayList.<init> ()V
    |               PUTFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 79)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ALOAD_1     // Lglassbox/client/ConnectionManager$AgentConnection; localhost
    |               INVOKEINTERFACE java.util.List.add (Ljava/lang/Object;)Z
    |               POP
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 80)
    |               ICONST_0
    |               PUTFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    |               RETURN   (line 81)
    method-execution(void glassbox.client.ConnectionManager.createDefaultList())
  end public void createDefaultList()

  public void writeToFile()    org.aspectj.weaver.MethodDeclarationLineNumber: 84:2433
:
    method-execution(void glassbox.client.ConnectionManager.writeToFile())
    |               NEW java.util.Properties   (line 85)
    |               DUP
    |               INVOKESPECIAL java.util.Properties.<init> ()V
    |               ASTORE_1
    |               ALOAD_1     // Ljava/util/Properties; properties   (line 86)
    |               GETSTATIC glassbox.client.ConnectionManager.propnameNum Ljava/lang/String;
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.size ()I
    |               INVOKESTATIC java.lang.String.valueOf (I)Ljava/lang/String;
    |               INVOKEVIRTUAL java.util.Properties.setProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    |               POP
    |               ALOAD_1     // Ljava/util/Properties; properties   (line 87)
    |               GETSTATIC glassbox.client.ConnectionManager.propnameDefault Ljava/lang/String;
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    |               INVOKEINTERFACE java.util.List.get (I)Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               INVOKEVIRTUAL java.util.Properties.setProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    |               POP
    |               ICONST_0   (line 88)
    |               ISTORE_2
    |               GOTO L1
    |           L0: ALOAD_1     // Ljava/util/Properties; properties   (line 89)
    |               NEW java.lang.StringBuilder
    |               DUP
    |               GETSTATIC glassbox.client.ConnectionManager.propnameNickPrefix Ljava/lang/String;
    |               INVOKESTATIC java.lang.String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
    |               INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    |               ILOAD_2     // I i
    |               INVOKEVIRTUAL java.lang.StringBuilder.append (I)Ljava/lang/StringBuilder;
    |               INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ILOAD_2     // I i
    |               INVOKEINTERFACE java.util.List.get (I)Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               INVOKEVIRTUAL java.util.Properties.setProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    |               POP
    |               ALOAD_1     // Ljava/util/Properties; properties   (line 90)
    |               NEW java.lang.StringBuilder
    |               DUP
    |               GETSTATIC glassbox.client.ConnectionManager.propnameUrlPrefix Ljava/lang/String;
    |               INVOKESTATIC java.lang.String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
    |               INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    |               ILOAD_2     // I i
    |               INVOKEVIRTUAL java.lang.StringBuilder.append (I)Ljava/lang/StringBuilder;
    |               INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ILOAD_2     // I i
    |               INVOKEINTERFACE java.util.List.get (I)Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getUrl ()Ljava/lang/String;
    |               INVOKEVIRTUAL java.util.Properties.setProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    |               POP
    |               ALOAD_1     // Ljava/util/Properties; properties   (line 91)
    |               NEW java.lang.StringBuilder
    |               DUP
    |               GETSTATIC glassbox.client.ConnectionManager.propnameViewedPrefix Ljava/lang/String;
    |               INVOKESTATIC java.lang.String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
    |               INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    |               ILOAD_2     // I i
    |               INVOKEVIRTUAL java.lang.StringBuilder.append (I)Ljava/lang/StringBuilder;
    |               INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ILOAD_2     // I i
    |               INVOKEINTERFACE java.util.List.get (I)Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.isViewed ()Z
    |               INVOKESTATIC java.lang.String.valueOf (Z)Ljava/lang/String;
    |               INVOKEVIRTUAL java.util.Properties.setProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
    |               POP
    |               IINC 2 1     // I i   (line 88)
    |           L1: ILOAD_2     // I i
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.size ()I
    |               IF_ICMPLT L0
    | catch java.io.IOException -> E0
    | |             NEW java.io.File   (line 94)
    | |             DUP
    | |             GETSTATIC glassbox.client.ConnectionManager.propFilename Ljava/lang/String;
    | |             INVOKESPECIAL java.io.File.<init> (Ljava/lang/String;)V
    | |             ASTORE_2
    | |             NEW java.io.FileOutputStream   (line 95)
    | |             DUP
    | |             ALOAD_2     // Ljava/io/File; f
    | |             ICONST_0
    | |             INVOKESPECIAL java.io.FileOutputStream.<init> (Ljava/io/File;Z)V
    | |             ASTORE_3
    | |             ALOAD_1     // Ljava/util/Properties; properties   (line 96)
    | |             ALOAD_3     // Ljava/io/FileOutputStream; fos
    | |             ACONST_NULL
    | |             INVOKEVIRTUAL java.util.Properties.store (Ljava/io/OutputStream;Ljava/lang/String;)V
    | |             ALOAD_3     // Ljava/io/FileOutputStream; fos   (line 97)
    | |             INVOKEVIRTUAL java.io.FileOutputStream.close ()V
    | |             GOTO L2
    | catch java.io.IOException -> E0
    |           E0: ASTORE_2   (line 98)
    |               GETSTATIC java.lang.System.err Ljava/io/PrintStream;   (line 99)
    |               LDC "Failed to write connection.properties file"
    |               INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
    |               GETSTATIC java.lang.System.err Ljava/io/PrintStream;   (line 100)
    |               ALOAD_2     // Ljava/io/IOException; e
    |               INVOKEVIRTUAL java.io.IOException.toString ()Ljava/lang/String;
    |               INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
    |           L2: RETURN   (line 102)
    method-execution(void glassbox.client.ConnectionManager.writeToFile())
  end public void writeToFile()

  public void readFromFile()    org.aspectj.weaver.MethodDeclarationLineNumber: 105:3495
:
    method-execution(void glassbox.client.ConnectionManager.readFromFile())
    |               NEW java.util.ArrayList   (line 107)
    |               DUP
    |               INVOKESPECIAL java.util.ArrayList.<init> ()V
    |               ASTORE_1
    |               NEW java.util.Properties   (line 108)
    |               DUP
    |               INVOKESPECIAL java.util.Properties.<init> ()V
    |               ASTORE_2
    |               NEW java.io.File   (line 110)
    |               DUP
    |               GETSTATIC glassbox.client.ConnectionManager.propFilename Ljava/lang/String;
    |               INVOKESPECIAL java.io.File.<init> (Ljava/lang/String;)V
    |               ASTORE 4
    | catch java.io.IOException -> E0
    | |             ALOAD_2     // Ljava/util/Properties; properties   (line 112)
    | |             NEW java.io.FileInputStream
    | |             DUP
    | |             ALOAD 4     // Ljava/io/File; f
    | |             INVOKESPECIAL java.io.FileInputStream.<init> (Ljava/io/File;)V
    | |             INVOKEVIRTUAL java.util.Properties.load (Ljava/io/InputStream;)V
    | |             GOTO L0
    | catch java.io.IOException -> E0
    |           E0: ASTORE 5   (line 113)
    |               NEW java.lang.RuntimeException   (line 116)
    |               DUP
    |               NEW java.lang.StringBuilder
    |               DUP
    |               LDC "Can't open "
    |               INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    |               ALOAD 4     // Ljava/io/File; f
    |               INVOKEVIRTUAL java.io.File.getAbsolutePath ()Ljava/lang/String;
    |               INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
    |               INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    |               INVOKESPECIAL java.lang.RuntimeException.<init> (Ljava/lang/String;)V
    |               ATHROW
    | catch java.lang.Exception -> E1
    | |         L0: ALOAD_2     // Ljava/util/Properties; properties   (line 119)
    | |             GETSTATIC glassbox.client.ConnectionManager.propnameNum Ljava/lang/String;
    | |             INVOKEVIRTUAL java.util.Properties.getProperty (Ljava/lang/String;)Ljava/lang/String;
    | |             INVOKESTATIC java.lang.Integer.valueOf (Ljava/lang/String;)Ljava/lang/Integer;
    | |             INVOKEVIRTUAL java.lang.Integer.intValue ()I
    | |             ISTORE 5
    | |             ALOAD_2     // Ljava/util/Properties; properties   (line 120)
    | |             GETSTATIC glassbox.client.ConnectionManager.propnameDefault Ljava/lang/String;
    | |             INVOKEVIRTUAL java.util.Properties.getProperty (Ljava/lang/String;)Ljava/lang/String;
    | |             ASTORE 6
    | |             ALOAD 6     // Ljava/lang/String; defNickname   (line 121)
    | |             IFNONNULL L1
    | |             NEW java.lang.RuntimeException
    | |             DUP
    | |             NEW java.lang.StringBuilder
    | |             DUP
    | |             LDC "missing "
    | |             INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    | |             GETSTATIC glassbox.client.ConnectionManager.propnameDefault Ljava/lang/String;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    | |             INVOKESPECIAL java.lang.RuntimeException.<init> (Ljava/lang/String;)V
    | |             ATHROW
    | |         L1: ILOAD 5     // I num   (line 122)
    | |             ICONST_1
    | |             IF_ICMPGE L2
    | |             NEW java.lang.RuntimeException
    | |             DUP
    | |             NEW java.lang.StringBuilder
    | |             DUP
    | |             LDC "Bad "
    | |             INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    | |             GETSTATIC glassbox.client.ConnectionManager.propnameNum Ljava/lang/String;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
    | |             LDC "="
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
    | |             ILOAD 5     // I num
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (I)Ljava/lang/StringBuilder;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    | |             INVOKESPECIAL java.lang.RuntimeException.<init> (Ljava/lang/String;)V
    | |             ATHROW
    | |         L2: ICONST_0   (line 123)
    | |             ISTORE 7
    | |             GOTO L9
    | |         L3: ALOAD_2     // Ljava/util/Properties; properties   (line 124)
    | |             NEW java.lang.StringBuilder
    | |             DUP
    | |             GETSTATIC glassbox.client.ConnectionManager.propnameNickPrefix Ljava/lang/String;
    | |             INVOKESTATIC java.lang.String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
    | |             INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    | |             ILOAD 7     // I i
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (I)Ljava/lang/StringBuilder;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    | |             INVOKEVIRTUAL java.util.Properties.getProperty (Ljava/lang/String;)Ljava/lang/String;
    | |             ASTORE 8
    | |             ALOAD 8     // Ljava/lang/String; nickname   (line 125)
    | |             IFNONNULL L4
    | |             NEW java.lang.RuntimeException
    | |             DUP
    | |             NEW java.lang.StringBuilder
    | |             DUP
    | |             LDC "missing "
    | |             INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    | |             GETSTATIC glassbox.client.ConnectionManager.propnameNickPrefix Ljava/lang/String;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
    | |             ILOAD 7     // I i
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (I)Ljava/lang/StringBuilder;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    | |             INVOKESPECIAL java.lang.RuntimeException.<init> (Ljava/lang/String;)V
    | |             ATHROW
    | |         L4: ALOAD_2     // Ljava/util/Properties; properties   (line 126)
    | |             NEW java.lang.StringBuilder
    | |             DUP
    | |             GETSTATIC glassbox.client.ConnectionManager.propnameUrlPrefix Ljava/lang/String;
    | |             INVOKESTATIC java.lang.String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
    | |             INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    | |             ILOAD 7     // I i
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (I)Ljava/lang/StringBuilder;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    | |             INVOKEVIRTUAL java.util.Properties.getProperty (Ljava/lang/String;)Ljava/lang/String;
    | |             ASTORE 9
    | |             ALOAD 9     // Ljava/lang/String; url   (line 127)
    | |             IFNONNULL L5
    | |             NEW java.lang.RuntimeException
    | |             DUP
    | |             NEW java.lang.StringBuilder
    | |             DUP
    | |             LDC "missing "
    | |             INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    | |             GETSTATIC glassbox.client.ConnectionManager.propnameUrlPrefix Ljava/lang/String;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
    | |             ILOAD 7     // I i
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (I)Ljava/lang/StringBuilder;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    | |             INVOKESPECIAL java.lang.RuntimeException.<init> (Ljava/lang/String;)V
    | |             ATHROW
    | |         L5: ALOAD_2     // Ljava/util/Properties; properties   (line 128)
    | |             NEW java.lang.StringBuilder
    | |             DUP
    | |             GETSTATIC glassbox.client.ConnectionManager.propnameViewedPrefix Ljava/lang/String;
    | |             INVOKESTATIC java.lang.String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
    | |             INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    | |             ILOAD 7     // I i
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (I)Ljava/lang/StringBuilder;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    | |             INVOKEVIRTUAL java.util.Properties.getProperty (Ljava/lang/String;)Ljava/lang/String;
    | |             ASTORE 10
    | |             ALOAD 10     // Ljava/lang/String; viewedStr   (line 129)
    | |             LDC "true"
    | |             INVOKEVIRTUAL java.lang.String.contentEquals (Ljava/lang/CharSequence;)Z
    | |             IFEQ L6
    | |             ICONST_1
    | |             GOTO L7
    | |         L6: ICONST_0
    | |         L7: ISTORE_3
    | |             ALOAD 9     // Ljava/lang/String; url   (line 130)
    | |             IFNONNULL L8
    | |             NEW java.lang.RuntimeException
    | |             DUP
    | |             NEW java.lang.StringBuilder
    | |             DUP
    | |             LDC "missing "
    | |             INVOKESPECIAL java.lang.StringBuilder.<init> (Ljava/lang/String;)V
    | |             GETSTATIC glassbox.client.ConnectionManager.propnameViewedPrefix Ljava/lang/String;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
    | |             ILOAD 7     // I i
    | |             INVOKEVIRTUAL java.lang.StringBuilder.append (I)Ljava/lang/StringBuilder;
    | |             INVOKEVIRTUAL java.lang.StringBuilder.toString ()Ljava/lang/String;
    | |             INVOKESPECIAL java.lang.RuntimeException.<init> (Ljava/lang/String;)V
    | |             ATHROW
    | |         L8: ALOAD_1     // Ljava/util/List; agcon   (line 131)
    | |             NEW glassbox.client.ConnectionManager$AgentConnection
    | |             DUP
    | |             ALOAD_0     // Lglassbox/client/ConnectionManager; this
    | |             ALOAD 8     // Ljava/lang/String; nickname
    | |             ALOAD 9     // Ljava/lang/String; url
    | |             ILOAD_3     // Z viewed
    | |             INVOKESPECIAL glassbox.client.ConnectionManager$AgentConnection.<init> (Lglassbox/client/ConnectionManager;Ljava/lang/String;Ljava/lang/String;Z)V
    | |             INVOKEINTERFACE java.util.List.add (Ljava/lang/Object;)Z
    | |             POP
    | |             IINC 7 1     // I i   (line 123)
    | |         L9: ILOAD 7     // I i
    | |             ILOAD 5     // I num
    | |             IF_ICMPLT L3
    | |             ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 133)
    | |             ICONST_M1
    | |             PUTFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    | |             ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 134)
    | |             ALOAD_1     // Ljava/util/List; agcon
    | |             PUTFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    | |             ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 135)
    | |             ALOAD 6     // Ljava/lang/String; defNickname
    | |             INVOKEVIRTUAL glassbox.client.ConnectionManager.setAsDefault (Ljava/lang/String;)V
    | |             ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 136)
    | |             GETFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    | |             ICONST_M1
    | |             IF_ICMPNE L10
    | |             ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 137)
    | |             ICONST_0
    | |             PUTFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    | |             GOTO L10
    | catch java.lang.Exception -> E1
    |           E1: ASTORE 5   (line 140)
    |               GETSTATIC java.lang.System.err Ljava/io/PrintStream;   (line 141)
    |               LDC "Failed to read connection.properties file"
    |               INVOKEVIRTUAL java.io.PrintStream.println (Ljava/lang/String;)V
    |               ALOAD 5     // Ljava/lang/Exception; e2   (line 142)
    |               INVOKEVIRTUAL java.lang.Exception.printStackTrace ()V
    |               NEW java.lang.RuntimeException   (line 143)
    |               DUP
    |               ALOAD 5     // Ljava/lang/Exception; e2
    |               INVOKESPECIAL java.lang.RuntimeException.<init> (Ljava/lang/Throwable;)V
    |               ATHROW
    |          L10: RETURN   (line 145)
    method-execution(void glassbox.client.ConnectionManager.readFromFile())
  end public void readFromFile()

  public void delete(String)    org.aspectj.weaver.MethodDeclarationLineNumber: 147:5452
:
    method-execution(void glassbox.client.ConnectionManager.delete(java.lang.String))
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 148)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.size ()I
    |               ICONST_1
    |               IF_ICMPGT L0
    |               RETURN
    |           L0: ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 149)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.iterator ()Ljava/util/Iterator;
    |               ASTORE_3
    |               GOTO L3
    |           L1: ALOAD_3
    |               INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               ASTORE_2
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 151)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               ALOAD_1     // Ljava/lang/String; nickname
    |               INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
    |               IFEQ L3
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 152)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con
    |               INVOKEINTERFACE java.util.List.lastIndexOf (Ljava/lang/Object;)I
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    |               IF_ICMPNE L2
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               ICONST_0
    |               PUTFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    |           L2: ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 154)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con
    |               INVOKEINTERFACE java.util.List.remove (Ljava/lang/Object;)Z
    |               POP
    |               GOTO L4   (line 155)
    |           L3: ALOAD_3   (line 149)
    |               INVOKEINTERFACE java.util.Iterator.hasNext ()Z
    |               IFNE L1
    |           L4: RETURN   (line 158)
    method-execution(void glassbox.client.ConnectionManager.delete(java.lang.String))
  end public void delete(String)

  public void setAsDefault(String)    org.aspectj.weaver.MethodDeclarationLineNumber: 160:5880
:
    method-execution(void glassbox.client.ConnectionManager.setAsDefault(java.lang.String))
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 161)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.iterator ()Ljava/util/Iterator;
    |               ASTORE_3
    |               GOTO L1
    |           L0: ALOAD_3
    |               INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               ASTORE_2
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 162)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               ALOAD_1     // Ljava/lang/String; nickname
    |               INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
    |               IFEQ L1
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 163)
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con
    |               INVOKEINTERFACE java.util.List.lastIndexOf (Ljava/lang/Object;)I
    |               PUTFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 164)
    |               ICONST_1
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.setViewed (Z)V
    |               GOTO L2   (line 165)
    |           L1: ALOAD_3   (line 161)
    |               INVOKEINTERFACE java.util.Iterator.hasNext ()Z
    |               IFNE L0
    |           L2: RETURN   (line 168)
    method-execution(void glassbox.client.ConnectionManager.setAsDefault(java.lang.String))
  end public void setAsDefault(String)

  public void setSelectViewed(String, boolean)    org.aspectj.weaver.MethodDeclarationLineNumber: 170:6156
:
    method-execution(void glassbox.client.ConnectionManager.setSelectViewed(java.lang.String, boolean))
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 171)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager.getDefaultNick ()Ljava/lang/String;
    |               ASTORE_3
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 172)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.iterator ()Ljava/util/Iterator;
    |               ASTORE 5
    |               GOTO L2
    |           L0: ALOAD 5
    |               INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               ASTORE 4
    |               ALOAD 4     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 173)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               ALOAD_1     // Ljava/lang/String; nickname
    |               INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
    |               IFEQ L2
    |               ILOAD_2     // Z val   (line 174)
    |               IFNE L1
    |               ALOAD_3     // Ljava/lang/String; defNick
    |               ALOAD 4     // Lglassbox/client/ConnectionManager$AgentConnection; con
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               IF_ACMPEQ L2
    |           L1: ALOAD 4     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 177)
    |               ILOAD_2     // Z val
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.setViewed (Z)V
    |               GOTO L3   (line 178)
    |           L2: ALOAD 5   (line 172)
    |               INVOKEINTERFACE java.util.Iterator.hasNext ()Z
    |               IFNE L0
    |           L3: RETURN   (line 182)
    method-execution(void glassbox.client.ConnectionManager.setSelectViewed(java.lang.String, boolean))
  end public void setSelectViewed(String, boolean)

  public boolean getSelectViewed(String)    org.aspectj.weaver.MethodDeclarationLineNumber: 184:6636
:
    method-execution(boolean glassbox.client.ConnectionManager.getSelectViewed(java.lang.String))
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 185)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.iterator ()Ljava/util/Iterator;
    |               ASTORE_3
    |               GOTO L1
    |           L0: ALOAD_3
    |               INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               ASTORE_2
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 186)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               ALOAD_1     // Ljava/lang/String; nickname
    |               INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
    |               IFEQ L1
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 187)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.isViewed ()Z
    |               IRETURN
    |           L1: ALOAD_3   (line 185)
    |               INVOKEINTERFACE java.util.Iterator.hasNext ()Z
    |               IFNE L0
    |               ICONST_0   (line 190)
    |               IRETURN
    method-execution(boolean glassbox.client.ConnectionManager.getSelectViewed(java.lang.String))
  end public boolean getSelectViewed(String)

  public String getNicknameFromURL(String)    org.aspectj.weaver.MethodDeclarationLineNumber: 193:6903
:
    method-execution(java.lang.String glassbox.client.ConnectionManager.getNicknameFromURL(java.lang.String))
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 194)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.iterator ()Ljava/util/Iterator;
    |               ASTORE_3
    |               GOTO L1
    |           L0: ALOAD_3
    |               INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               ASTORE_2
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 195)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getUrl ()Ljava/lang/String;
    |               ALOAD_1     // Ljava/lang/String; url
    |               INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
    |               IFEQ L1
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 196)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               ARETURN
    |           L1: ALOAD_3   (line 194)
    |               INVOKEINTERFACE java.util.Iterator.hasNext ()Z
    |               IFNE L0
    |               LDC_W " "   (line 199)
    |               ARETURN
    method-execution(java.lang.String glassbox.client.ConnectionManager.getNicknameFromURL(java.lang.String))
  end public String getNicknameFromURL(String)

  public glassbox.client.ConnectionManager$AgentConnection getAgentConnectionFromURL(String)    org.aspectj.weaver.MethodDeclarationLineNumber: 202:7168
:
    method-execution(glassbox.client.ConnectionManager$AgentConnection glassbox.client.ConnectionManager.getAgentConnectionFromURL(java.lang.String))
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 203)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.iterator ()Ljava/util/Iterator;
    |               ASTORE_3
    |               GOTO L1
    |           L0: ALOAD_3
    |               INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               ASTORE_2
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 204)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getUrl ()Ljava/lang/String;
    |               ALOAD_1     // Ljava/lang/String; url
    |               INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
    |               IFEQ L1
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 205)
    |               ARETURN
    |           L1: ALOAD_3   (line 203)
    |               INVOKEINTERFACE java.util.Iterator.hasNext ()Z
    |               IFNE L0
    |               ACONST_NULL   (line 209)
    |               ARETURN
    method-execution(glassbox.client.ConnectionManager$AgentConnection glassbox.client.ConnectionManager.getAgentConnectionFromURL(java.lang.String))
  end public glassbox.client.ConnectionManager$AgentConnection getAgentConnectionFromURL(String)

  public glassbox.client.ConnectionManager$AgentConnection getAgentConnectionFromNick(String)    org.aspectj.weaver.MethodDeclarationLineNumber: 212:7429
:
    method-execution(glassbox.client.ConnectionManager$AgentConnection glassbox.client.ConnectionManager.getAgentConnectionFromNick(java.lang.String))
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 213)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.iterator ()Ljava/util/Iterator;
    |               ASTORE_3
    |               GOTO L1
    |           L0: ALOAD_3
    |               INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               ASTORE_2
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 214)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               ALOAD_1     // Ljava/lang/String; nickname
    |               INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
    |               IFEQ L1
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 215)
    |               ARETURN
    |           L1: ALOAD_3   (line 213)
    |               INVOKEINTERFACE java.util.Iterator.hasNext ()Z
    |               IFNE L0
    |               ACONST_NULL   (line 218)
    |               ARETURN
    method-execution(glassbox.client.ConnectionManager$AgentConnection glassbox.client.ConnectionManager.getAgentConnectionFromNick(java.lang.String))
  end public glassbox.client.ConnectionManager$AgentConnection getAgentConnectionFromNick(String)

  public String getURLFromNick(String)    org.aspectj.weaver.MethodDeclarationLineNumber: 221:7695
:
    method-execution(java.lang.String glassbox.client.ConnectionManager.getURLFromNick(java.lang.String))
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 222)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.iterator ()Ljava/util/Iterator;
    |               ASTORE_3
    |               GOTO L1
    |           L0: ALOAD_3
    |               INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               ASTORE_2
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 223)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               ALOAD_1     // Ljava/lang/String; nick
    |               INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
    |               IFEQ L1
    |               ALOAD_2     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 224)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getUrl ()Ljava/lang/String;
    |               ARETURN
    |           L1: ALOAD_3   (line 222)
    |               INVOKEINTERFACE java.util.Iterator.hasNext ()Z
    |               IFNE L0
    |               LDC_W " "   (line 227)
    |               ARETURN
    method-execution(java.lang.String glassbox.client.ConnectionManager.getURLFromNick(java.lang.String))
  end public String getURLFromNick(String)

  public void edit(String, String)    org.aspectj.weaver.MethodDeclarationLineNumber: 231:7947
:
    method-execution(void glassbox.client.ConnectionManager.edit(java.lang.String, java.lang.String))
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 232)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.iterator ()Ljava/util/Iterator;
    |               ASTORE 4
    |               GOTO L1
    |           L0: ALOAD 4
    |               INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               ASTORE_3
    |               ALOAD_3     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 233)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               ALOAD_1     // Ljava/lang/String; nickname
    |               INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
    |               IFEQ L1
    |               ALOAD_3     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 234)
    |               ALOAD_2     // Ljava/lang/String; newurl
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.setUrl (Ljava/lang/String;)V
    |               GOTO L2   (line 235)
    |           L1: ALOAD 4   (line 232)
    |               INVOKEINTERFACE java.util.Iterator.hasNext ()Z
    |               IFNE L0
    |           L2: RETURN   (line 238)
    method-execution(void glassbox.client.ConnectionManager.edit(java.lang.String, java.lang.String))
  end public void edit(String, String)

  public void add(String, String, boolean, boolean)    org.aspectj.weaver.MethodDeclarationLineNumber: 240:8150
:
    method-execution(void glassbox.client.ConnectionManager.add(java.lang.String, java.lang.String, boolean, boolean))
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 241)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.iterator ()Ljava/util/Iterator;
    |               ASTORE 6
    |               GOTO L1
    |           L0: ALOAD 6
    |               INVOKEINTERFACE java.util.Iterator.next ()Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               ASTORE 5
    |               ALOAD 5     // Lglassbox/client/ConnectionManager$AgentConnection; con   (line 242)
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               ALOAD_1     // Ljava/lang/String; nickname
    |               INVOKEVIRTUAL java.lang.String.equals (Ljava/lang/Object;)Z
    |               IFEQ L1
    |               RETURN
    |           L1: ALOAD 6   (line 241)
    |               INVOKEINTERFACE java.util.Iterator.hasNext ()Z
    |               IFNE L0
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 244)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               NEW glassbox.client.ConnectionManager$AgentConnection
    |               DUP
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               ALOAD_1     // Ljava/lang/String; nickname
    |               ALOAD_2     // Ljava/lang/String; url
    |               ILOAD_3     // Z viewed
    |               INVOKESPECIAL glassbox.client.ConnectionManager$AgentConnection.<init> (Lglassbox/client/ConnectionManager;Ljava/lang/String;Ljava/lang/String;Z)V
    |               INVOKEINTERFACE java.util.List.add (Ljava/lang/Object;)Z
    |               POP
    |               ILOAD 4     // Z makeDefault   (line 245)
    |               IFEQ L2
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               INVOKEINTERFACE java.util.List.size ()I
    |               ICONST_1
    |               ISUB
    |               PUTFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    |           L2: RETURN   (line 246)
    method-execution(void glassbox.client.ConnectionManager.add(java.lang.String, java.lang.String, boolean, boolean))
  end public void add(String, String, boolean, boolean)

  public int getDefaultIndex()    org.aspectj.weaver.MethodDeclarationLineNumber: 248:8519
:
    method-execution(int glassbox.client.ConnectionManager.getDefaultIndex())
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 249)
    |               GETFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    |               IRETURN
    method-execution(int glassbox.client.ConnectionManager.getDefaultIndex())
  end public int getDefaultIndex()

  public java.util.List getConnectionList()    org.aspectj.weaver.MethodDeclarationLineNumber: 252:8611
:
    method-execution(java.util.List glassbox.client.ConnectionManager.getConnectionList())
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 253)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ARETURN
    method-execution(java.util.List glassbox.client.ConnectionManager.getConnectionList())
  end public java.util.List getConnectionList()

  public String getDefaultURL()    org.aspectj.weaver.MethodDeclarationLineNumber: 256:8683
:
    method-execution(java.lang.String glassbox.client.ConnectionManager.getDefaultURL())
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 257)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    |               INVOKEINTERFACE java.util.List.get (I)Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getUrl ()Ljava/lang/String;
    |               ARETURN
    method-execution(java.lang.String glassbox.client.ConnectionManager.getDefaultURL())
  end public String getDefaultURL()

  public String getDefaultNick()    org.aspectj.weaver.MethodDeclarationLineNumber: 260:8793
:
    method-execution(java.lang.String glassbox.client.ConnectionManager.getDefaultNick())
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this   (line 261)
    |               GETFIELD glassbox.client.ConnectionManager.connectionList Ljava/util/List;
    |               ALOAD_0     // Lglassbox/client/ConnectionManager; this
    |               GETFIELD glassbox.client.ConnectionManager.defaultConnectionIndex I
    |               INVOKEINTERFACE java.util.List.get (I)Ljava/lang/Object;
    |               CHECKCAST glassbox.client.ConnectionManager$AgentConnection
    |               INVOKEVIRTUAL glassbox.client.ConnectionManager$AgentConnection.getNickname ()Ljava/lang/String;
    |               ARETURN
    method-execution(java.lang.String glassbox.client.ConnectionManager.getDefaultNick())
  end public String getDefaultNick()
end public class glassbox.client.ConnectionManager

when implementing on shadow exception-handler(void glassbox.client.ConnectionManager.<catch>(java.lang.RuntimeException))
when weaving type glassbox.client.ConnectionManager
when weaving classes 
when weaving 
when batch building BuildConfig[C:\devel\glassbox\.metadata\.plugins\org.eclipse.ajdt.core\crankjClient.generated.lst] #Files=52
Comment 1 Ron Bodkin CLA 2006-04-26 23:00:04 EDT
Created attachment 39623 [details]
test

Fortunately, fixed in HEAD.
Comment 2 Ron Bodkin CLA 2006-04-26 23:00:39 EDT
This is fixed in CVS HEAD. It's worth including the test though.
Comment 3 Andrew Clement CLA 2006-04-27 03:20:37 EDT
test added. dup of 138158