Anomalous VerifyError (related to inner classes?)
hlship Feb 8, 2007 3:34 PMGetting VerifyErrors with Javassist 3.4.ga.
Tapestry 5 does some very aggressive, very AOP like things using Javassist. 99% of the time, no problems. here I'm getting an anomalous VerifyError.
java.lang.VerifyError
(class: org/apache/tapestry/corelib/components/Grid, method: access$0 signature: (Lorg/apache/tapestry/corelib/components/Grid;)Lorg/apache/tapestry/grid/GridDataSource;) Unable to pop operand off an empty stack
Stack trace
* java.lang.Class.getDeclaredConstructors0(Native Method)
* java.lang.Class.privateGetDeclaredConstructors(Class.java:2328)
* java.lang.Class.getConstructors(Class.java:1446)
* org.apache.tapestry.internal.services.ReflectiveInstantiator.findConstructor(ReflectiveInstantiator.java:65)
* org.apache.tapestry.internal.services.ReflectiveInstantiator.(ReflectiveInstantiator.java:53)
I modified my code to use CtClass.writeDebug() to capture the instrumented version of the class before it is instantiated. Here's the disassembled output:
$ javap -c -classpath .:../classes/:~/.m2/repository/jboss/javassist/3.4.ga/javassist-3.4.ga.jar -private -verbose org.apache.tapestry.corelib.components.Grid Compiled from "Grid.java" public class org.apache.tapestry.corelib.components.Grid extends java.lang.Object implements org.apache.tapestry.grid.GridDataProvider,org.apache.tapestry.runtime.Component,org.apache.tapestry.runtime.RenderCommand SourceFile: "Grid.java" InnerClass: final #39; //class org/apache/tapestry/corelib/components/Grid$1 RuntimeVisibleAnnotations: length = 0xA 00 02 01 FFFFFFE5 00 00 01 FFFFFFE6 00 00 minor version: 0 major version: 49 Constant pool: const #1 = Asciz org/apache/tapestry/corelib/components/Grid; const #2 = class #1; // org/apache/tapestry/corelib/components/Grid const #3 = Asciz java/lang/Object; const #4 = class #3; // java/lang/Object const #5 = Asciz org/apache/tapestry/grid/GridDataProvider; const #6 = class #5; // org/apache/tapestry/grid/GridDataProvider const #7 = Asciz org/apache/tapestry/runtime/Component; const #8 = class #7; // org/apache/tapestry/runtime/Component const #9 = Asciz org/apache/tapestry/runtime/RenderCommand; const #10 = class #9; // org/apache/tapestry/runtime/RenderCommand const #11 = Asciz <init>; const #12 = Asciz ()V; const #13 = Asciz Code; const #14 = class #3; // java/lang/Object const #15 = NameAndType #11:#12;// "<init>":()V const #16 = Method #14.#15; // java/lang/Object."<init>":()V const #17 = Asciz LineNumberTable; const #18 = Asciz LocalVariableTable; const #19 = Asciz this; const #20 = Asciz Lorg/apache/tapestry/corelib/components/Grid;; const #21 = Asciz defaultModel; const #22 = Asciz ()Lorg/apache/tapestry/Binding;; const #23 = class #1; // org/apache/tapestry/corelib/components/Grid const #24 = Asciz _resources; const #25 = Asciz Lorg/apache/tapestry/ComponentResources;; const #26 = NameAndType #24:#25;// _resources:Lorg/apache/tapestry/ComponentResources; const #27 = Field #23.#26; // org/apache/tapestry/corelib/components/Grid._resources:Lorg/apache/tapestry/ComponentResources; const #28 = Asciz org/apache/tapestry/ComponentResources; const #29 = class #28; // org/apache/tapestry/ComponentResources const #30 = Asciz getContainerResources; const #31 = Asciz ()Lorg/apache/tapestry/ComponentResources;; const #32 = NameAndType #30:#31;// getContainerResources:()Lorg/apache/tapestry/ComponentResources; const #33 = InterfaceMethod #29.#32; // org/apache/tapestry/ComponentResources.getContainerResources:()Lorg/apache/tapestry/ComponentResources; const #34 = Asciz _modelSource; const #35 = Asciz Lorg/apache/tapestry/services/GridDataModelSource;; const #36 = NameAndType #34:#35;// _modelSource:Lorg/apache/tapestry/services/GridDataModelSource; const #37 = Field #23.#36; // org/apache/tapestry/corelib/components/Grid._modelSource:Lorg/apache/tapestry/services/GridDataModelSource; const #38 = Asciz org/apache/tapestry/corelib/components/Grid$1; const #39 = class #38; // org/apache/tapestry/corelib/components/Grid$1 const #40 = Asciz (Lorg/apache/tapestry/corelib/components/Grid;Lorg/apache/tapestry/services/GridDataModelSource;Lorg/apache/tapestry/ComponentResources;)V; const #41 = NameAndType #11:#40;// "<init>":(Lorg/apache/tapestry/corelib/components/Grid;Lorg/apache/tapestry/services/GridDataModelSource;Lorg/apache/tapestry/ComponentResources;)V const #42 = Method #39.#41; // org/apache/tapestry/corelib/components/Grid$1."<init>":(Lorg/apache/tapestry/corelib/components/Grid;Lorg/apache/tapestry/services/GridDataModelSource;Lorg/apache/tapestry/ComponentResources;)V const #43 = Asciz containerResource; const #44 = Asciz modelSource; const #45 = Asciz setupRender; const #46 = Asciz ()Ljava/lang/Object;; const #47 = Asciz _$read_parameter_source; const #48 = Asciz ()Lorg/apache/tapestry/grid/GridDataSource;; const #49 = NameAndType #47:#48;// _$read_parameter_source:()Lorg/apache/tapestry/grid/GridDataSource; const #50 = Method #23.#49; // org/apache/tapestry/corelib/components/Grid._$read_parameter_source:()Lorg/apache/tapestry/grid/GridDataSource; const #51 = Asciz org/apache/tapestry/grid/GridDataSource; const #52 = class #51; // org/apache/tapestry/grid/GridDataSource const #53 = Asciz getAvailableRows; const #54 = Asciz ()I; const #55 = NameAndType #53:#54;// getAvailableRows:()I const #56 = InterfaceMethod #52.#55; // org/apache/tapestry/grid/GridDataSource.getAvailableRows:()I const #57 = Asciz _$read_parameter_empty; const #58 = Asciz ()Lorg/apache/tapestry/Block;; const #59 = NameAndType #57:#58;// _$read_parameter_empty:()Lorg/apache/tapestry/Block; const #60 = Method #23.#59; // org/apache/tapestry/corelib/components/Grid._$read_parameter_empty:()Lorg/apache/tapestry/Block; const #61 = Asciz beginRender; const #62 = NameAndType #47:#48;// _$read_parameter_source:()Lorg/apache/tapestry/grid/GridDataSource; const #63 = Method #23.#62; // org/apache/tapestry/corelib/components/Grid._$read_parameter_source:()Lorg/apache/tapestry/grid/GridDataSource; const #64 = NameAndType #53:#54;// getAvailableRows:()I const #65 = InterfaceMethod #52.#64; // org/apache/tapestry/grid/GridDataSource.getAvailableRows:()I const #66 = Asciz java/lang/Boolean; const #67 = class #66; // java/lang/Boolean const #68 = Asciz valueOf; const #69 = Asciz (Z)Ljava/lang/Boolean;; const #70 = NameAndType #68:#69;// valueOf:(Z)Ljava/lang/Boolean; const #71 = Method #67.#70; // java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean; const #72 = Asciz getDataModel; const #73 = Asciz ()Lorg/apache/tapestry/grid/GridDataModel;; const #74 = Asciz _$read_parameter_model; const #75 = NameAndType #74:#73;// _$read_parameter_model:()Lorg/apache/tapestry/grid/GridDataModel; const #76 = Method #23.#75; // org/apache/tapestry/corelib/components/Grid._$read_parameter_model:()Lorg/apache/tapestry/grid/GridDataModel; const #77 = Asciz access$0; const #78 = Asciz (Lorg/apache/tapestry/corelib/components/Grid;)Lorg/apache/tapestry/grid/GridDataSource;; const #79 = NameAndType #47:#48;// _$read_parameter_source:()Lorg/apache/tapestry/grid/GridDataSource; const #80 = Method #23.#79; // org/apache/tapestry/corelib/components/Grid._$read_parameter_source:()Lorg/apache/tapestry/grid/GridDataSource; const #81 = Asciz postRenderCleanup; const #82 = Asciz _$empty_invariant; const #83 = Asciz Z; const #84 = NameAndType #82:#83;// _$empty_invariant:Z const #85 = Field #23.#84; // org/apache/tapestry/corelib/components/Grid._$empty_invariant:Z const #86 = Asciz _$empty_default; const #87 = Asciz Lorg/apache/tapestry/Block;; const #88 = NameAndType #86:#87;// _$empty_default:Lorg/apache/tapestry/Block; const #89 = Field #23.#88; // org/apache/tapestry/corelib/components/Grid._$empty_default:Lorg/apache/tapestry/Block; const #90 = Asciz _empty; const #91 = NameAndType #90:#87;// _empty:Lorg/apache/tapestry/Block; const #92 = Field #23.#91; // org/apache/tapestry/corelib/components/Grid._empty:Lorg/apache/tapestry/Block; const #93 = Asciz _$empty_cached; const #94 = NameAndType #93:#83;// _$empty_cached:Z const #95 = Field #23.#94; // org/apache/tapestry/corelib/components/Grid._$empty_cached:Z const #96 = Asciz _$model_invariant; const #97 = NameAndType #96:#83;// _$model_invariant:Z const #98 = Field #23.#97; // org/apache/tapestry/corelib/components/Grid._$model_invariant:Z const #99 = Asciz _$model_default; const #100 = Asciz Lorg/apache/tapestry/grid/GridDataModel;; const #101 = NameAndType #99:#100;// _$model_default:Lorg/apache/tapestry/grid/GridDataModel; const #102 = Field #23.#101; // org/apache/tapestry/corelib/components/Grid._$model_default:Lorg/apache/tapestry/grid/GridDataModel; const #103 = Asciz _model; const #104 = NameAndType #103:#100;// _model:Lorg/apache/tapestry/grid/GridDataModel; const #105 = Field #23.#104; // org/apache/tapestry/corelib/components/Grid._model:Lorg/apache/tapestry/grid/GridDataModel; const #106 = Asciz _$model_cached; const #107 = NameAndType #106:#83;// _$model_cached:Z const #108 = Field #23.#107; // org/apache/tapestry/corelib/components/Grid._$model_cached:Z const #109 = Asciz _$source_invariant; const #110 = NameAndType #109:#83;// _$source_invariant:Z const #111 = Field #23.#110; // org/apache/tapestry/corelib/components/Grid._$source_invariant:Z const #112 = Asciz _$source_default; const #113 = Asciz Lorg/apache/tapestry/grid/GridDataSource;; const #114 = NameAndType #112:#113;// _$source_default:Lorg/apache/tapestry/grid/GridDataSource; const #115 = Field #23.#114; // org/apache/tapestry/corelib/components/Grid._$source_default:Lorg/apache/tapestry/grid/GridDataSource; const #116 = Asciz _source; const #117 = NameAndType #116:#113;// _source:Lorg/apache/tapestry/grid/GridDataSource; const #118 = Field #23.#117; // org/apache/tapestry/corelib/components/Grid._source:Lorg/apache/tapestry/grid/GridDataSource; const #119 = Asciz _$source_cached; const #120 = NameAndType #119:#83;// _$source_cached:Z const #121 = Field #23.#120; // org/apache/tapestry/corelib/components/Grid._$source_cached:Z const #122 = Asciz beforeRenderTemplate; const #123 = Asciz (Lorg/apache/tapestry/MarkupWriter;Lorg/apache/tapestry/runtime/Event;)V; const #124 = Asciz afterRenderTemplate; const #125 = Asciz beforeRenderBody; const #126 = Asciz afterRenderBody; const #127 = Asciz afterRender; const #128 = Asciz cleanupRender; const #129 = Asciz handleComponentEvent; const #130 = Asciz (Lorg/apache/tapestry/runtime/ComponentEvent;)Z; const #131 = Asciz containingPageDidLoad; const #132 = Asciz _$resources; const #133 = Asciz Lorg/apache/tapestry/internal/InternalComponentResources;; const #134 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #135 = Field #23.#134; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #136 = NameAndType #24:#25;// _resources:Lorg/apache/tapestry/ComponentResources; const #137 = Field #23.#136; // org/apache/tapestry/corelib/components/Grid._resources:Lorg/apache/tapestry/ComponentResources; const #138 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #139 = Field #23.#138; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #140 = Asciz empty; const #141 = String #140; // empty const #142 = Asciz isBound; const #143 = Asciz (Ljava/lang/String;)Z; const #144 = NameAndType #142:#143;// isBound:(Ljava/lang/String;)Z const #145 = InterfaceMethod #29.#144; // org/apache/tapestry/ComponentResources.isBound:(Ljava/lang/String;)Z const #146 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #147 = Field #23.#146; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #148 = String #140; // empty const #149 = Asciz _$bindingSource; const #150 = Asciz Lorg/apache/tapestry/services/BindingSource;; const #151 = NameAndType #149:#150;// _$bindingSource:Lorg/apache/tapestry/services/BindingSource; const #152 = Field #23.#151; // org/apache/tapestry/corelib/components/Grid._$bindingSource:Lorg/apache/tapestry/services/BindingSource; const #153 = Asciz default empty; const #154 = String #153; // default empty const #155 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #156 = Field #23.#155; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #157 = Asciz block:empty; const #158 = String #157; // block:empty const #159 = Asciz org/apache/tapestry/services/BindingSource; const #160 = class #159; // org/apache/tapestry/services/BindingSource const #161 = Asciz newBinding; const #162 = Asciz (Ljava/lang/String;Lorg/apache/tapestry/ComponentResources;Ljava/lang/String;)Lorg/apache/tapestry/Binding;; const #163 = NameAndType #161:#162;// newBinding:(Ljava/lang/String;Lorg/apache/tapestry/ComponentResources;Ljava/lang/String;)Lorg/apache/tapestry/Binding; const #164 = InterfaceMethod #160.#163; // org/apache/tapestry/services/BindingSource.newBinding:(Ljava/lang/String;Lorg/apache/tapestry/ComponentResources;Ljava/lang/String;)Lorg/apache/tapestry/Binding; const #165 = Asciz org/apache/tapestry/internal/InternalComponentResourcesCommon; const #166 = class #165; // org/apache/tapestry/internal/InternalComponentResourcesCommon const #167 = Asciz bindParameter; const #168 = Asciz (Ljava/lang/String;Lorg/apache/tapestry/Binding;)V; const #169 = NameAndType #167:#168;// bindParameter:(Ljava/lang/String;Lorg/apache/tapestry/Binding;)V const #170 = InterfaceMethod #166.#169; // org/apache/tapestry/internal/InternalComponentResourcesCommon.bindParameter:(Ljava/lang/String;Lorg/apache/tapestry/Binding;)V const #171 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #172 = Field #23.#171; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #173 = String #140; // empty const #174 = Asciz org/apache/tapestry/internal/InternalComponentResources; const #175 = class #174; // org/apache/tapestry/internal/InternalComponentResources const #176 = Asciz isInvariant; const #177 = NameAndType #176:#143;// isInvariant:(Ljava/lang/String;)Z const #178 = InterfaceMethod #175.#177; // org/apache/tapestry/internal/InternalComponentResources.isInvariant:(Ljava/lang/String;)Z const #179 = NameAndType #82:#83;// _$empty_invariant:Z const #180 = Field #23.#179; // org/apache/tapestry/corelib/components/Grid._$empty_invariant:Z const #181 = NameAndType #90:#87;// _empty:Lorg/apache/tapestry/Block; const #182 = Field #23.#181; // org/apache/tapestry/corelib/components/Grid._empty:Lorg/apache/tapestry/Block; const #183 = NameAndType #86:#87;// _$empty_default:Lorg/apache/tapestry/Block; const #184 = Field #23.#183; // org/apache/tapestry/corelib/components/Grid._$empty_default:Lorg/apache/tapestry/Block; const #185 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #186 = Field #23.#185; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #187 = Asciz model; const #188 = String #187; // model const #189 = NameAndType #142:#143;// isBound:(Ljava/lang/String;)Z const #190 = InterfaceMethod #29.#189; // org/apache/tapestry/ComponentResources.isBound:(Ljava/lang/String;)Z const #191 = String #187; // model const #192 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #193 = Field #23.#192; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #194 = NameAndType #21:#22;// defaultModel:()Lorg/apache/tapestry/Binding; const #195 = Method #23.#194; // org/apache/tapestry/corelib/components/Grid.defaultModel:()Lorg/apache/tapestry/Binding; const #196 = Asciz org/apache/tapestry/internal/services/ParameterWorker; const #197 = class #196; // org/apache/tapestry/internal/services/ParameterWorker const #198 = Asciz bind; const #199 = Asciz (Ljava/lang/String;Lorg/apache/tapestry/internal/InternalComponentResources;Ljava/lang/Object;)V; const #200 = NameAndType #198:#199;// bind:(Ljava/lang/String;Lorg/apache/tapestry/internal/InternalComponentResources;Ljava/lang/Object;)V const #201 = Method #197.#200; // org/apache/tapestry/internal/services/ParameterWorker.bind:(Ljava/lang/String;Lorg/apache/tapestry/internal/InternalComponentResources;Ljava/lang/Object;)V const #202 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #203 = Field #23.#202; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #204 = String #187; // model const #205 = NameAndType #176:#143;// isInvariant:(Ljava/lang/String;)Z const #206 = InterfaceMethod #175.#205; // org/apache/tapestry/internal/InternalComponentResources.isInvariant:(Ljava/lang/String;)Z const #207 = NameAndType #96:#83;// _$model_invariant:Z const #208 = Field #23.#207; // org/apache/tapestry/corelib/components/Grid._$model_invariant:Z const #209 = NameAndType #103:#100;// _model:Lorg/apache/tapestry/grid/GridDataModel; const #210 = Field #23.#209; // org/apache/tapestry/corelib/components/Grid._model:Lorg/apache/tapestry/grid/GridDataModel; const #211 = NameAndType #99:#100;// _$model_default:Lorg/apache/tapestry/grid/GridDataModel; const #212 = Field #23.#211; // org/apache/tapestry/corelib/components/Grid._$model_default:Lorg/apache/tapestry/grid/GridDataModel; const #213 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #214 = Field #23.#213; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #215 = Asciz source; const #216 = String #215; // source const #217 = NameAndType #176:#143;// isInvariant:(Ljava/lang/String;)Z const #218 = InterfaceMethod #175.#217; // org/apache/tapestry/internal/InternalComponentResources.isInvariant:(Ljava/lang/String;)Z const #219 = NameAndType #109:#83;// _$source_invariant:Z const #220 = Field #23.#219; // org/apache/tapestry/corelib/components/Grid._$source_invariant:Z const #221 = NameAndType #116:#113;// _source:Lorg/apache/tapestry/grid/GridDataSource; const #222 = Field #23.#221; // org/apache/tapestry/corelib/components/Grid._source:Lorg/apache/tapestry/grid/GridDataSource; const #223 = NameAndType #112:#113;// _$source_default:Lorg/apache/tapestry/grid/GridDataSource; const #224 = Field #23.#223; // org/apache/tapestry/corelib/components/Grid._$source_default:Lorg/apache/tapestry/grid/GridDataSource; const #225 = Asciz containingPageDidDetach; const #226 = Asciz containingPageDidAttach; const #227 = Asciz getComponentResources; const #228 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #229 = Field #23.#228; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #230 = Asciz _$write_modelSource; const #231 = Asciz (Lorg/apache/tapestry/services/GridDataModelSource;)V; const #232 = Asciz java/lang/RuntimeException; const #233 = class #232; // java/lang/RuntimeException const #234 = Asciz Field org.apache.tapestry.corelib.components.Grid._modelSource is read-only.; const #235 = String #234; // Field org.apache.tapestry.corelib.components.Grid._modelSource is read-only. const #236 = Asciz (Ljava/lang/String;)V; const #237 = NameAndType #11:#236;// "<init>":(Ljava/lang/String;)V const #238 = Method #233.#237; // java/lang/RuntimeException."<init>":(Ljava/lang/String;)V const #239 = Asciz _$write_resources; const #240 = Asciz (Lorg/apache/tapestry/ComponentResources;)V; const #241 = Asciz Field org.apache.tapestry.corelib.components.Grid._resources is read-only.; const #242 = String #241; // Field org.apache.tapestry.corelib.components.Grid._resources is read-only. const #243 = NameAndType #11:#236;// "<init>":(Ljava/lang/String;)V const #244 = Method #233.#243; // java/lang/RuntimeException."<init>":(Ljava/lang/String;)V const #245 = Asciz render; const #246 = Asciz (Lorg/apache/tapestry/MarkupWriter;Lorg/apache/tapestry/runtime/RenderQueue;)V; const #247 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #248 = Field #23.#247; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #249 = Asciz queueRender; const #250 = Asciz (Lorg/apache/tapestry/runtime/RenderQueue;)V; const #251 = NameAndType #249:#250;// queueRender:(Lorg/apache/tapestry/runtime/RenderQueue;)V const #252 = InterfaceMethod #166.#251; // org/apache/tapestry/internal/InternalComponentResourcesCommon.queueRender:(Lorg/apache/tapestry/runtime/RenderQueue;)V const #253 = NameAndType #93:#83;// _$empty_cached:Z const #254 = Field #23.#253; // org/apache/tapestry/corelib/components/Grid._$empty_cached:Z const #255 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #256 = Field #23.#255; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #257 = Asciz isLoaded; const #258 = Asciz ()Z; const #259 = NameAndType #257:#258;// isLoaded:()Z const #260 = InterfaceMethod #166.#259; // org/apache/tapestry/internal/InternalComponentResourcesCommon.isLoaded:()Z const #261 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #262 = Field #23.#261; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #263 = String #140; // empty const #264 = NameAndType #142:#143;// isBound:(Ljava/lang/String;)Z const #265 = InterfaceMethod #29.#264; // org/apache/tapestry/ComponentResources.isBound:(Ljava/lang/String;)Z const #266 = NameAndType #90:#87;// _empty:Lorg/apache/tapestry/Block; const #267 = Field #23.#266; // org/apache/tapestry/corelib/components/Grid._empty:Lorg/apache/tapestry/Block; const #268 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #269 = Field #23.#268; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #270 = String #140; // empty const #271 = String #87; // Lorg/apache/tapestry/Block; const #272 = Asciz javassist/runtime/Desc; const #273 = class #272; // javassist/runtime/Desc const #274 = Asciz getType; const #275 = Asciz (Ljava/lang/String;)Ljava/lang/Class;; const #276 = NameAndType #274:#275;// getType:(Ljava/lang/String;)Ljava/lang/Class; const #277 = Method #273.#276; // javassist/runtime/Desc.getType:(Ljava/lang/String;)Ljava/lang/Class; const #278 = Asciz readParameter; const #279 = Asciz (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;; const #280 = NameAndType #278:#279;// readParameter:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; const #281 = InterfaceMethod #175.#280; // org/apache/tapestry/internal/InternalComponentResources.readParameter:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; const #282 = Asciz org/apache/tapestry/Block; const #283 = class #282; // org/apache/tapestry/Block const #284 = NameAndType #82:#83;// _$empty_invariant:Z const #285 = Field #23.#284; // org/apache/tapestry/corelib/components/Grid._$empty_invariant:Z const #286 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #287 = Field #23.#286; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #288 = Asciz org/apache/tapestry/ComponentResourcesCommon; const #289 = class #288; // org/apache/tapestry/ComponentResourcesCommon const #290 = Asciz isRendering; const #291 = NameAndType #290:#258;// isRendering:()Z const #292 = InterfaceMethod #289.#291; // org/apache/tapestry/ComponentResourcesCommon.isRendering:()Z const #293 = NameAndType #90:#87;// _empty:Lorg/apache/tapestry/Block; const #294 = Field #23.#293; // org/apache/tapestry/corelib/components/Grid._empty:Lorg/apache/tapestry/Block; const #295 = NameAndType #93:#83;// _$empty_cached:Z const #296 = Field #23.#295; // org/apache/tapestry/corelib/components/Grid._$empty_cached:Z const #297 = Asciz _$update_parameter_empty; const #298 = Asciz (Lorg/apache/tapestry/Block;)V; const #299 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #300 = Field #23.#299; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #301 = NameAndType #257:#258;// isLoaded:()Z const #302 = InterfaceMethod #166.#301; // org/apache/tapestry/internal/InternalComponentResourcesCommon.isLoaded:()Z const #303 = NameAndType #90:#87;// _empty:Lorg/apache/tapestry/Block; const #304 = Field #23.#303; // org/apache/tapestry/corelib/components/Grid._empty:Lorg/apache/tapestry/Block; const #305 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #306 = Field #23.#305; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #307 = String #140; // empty const #308 = NameAndType #142:#143;// isBound:(Ljava/lang/String;)Z const #309 = InterfaceMethod #29.#308; // org/apache/tapestry/ComponentResources.isBound:(Ljava/lang/String;)Z const #310 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #311 = Field #23.#310; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #312 = String #140; // empty const #313 = Asciz writeParameter; const #314 = Asciz (Ljava/lang/String;Ljava/lang/Object;)V; const #315 = NameAndType #313:#314;// writeParameter:(Ljava/lang/String;Ljava/lang/Object;)V const #316 = InterfaceMethod #175.#315; // org/apache/tapestry/internal/InternalComponentResources.writeParameter:(Ljava/lang/String;Ljava/lang/Object;)V const #317 = NameAndType #90:#87;// _empty:Lorg/apache/tapestry/Block; const #318 = Field #23.#317; // org/apache/tapestry/corelib/components/Grid._empty:Lorg/apache/tapestry/Block; const #319 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #320 = Field #23.#319; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #321 = NameAndType #290:#258;// isRendering:()Z const #322 = InterfaceMethod #289.#321; // org/apache/tapestry/ComponentResourcesCommon.isRendering:()Z const #323 = NameAndType #93:#83;// _$empty_cached:Z const #324 = Field #23.#323; // org/apache/tapestry/corelib/components/Grid._$empty_cached:Z const #325 = NameAndType #106:#83;// _$model_cached:Z const #326 = Field #23.#325; // org/apache/tapestry/corelib/components/Grid._$model_cached:Z const #327 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #328 = Field #23.#327; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #329 = NameAndType #257:#258;// isLoaded:()Z const #330 = InterfaceMethod #166.#329; // org/apache/tapestry/internal/InternalComponentResourcesCommon.isLoaded:()Z const #331 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #332 = Field #23.#331; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #333 = String #187; // model const #334 = NameAndType #142:#143;// isBound:(Ljava/lang/String;)Z const #335 = InterfaceMethod #29.#334; // org/apache/tapestry/ComponentResources.isBound:(Ljava/lang/String;)Z const #336 = NameAndType #103:#100;// _model:Lorg/apache/tapestry/grid/GridDataModel; const #337 = Field #23.#336; // org/apache/tapestry/corelib/components/Grid._model:Lorg/apache/tapestry/grid/GridDataModel; const #338 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #339 = Field #23.#338; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #340 = String #187; // model const #341 = String #100; // Lorg/apache/tapestry/grid/GridDataModel; const #342 = NameAndType #274:#275;// getType:(Ljava/lang/String;)Ljava/lang/Class; const #343 = Method #273.#342; // javassist/runtime/Desc.getType:(Ljava/lang/String;)Ljava/lang/Class; const #344 = NameAndType #278:#279;// readParameter:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; const #345 = InterfaceMethod #175.#344; // org/apache/tapestry/internal/InternalComponentResources.readParameter:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; const #346 = Asciz org/apache/tapestry/grid/GridDataModel; const #347 = class #346; // org/apache/tapestry/grid/GridDataModel const #348 = NameAndType #96:#83;// _$model_invariant:Z const #349 = Field #23.#348; // org/apache/tapestry/corelib/components/Grid._$model_invariant:Z const #350 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #351 = Field #23.#350; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #352 = NameAndType #290:#258;// isRendering:()Z const #353 = InterfaceMethod #289.#352; // org/apache/tapestry/ComponentResourcesCommon.isRendering:()Z const #354 = NameAndType #103:#100;// _model:Lorg/apache/tapestry/grid/GridDataModel; const #355 = Field #23.#354; // org/apache/tapestry/corelib/components/Grid._model:Lorg/apache/tapestry/grid/GridDataModel; const #356 = NameAndType #106:#83;// _$model_cached:Z const #357 = Field #23.#356; // org/apache/tapestry/corelib/components/Grid._$model_cached:Z const #358 = Asciz _$update_parameter_model; const #359 = Asciz (Lorg/apache/tapestry/grid/GridDataModel;)V; const #360 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #361 = Field #23.#360; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #362 = NameAndType #257:#258;// isLoaded:()Z const #363 = InterfaceMethod #166.#362; // org/apache/tapestry/internal/InternalComponentResourcesCommon.isLoaded:()Z const #364 = NameAndType #103:#100;// _model:Lorg/apache/tapestry/grid/GridDataModel; const #365 = Field #23.#364; // org/apache/tapestry/corelib/components/Grid._model:Lorg/apache/tapestry/grid/GridDataModel; const #366 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #367 = Field #23.#366; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #368 = String #187; // model const #369 = NameAndType #142:#143;// isBound:(Ljava/lang/String;)Z const #370 = InterfaceMethod #29.#369; // org/apache/tapestry/ComponentResources.isBound:(Ljava/lang/String;)Z const #371 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #372 = Field #23.#371; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #373 = String #187; // model const #374 = NameAndType #313:#314;// writeParameter:(Ljava/lang/String;Ljava/lang/Object;)V const #375 = InterfaceMethod #175.#374; // org/apache/tapestry/internal/InternalComponentResources.writeParameter:(Ljava/lang/String;Ljava/lang/Object;)V const #376 = NameAndType #103:#100;// _model:Lorg/apache/tapestry/grid/GridDataModel; const #377 = Field #23.#376; // org/apache/tapestry/corelib/components/Grid._model:Lorg/apache/tapestry/grid/GridDataModel; const #378 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #379 = Field #23.#378; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #380 = NameAndType #290:#258;// isRendering:()Z const #381 = InterfaceMethod #289.#380; // org/apache/tapestry/ComponentResourcesCommon.isRendering:()Z const #382 = NameAndType #106:#83;// _$model_cached:Z const #383 = Field #23.#382; // org/apache/tapestry/corelib/components/Grid._$model_cached:Z const #384 = NameAndType #119:#83;// _$source_cached:Z const #385 = Field #23.#384; // org/apache/tapestry/corelib/components/Grid._$source_cached:Z const #386 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #387 = Field #23.#386; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #388 = NameAndType #257:#258;// isLoaded:()Z const #389 = InterfaceMethod #166.#388; // org/apache/tapestry/internal/InternalComponentResourcesCommon.isLoaded:()Z const #390 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #391 = Field #23.#390; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #392 = String #215; // source const #393 = NameAndType #142:#143;// isBound:(Ljava/lang/String;)Z const #394 = InterfaceMethod #29.#393; // org/apache/tapestry/ComponentResources.isBound:(Ljava/lang/String;)Z const #395 = NameAndType #116:#113;// _source:Lorg/apache/tapestry/grid/GridDataSource; const #396 = Field #23.#395; // org/apache/tapestry/corelib/components/Grid._source:Lorg/apache/tapestry/grid/GridDataSource; const #397 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #398 = Field #23.#397; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #399 = String #215; // source const #400 = String #113; // Lorg/apache/tapestry/grid/GridDataSource; const #401 = NameAndType #274:#275;// getType:(Ljava/lang/String;)Ljava/lang/Class; const #402 = Method #273.#401; // javassist/runtime/Desc.getType:(Ljava/lang/String;)Ljava/lang/Class; const #403 = NameAndType #278:#279;// readParameter:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; const #404 = InterfaceMethod #175.#403; // org/apache/tapestry/internal/InternalComponentResources.readParameter:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; const #405 = NameAndType #109:#83;// _$source_invariant:Z const #406 = Field #23.#405; // org/apache/tapestry/corelib/components/Grid._$source_invariant:Z const #407 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #408 = Field #23.#407; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #409 = NameAndType #290:#258;// isRendering:()Z const #410 = InterfaceMethod #289.#409; // org/apache/tapestry/ComponentResourcesCommon.isRendering:()Z const #411 = NameAndType #116:#113;// _source:Lorg/apache/tapestry/grid/GridDataSource; const #412 = Field #23.#411; // org/apache/tapestry/corelib/components/Grid._source:Lorg/apache/tapestry/grid/GridDataSource; const #413 = NameAndType #119:#83;// _$source_cached:Z const #414 = Field #23.#413; // org/apache/tapestry/corelib/components/Grid._$source_cached:Z const #415 = Asciz _$update_parameter_source; const #416 = Asciz (Lorg/apache/tapestry/grid/GridDataSource;)V; const #417 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #418 = Field #23.#417; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #419 = NameAndType #257:#258;// isLoaded:()Z const #420 = InterfaceMethod #166.#419; // org/apache/tapestry/internal/InternalComponentResourcesCommon.isLoaded:()Z const #421 = NameAndType #116:#113;// _source:Lorg/apache/tapestry/grid/GridDataSource; const #422 = Field #23.#421; // org/apache/tapestry/corelib/components/Grid._source:Lorg/apache/tapestry/grid/GridDataSource; const #423 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #424 = Field #23.#423; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #425 = String #215; // source const #426 = NameAndType #142:#143;// isBound:(Ljava/lang/String;)Z const #427 = InterfaceMethod #29.#426; // org/apache/tapestry/ComponentResources.isBound:(Ljava/lang/String;)Z const #428 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #429 = Field #23.#428; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #430 = String #215; // source const #431 = NameAndType #313:#314;// writeParameter:(Ljava/lang/String;Ljava/lang/Object;)V const #432 = InterfaceMethod #175.#431; // org/apache/tapestry/internal/InternalComponentResources.writeParameter:(Ljava/lang/String;Ljava/lang/Object;)V const #433 = NameAndType #116:#113;// _source:Lorg/apache/tapestry/grid/GridDataSource; const #434 = Field #23.#433; // org/apache/tapestry/corelib/components/Grid._source:Lorg/apache/tapestry/grid/GridDataSource; const #435 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #436 = Field #23.#435; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #437 = NameAndType #290:#258;// isRendering:()Z const #438 = InterfaceMethod #289.#437; // org/apache/tapestry/ComponentResourcesCommon.isRendering:()Z const #439 = NameAndType #119:#83;// _$source_cached:Z const #440 = Field #23.#439; // org/apache/tapestry/corelib/components/Grid._$source_cached:Z const #441 = Asciz org.apache.tapestry.corelib.components.Grid.setupRender(); const #442 = String #441; // org.apache.tapestry.corelib.components.Grid.setupRender() const #443 = Asciz org/apache/tapestry/runtime/Event; const #444 = class #443; // org/apache/tapestry/runtime/Event const #445 = Asciz setSource; const #446 = Asciz (Lorg/apache/tapestry/runtime/Component;Ljava/lang/String;)V; const #447 = NameAndType #445:#446;// setSource:(Lorg/apache/tapestry/runtime/Component;Ljava/lang/String;)V const #448 = InterfaceMethod #444.#447; // org/apache/tapestry/runtime/Event.setSource:(Lorg/apache/tapestry/runtime/Component;Ljava/lang/String;)V const #449 = NameAndType #45:#46;// setupRender:()Ljava/lang/Object; const #450 = Method #23.#449; // org/apache/tapestry/corelib/components/Grid.setupRender:()Ljava/lang/Object; const #451 = Asciz storeResult; const #452 = Asciz (Ljava/lang/Object;)Z; const #453 = NameAndType #451:#452;// storeResult:(Ljava/lang/Object;)Z const #454 = InterfaceMethod #444.#453; // org/apache/tapestry/runtime/Event.storeResult:(Ljava/lang/Object;)Z const #455 = Asciz org.apache.tapestry.corelib.components.Grid.beginRender(); const #456 = String #455; // org.apache.tapestry.corelib.components.Grid.beginRender() const #457 = NameAndType #445:#446;// setSource:(Lorg/apache/tapestry/runtime/Component;Ljava/lang/String;)V const #458 = InterfaceMethod #444.#457; // org/apache/tapestry/runtime/Event.setSource:(Lorg/apache/tapestry/runtime/Component;Ljava/lang/String;)V const #459 = NameAndType #61:#46;// beginRender:()Ljava/lang/Object; const #460 = Method #23.#459; // org/apache/tapestry/corelib/components/Grid.beginRender:()Ljava/lang/Object; const #461 = NameAndType #451:#452;// storeResult:(Ljava/lang/Object;)Z const #462 = InterfaceMethod #444.#461; // org/apache/tapestry/runtime/Event.storeResult:(Ljava/lang/Object;)Z const #463 = Asciz initializer; const #464 = Asciz (Lorg/apache/tapestry/internal/InternalComponentResources;Lorg/apache/tapestry/services/GridDataModelSource;Lorg/apache/tapestry/services/BindingSource;)V; const #465 = NameAndType #11:#12;// "<init>":()V const #466 = Method #14.#465; // java/lang/Object."<init>":()V const #467 = NameAndType #132:#133;// _$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #468 = Field #23.#467; // org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; const #469 = NameAndType #34:#35;// _modelSource:Lorg/apache/tapestry/services/GridDataModelSource; const #470 = Field #23.#469; // org/apache/tapestry/corelib/components/Grid._modelSource:Lorg/apache/tapestry/services/GridDataModelSource; const #471 = NameAndType #149:#150;// _$bindingSource:Lorg/apache/tapestry/services/BindingSource; const #472 = Field #23.#471; // org/apache/tapestry/corelib/components/Grid._$bindingSource:Lorg/apache/tapestry/services/BindingSource; const #473 = NameAndType #463:#12;// initializer:()V const #474 = Method #23.#473; // org/apache/tapestry/corelib/components/Grid.initializer:()V const #475 = Asciz Lorg/apache/tapestry/annotations/Parameter;; const #476 = Asciz required; const #477 = int 1; const #478 = Asciz RuntimeVisibleAnnotations; const #479 = Asciz value; const #480 = Asciz Lorg/apache/tapestry/annotations/Inject;; const #481 = Asciz infrastructure:GridDataModelSource; const #482 = Asciz SourceFile; const #483 = Asciz Grid.java; const #484 = Asciz InnerClasses; const #485 = Asciz Lorg/apache/tapestry/annotations/ComponentClass;; const #486 = Asciz Lorg/apache/tapestry/annotations/SupportsInformalParameters;; { private org.apache.tapestry.grid.GridDataSource _source; RuntimeVisibleAnnotations: length = 0xB 00 01 01 FFFFFFDB 00 01 01 FFFFFFDC 5A 01 FFFFFFDD private org.apache.tapestry.grid.GridDataModel _model; RuntimeVisibleAnnotations: length = 0x6 00 01 01 FFFFFFDB 00 00 private org.apache.tapestry.Block _empty; RuntimeVisibleAnnotations: length = 0xB 00 01 01 FFFFFFDB 00 01 01 FFFFFFDF 73 00 FFFFFF9D private org.apache.tapestry.ComponentResources _resources; RuntimeVisibleAnnotations: length = 0x6 00 01 01 FFFFFFE0 00 00 private org.apache.tapestry.services.GridDataModelSource _modelSource; RuntimeVisibleAnnotations: length = 0xB 00 01 01 FFFFFFE0 00 01 01 FFFFFFDF 73 01 FFFFFFE1 protected final org.apache.tapestry.internal.InternalComponentResources _$resources; private boolean _$empty_cached; private org.apache.tapestry.Block _$empty_default; private boolean _$empty_invariant; protected final org.apache.tapestry.services.BindingSource _$bindingSource; private boolean _$model_cached; private org.apache.tapestry.grid.GridDataModel _$model_default; private boolean _$model_invariant; private boolean _$source_cached; private org.apache.tapestry.grid.GridDataSource _$source_default; private boolean _$source_invariant; public org.apache.tapestry.corelib.components.Grid(); Code: Stack=1, Locals=1, Args_size=1 0: aload_0 1: invokespecial #16; //Method java/lang/Object."<init>":()V 4: return LineNumberTable: line 23: 0 LocalVariableTable: Start Length Slot Name Signature 0 5 0 this Lorg/apache/tapestry/corelib/components/Grid; org.apache.tapestry.Binding defaultModel(); Code: Stack=5, Locals=3, Args_size=1 0: aload_0 1: getfield #27; //Field org/apache/tapestry/corelib/components/Grid._resources:Lorg/apache/tapestry/ComponentResources; 4: invokeinterface #33, 1; //InterfaceMethod org/apache/tapestry/ComponentResources.getContainerResources:()Lorg/apache/tapestry/ComponentResources; 9: astore_1 10: aload_0 11: getfield #37; //Field org/apache/tapestry/corelib/components/Grid._modelSource:Lorg/apache/tapestry/services/GridDataModelSource; 14: astore_2 15: new #39; //class org/apache/tapestry/corelib/components/Grid$1 18: dup 19: aload_0 20: aload_2 21: aload_1 22: invokespecial #42; //Method org/apache/tapestry/corelib/components/Grid$1."<init>":(Lorg/apache/tapestry/corelib/components/Grid;Lorg/apache/tapestry/services/GridDataModelSource;Lorg/apache/tapestry/ComponentResources;)V 25: areturn LineNumberTable: line 42: 0 line 44: 10 line 46: 15 LocalVariableTable: Start Length Slot Name Signature 0 26 0 this Lorg/apache/tapestry/corelib/components/Grid; 10 16 1 containerResource Lorg/apache/tapestry/ComponentResources; 15 11 2 modelSource Lorg/apache/tapestry/services/GridDataModelSource; java.lang.Object setupRender(); Code: Stack=1, Locals=3, Args_size=1 0: aload_0 1: astore_1 2: aconst_null 3: astore_2 4: aload_0 5: invokespecial #50; //Method org/apache/tapestry/corelib/components/Grid._$read_parameter_source:()Lorg/apache/tapestry/grid/GridDataSource; 8: astore_2 9: aload_2 10: invokeinterface #56, 1; //InterfaceMethod org/apache/tapestry/grid/GridDataSource.getAvailableRows:()I 15: ifne 29 18: aload_0 19: astore_1 20: aconst_null 21: astore_2 22: aload_0 23: invokespecial #60; //Method org/apache/tapestry/corelib/components/Grid._$read_parameter_empty:()Lorg/apache/tapestry/Block; 26: astore_2 27: aload_2 28: areturn 29: aconst_null 30: areturn LineNumberTable: line 72: 0 line 73: 18 line 75: 29 LocalVariableTable: Start Length Slot Name Signature 0 31 0 this Lorg/apache/tapestry/corelib/components/Grid; java.lang.Object beginRender(); Code: Stack=1, Locals=3, Args_size=1 0: aload_0 1: astore_1 2: aconst_null 3: astore_2 4: aload_0 5: invokespecial #63; //Method org/apache/tapestry/corelib/components/Grid._$read_parameter_source:()Lorg/apache/tapestry/grid/GridDataSource; 8: astore_2 9: aload_2 10: invokeinterface #65, 1; //InterfaceMethod org/apache/tapestry/grid/GridDataSource.getAvailableRows:()I 15: ifne 23 18: iconst_0 19: invokestatic #71; //Method java/lang/Boolean.valueOf:(Z)Ljava/lang/Boolean; 22: areturn 23: aconst_null 24: areturn LineNumberTable: line 83: 0 line 84: 18 line 86: 23 LocalVariableTable: Start Length Slot Name Signature 0 25 0 this Lorg/apache/tapestry/corelib/components/Grid; public org.apache.tapestry.grid.GridDataModel getDataModel(); Code: Stack=1, Locals=3, Args_size=1 0: aload_0 1: astore_1 2: aconst_null 3: astore_2 4: aload_0 5: invokespecial #76; //Method org/apache/tapestry/corelib/components/Grid._$read_parameter_model:()Lorg/apache/tapestry/grid/GridDataModel; 8: astore_2 9: aload_2 10: areturn LineNumberTable: line 91: 0 LocalVariableTable: Start Length Slot Name Signature 0 11 0 this Lorg/apache/tapestry/corelib/components/Grid; static org.apache.tapestry.grid.GridDataSource access$0(org.apache.tapestry.corelib.components.Grid); Code: Stack=1, Locals=3, Args_size=1 0: aload_0 1: astore_1 2: aconst_null 3: astore_2 4: invokespecial #80; //Method org/apache/tapestry/corelib/components/Grid._$read_parameter_source:()Lorg/apache/tapestry/grid/GridDataSource; 7: astore_2 8: aload_2 9: areturn LineNumberTable: line 26: 0 public void postRenderCleanup(); Code: Stack=6, Locals=7, Args_size=1 0: aconst_null 1: astore_2 2: jsr 18 5: aconst_null 6: astore 4 8: jsr 41 11: aconst_null 12: astore 6 14: jsr 64 17: return 18: astore_1 19: aload_0 20: getfield #85; //Field org/apache/tapestry/corelib/components/Grid._$empty_invariant:Z 23: ifne 39 26: aload_0 27: aload_0 28: getfield #89; //Field org/apache/tapestry/corelib/components/Grid._$empty_default:Lorg/apache/tapestry/Block; 31: putfield #92; //Field org/apache/tapestry/corelib/components/Grid._empty:Lorg/apache/tapestry/Block; 34: aload_0 35: iconst_0 36: putfield #95; //Field org/apache/tapestry/corelib/components/Grid._$empty_cached:Z 39: ret 1 41: astore_3 42: aload_0 43: getfield #98; //Field org/apache/tapestry/corelib/components/Grid._$model_invariant:Z 46: ifne 62 49: aload_0 50: aload_0 51: getfield #102; //Field org/apache/tapestry/corelib/components/Grid._$model_default:Lorg/apache/tapestry/grid/GridDataModel; 54: putfield #105; //Field org/apache/tapestry/corelib/components/Grid._model:Lorg/apache/tapestry/grid/GridDataModel; 57: aload_0 58: iconst_0 59: putfield #108; //Field org/apache/tapestry/corelib/components/Grid._$model_cached:Z 62: ret 3 64: astore 5 66: aload_0 67: getfield #111; //Field org/apache/tapestry/corelib/components/Grid._$source_invariant:Z 70: ifne 86 73: aload_0 74: aload_0 75: getfield #115; //Field org/apache/tapestry/corelib/components/Grid._$source_default:Lorg/apache/tapestry/grid/GridDataSource; 78: putfield #118; //Field org/apache/tapestry/corelib/components/Grid._source:Lorg/apache/tapestry/grid/GridDataSource; 81: aload_0 82: iconst_0 83: putfield #121; //Field org/apache/tapestry/corelib/components/Grid._$source_cached:Z 86: ret 5 public void beforeRenderTemplate(org.apache.tapestry.MarkupWriter, org.apache.tapestry.runtime.Event); Code: Stack=0, Locals=3, Args_size=3 0: return public void afterRenderTemplate(org.apache.tapestry.MarkupWriter, org.apache.tapestry.runtime.Event); Code: Stack=0, Locals=3, Args_size=3 0: return public void beforeRenderBody(org.apache.tapestry.MarkupWriter, org.apache.tapestry.runtime.Event); Code: Stack=0, Locals=3, Args_size=3 0: return public void afterRenderBody(org.apache.tapestry.MarkupWriter, org.apache.tapestry.runtime.Event); Code: Stack=0, Locals=3, Args_size=3 0: return public void afterRender(org.apache.tapestry.MarkupWriter, org.apache.tapestry.runtime.Event); Code: Stack=0, Locals=3, Args_size=3 0: return public void cleanupRender(org.apache.tapestry.MarkupWriter, org.apache.tapestry.runtime.Event); Code: Stack=0, Locals=3, Args_size=3 0: return public boolean handleComponentEvent(org.apache.tapestry.runtime.ComponentEvent); Code: Stack=1, Locals=2, Args_size=2 0: iconst_0 1: ireturn public void containingPageDidLoad(); Code: Stack=14, Locals=9, Args_size=1 0: aconst_null 1: astore_2 2: jsr 24 5: aconst_null 6: astore 4 8: jsr 35 11: aconst_null 12: astore 6 14: jsr 103 17: aconst_null 18: astore 8 20: jsr 160 23: return 24: astore_1 25: aload_0 26: aload_0 27: getfield #135; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 30: putfield #137; //Field org/apache/tapestry/corelib/components/Grid._resources:Lorg/apache/tapestry/ComponentResources; 33: ret 1 35: astore_3 36: aload_0 37: getfield #139; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 40: ldc #141; //String empty 42: invokeinterface #145, 2; //InterfaceMethod org/apache/tapestry/ComponentResources.isBound:(Ljava/lang/String;)Z 47: ifne 78 50: aload_0 51: getfield #147; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 54: ldc #148; //String empty 56: aload_0 57: getfield #152; //Field org/apache/tapestry/corelib/components/Grid._$bindingSource:Lorg/apache/tapestry/services/BindingSource; 60: ldc #154; //String default empty 62: aload_0 63: getfield #156; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 66: ldc #158; //String block:empty 68: invokeinterface #164, 4; //InterfaceMethod org/apache/tapestry/services/BindingSource.newBinding:(Ljava/lang/String;Lorg/apache/tapestry/ComponentResources;Ljava/lang/String;)Lorg/apache/tapestry/Binding; 73: invokeinterface #170, 3; //InterfaceMethod org/apache/tapestry/internal/InternalComponentResourcesCommon.bindParameter:(Ljava/lang/String;Lorg/apache/tapestry/Binding;)V 78: aload_0 79: aload_0 80: getfield #172; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 83: ldc #173; //String empty 85: invokeinterface #178, 2; //InterfaceMethod org/apache/tapestry/internal/InternalComponentResources.isInvariant:(Ljava/lang/String;)Z 90: putfield #180; //Field org/apache/tapestry/corelib/components/Grid._$empty_invariant:Z 93: aload_0 94: aload_0 95: getfield #182; //Field org/apache/tapestry/corelib/components/Grid._empty:Lorg/apache/tapestry/Block; 98: putfield #184; //Field org/apache/tapestry/corelib/components/Grid._$empty_default:Lorg/apache/tapestry/Block; 101: ret 3 103: astore 5 105: aload_0 106: getfield #186; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 109: ldc_w #188; //String model 112: invokeinterface #190, 2; //InterfaceMethod org/apache/tapestry/ComponentResources.isBound:(Ljava/lang/String;)Z 117: ifne 134 120: ldc_w #191; //String model 123: aload_0 124: getfield #193; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 127: aload_0 128: invokevirtual #195; //Method org/apache/tapestry/corelib/components/Grid.defaultModel:()Lorg/apache/tapestry/Binding; 131: invokestatic #201; //Method org/apache/tapestry/internal/services/ParameterWorker.bind:(Ljava/lang/String;Lorg/apache/tapestry/internal/InternalComponentResources;Ljava/lang/Object;)V 134: aload_0 135: aload_0 136: getfield #203; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 139: ldc_w #204; //String model 142: invokeinterface #206, 2; //InterfaceMethod org/apache/tapestry/internal/InternalComponentResources.isInvariant:(Ljava/lang/String;)Z 147: putfield #208; //Field org/apache/tapestry/corelib/components/Grid._$model_invariant:Z 150: aload_0 151: aload_0 152: getfield #210; //Field org/apache/tapestry/corelib/components/Grid._model:Lorg/apache/tapestry/grid/GridDataModel; 155: putfield #212; //Field org/apache/tapestry/corelib/components/Grid._$model_default:Lorg/apache/tapestry/grid/GridDataModel; 158: ret 5 160: astore 7 162: aload_0 163: aload_0 164: getfield #214; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 167: ldc_w #216; //String source 170: invokeinterface #218, 2; //InterfaceMethod org/apache/tapestry/internal/InternalComponentResources.isInvariant:(Ljava/lang/String;)Z 175: putfield #220; //Field org/apache/tapestry/corelib/components/Grid._$source_invariant:Z 178: aload_0 179: aload_0 180: getfield #222; //Field org/apache/tapestry/corelib/components/Grid._source:Lorg/apache/tapestry/grid/GridDataSource; 183: putfield #224; //Field org/apache/tapestry/corelib/components/Grid._$source_default:Lorg/apache/tapestry/grid/GridDataSource; 186: ret 7 public void containingPageDidDetach(); Code: Stack=0, Locals=1, Args_size=1 0: return public void containingPageDidAttach(); Code: Stack=0, Locals=1, Args_size=1 0: return public final org.apache.tapestry.ComponentResources getComponentResources(); Code: Stack=1, Locals=1, Args_size=1 0: aload_0 1: getfield #229; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 4: areturn private void _$write_modelSource(org.apache.tapestry.services.GridDataModelSource); Code: Stack=3, Locals=2, Args_size=2 0: new #233; //class java/lang/RuntimeException 3: dup 4: ldc #235; //String Field org.apache.tapestry.corelib.components.Grid._modelSource is read-only. 6: invokespecial #238; //Method java/lang/RuntimeException."<init>":(Ljava/lang/String;)V 9: athrow private void _$write_resources(org.apache.tapestry.ComponentResources); Code: Stack=3, Locals=2, Args_size=2 0: new #233; //class java/lang/RuntimeException 3: dup 4: ldc #242; //String Field org.apache.tapestry.corelib.components.Grid._resources is read-only. 6: invokespecial #244; //Method java/lang/RuntimeException."<init>":(Ljava/lang/String;)V 9: athrow public void render(org.apache.tapestry.MarkupWriter, org.apache.tapestry.runtime.RenderQueue); Code: Stack=2, Locals=3, Args_size=3 0: aload_0 1: getfield #248; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 4: aload_2 5: invokeinterface #252, 2; //InterfaceMethod org/apache/tapestry/internal/InternalComponentResourcesCommon.queueRender:(Lorg/apache/tapestry/runtime/RenderQueue;)V 10: return private org.apache.tapestry.Block _$read_parameter_empty(); Code: Stack=3, Locals=2, Args_size=1 0: aload_0 1: getfield #254; //Field org/apache/tapestry/corelib/components/Grid._$empty_cached:Z 4: ifne 19 7: aload_0 8: getfield #256; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 11: invokeinterface #260, 1; //InterfaceMethod org/apache/tapestry/internal/InternalComponentResourcesCommon.isLoaded:()Z 16: ifne 22 19: goto 37 22: aload_0 23: getfield #262; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 26: ldc_w #263; //String empty 29: invokeinterface #265, 2; //InterfaceMethod org/apache/tapestry/ComponentResources.isBound:(Ljava/lang/String;)Z 34: ifne 42 37: aload_0 38: getfield #267; //Field org/apache/tapestry/corelib/components/Grid._empty:Lorg/apache/tapestry/Block; 41: areturn 42: aload_0 43: getfield #269; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 46: ldc_w #270; //String empty 49: ldc_w #271; //String Lorg/apache/tapestry/Block; 52: invokestatic #277; //Method javassist/runtime/Desc.getType:(Ljava/lang/String;)Ljava/lang/Class; 55: invokeinterface #281, 3; //InterfaceMethod org/apache/tapestry/internal/InternalComponentResources.readParameter:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object; 60: checkcast #283; //class org/apache/tapestry/Block 63: checkcast #283; //class org/apache/tapestry/Block 66: astore_1 67: aload_0 68: getfield #285; //Field org/apache/tapestry/corelib/components/Grid._$empty_invariant:Z 71: ifne 86 74: aload_0 75: getfield #287; //Field org/apache/tapestry/corelib/components/Grid._$resources:Lorg/apache/tapestry/internal/InternalComponentResources; 78: invokeinterface #292, 1; //InterfaceMethod org/apache/tapestry/ComponentResourcesCommon.isRendering:()Z 83: ifeq 96 86: aload_0 87: aload_1 88: putfield #294; //Field org/apache/tapestry/corelib/components/Grid._empty:Lorg/apache/tapestry/Block; 91: aload_0 92: iconst_1 93: putfield #296; //Field org/apache/tapestry/corelib/components/Grid._$empty_cached:Z 96: aload_1 97: areturn private void _$update_parameter_empty(org.apache.tapestry