gitextract_sc8f7uqk/ ├── .claude/ │ └── settings.json ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ ├── maven.yml │ ├── ognl-3-4-x.yml │ ├── performance-baseline.yml │ ├── performance.yml │ └── sonar.yml ├── .gitignore ├── .mvn/ │ └── wrapper/ │ ├── MavenWrapperDownloader.java │ └── maven-wrapper.properties ├── CLAUDE.md ├── KEYS ├── LICENSE.txt ├── README.md ├── SECURITY.md ├── benchmarks/ │ ├── etc/ │ │ └── ognl-runtime-benchmark-baseline.json │ ├── pom.xml │ └── src/ │ └── main/ │ └── java/ │ └── ognl/ │ ├── DefaultMemberAccess.java │ ├── Run.java │ └── benchmarks/ │ ├── OgnlPerformanceBenchmarks.java │ └── OgnlRuntimePerformanceBenchmarks.java ├── docs/ │ ├── DeveloperGuide.md │ ├── ISSUE_103_ANALYSIS.md │ ├── LanguageGuide.md │ ├── NullSafeOperator.md │ ├── VersionNotes.md │ └── plans/ │ ├── ISSUE_18_COMPILED_MODE_PARITY.md │ └── JDK25_FORWARD_COMPATIBILITY.md ├── mvnw ├── mvnw.cmd ├── ognl/ │ ├── pom.xml │ └── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── ognl/ │ │ │ ├── ASTAdd.java │ │ │ ├── ASTAnd.java │ │ │ ├── ASTAssign.java │ │ │ ├── ASTBitAnd.java │ │ │ ├── ASTBitNegate.java │ │ │ ├── ASTBitOr.java │ │ │ ├── ASTChain.java │ │ │ ├── ASTConst.java │ │ │ ├── ASTCtor.java │ │ │ ├── ASTDivide.java │ │ │ ├── ASTEq.java │ │ │ ├── ASTEval.java │ │ │ ├── ASTGreater.java │ │ │ ├── ASTGreaterEq.java │ │ │ ├── ASTIn.java │ │ │ ├── ASTInstanceof.java │ │ │ ├── ASTKeyValue.java │ │ │ ├── ASTLess.java │ │ │ ├── ASTLessEq.java │ │ │ ├── ASTList.java │ │ │ ├── ASTMap.java │ │ │ ├── ASTMethod.java │ │ │ ├── ASTMultiply.java │ │ │ ├── ASTNegate.java │ │ │ ├── ASTNot.java │ │ │ ├── ASTNotEq.java │ │ │ ├── ASTNotIn.java │ │ │ ├── ASTOr.java │ │ │ ├── ASTProject.java │ │ │ ├── ASTProperty.java │ │ │ ├── ASTRemainder.java │ │ │ ├── ASTRootVarRef.java │ │ │ ├── ASTSelect.java │ │ │ ├── ASTSelectFirst.java │ │ │ ├── ASTSelectLast.java │ │ │ ├── ASTSequence.java │ │ │ ├── ASTShiftLeft.java │ │ │ ├── ASTShiftRight.java │ │ │ ├── ASTStaticField.java │ │ │ ├── ASTStaticMethod.java │ │ │ ├── ASTSubtract.java │ │ │ ├── ASTTest.java │ │ │ ├── ASTThisVarRef.java │ │ │ ├── ASTUnsignedShiftRight.java │ │ │ ├── ASTVarRef.java │ │ │ ├── ASTXor.java │ │ │ ├── AbstractMemberAccess.java │ │ │ ├── AccessibleObjectHandler.java │ │ │ ├── ArrayElementsAccessor.java │ │ │ ├── ArrayPropertyAccessor.java │ │ │ ├── BooleanExpression.java │ │ │ ├── ClassCacheInspector.java │ │ │ ├── ClassResolver.java │ │ │ ├── CollectionElementsAccessor.java │ │ │ ├── ComparisonExpression.java │ │ │ ├── DefaultClassResolver.java │ │ │ ├── DefaultTypeConverter.java │ │ │ ├── DynamicSubscript.java │ │ │ ├── ElementsAccessor.java │ │ │ ├── EnumerationElementsAccessor.java │ │ │ ├── EnumerationIterator.java │ │ │ ├── EnumerationPropertyAccessor.java │ │ │ ├── Evaluation.java │ │ │ ├── EvaluationPool.java │ │ │ ├── ExpressionNode.java │ │ │ ├── ExpressionSyntaxException.java │ │ │ ├── InappropriateExpressionException.java │ │ │ ├── IteratorElementsAccessor.java │ │ │ ├── IteratorEnumeration.java │ │ │ ├── IteratorPropertyAccessor.java │ │ │ ├── JJTOgnlParserState.java │ │ │ ├── JavaSource.java │ │ │ ├── ListPropertyAccessor.java │ │ │ ├── MapElementsAccessor.java │ │ │ ├── MapPropertyAccessor.java │ │ │ ├── MemberAccess.java │ │ │ ├── MethodAccessor.java │ │ │ ├── MethodFailedException.java │ │ │ ├── NoSuchPropertyException.java │ │ │ ├── Node.java │ │ │ ├── NodeType.java │ │ │ ├── NullHandler.java │ │ │ ├── NumberElementsAccessor.java │ │ │ ├── NumericCasts.java │ │ │ ├── NumericDefaults.java │ │ │ ├── NumericExpression.java │ │ │ ├── NumericLiterals.java │ │ │ ├── NumericTypes.java │ │ │ ├── NumericValues.java │ │ │ ├── ObjectElementsAccessor.java │ │ │ ├── ObjectIndexedPropertyDescriptor.java │ │ │ ├── ObjectMethodAccessor.java │ │ │ ├── ObjectNullHandler.java │ │ │ ├── ObjectPropertyAccessor.java │ │ │ ├── Ognl.java │ │ │ ├── OgnlCache.java │ │ │ ├── OgnlContext.java │ │ │ ├── OgnlException.java │ │ │ ├── OgnlOps.java │ │ │ ├── OgnlParserTreeConstants.java │ │ │ ├── OgnlRuntime.java │ │ │ ├── PrimitiveDefaults.java │ │ │ ├── PrimitiveTypes.java │ │ │ ├── PrimitiveWrapperClasses.java │ │ │ ├── PropertyAccessor.java │ │ │ ├── SetPropertyAccessor.java │ │ │ ├── SimpleNode.java │ │ │ ├── TypeConverter.java │ │ │ ├── enhance/ │ │ │ │ ├── ContextClassLoader.java │ │ │ │ ├── EnhancedClassLoader.java │ │ │ │ ├── ExpressionAccessor.java │ │ │ │ ├── ExpressionCompiler.java │ │ │ │ ├── LocalReference.java │ │ │ │ ├── OgnlExpressionCompiler.java │ │ │ │ ├── OgnlLocalReference.java │ │ │ │ ├── OrderedReturn.java │ │ │ │ └── UnsupportedCompilationException.java │ │ │ ├── internal/ │ │ │ │ ├── Cache.java │ │ │ │ ├── CacheException.java │ │ │ │ ├── CacheFactory.java │ │ │ │ ├── ClassCache.java │ │ │ │ ├── ClassCacheHandler.java │ │ │ │ ├── HashMapCache.java │ │ │ │ ├── HashMapCacheFactory.java │ │ │ │ ├── HashMapClassCache.java │ │ │ │ └── entry/ │ │ │ │ ├── CacheEntry.java │ │ │ │ ├── CacheEntryFactory.java │ │ │ │ ├── ClassCacheEntryFactory.java │ │ │ │ ├── DeclaredMethodCacheEntry.java │ │ │ │ ├── DeclaredMethodCacheEntryFactory.java │ │ │ │ ├── FieldCacheEntryFactory.java │ │ │ │ ├── GenericMethodParameterTypeCacheEntry.java │ │ │ │ ├── GenericMethodParameterTypeFactory.java │ │ │ │ ├── MethodAccessCacheEntryFactory.java │ │ │ │ ├── MethodAccessEntryValue.java │ │ │ │ ├── MethodCacheEntry.java │ │ │ │ ├── MethodCacheEntryFactory.java │ │ │ │ └── PropertyDescriptorCacheEntryFactory.java │ │ │ └── package.html │ │ ├── javacc/ │ │ │ └── ognl.jj │ │ └── jjtree/ │ │ └── ognl.jjt │ └── test/ │ └── java/ │ ├── ClassInDefaultPackage.java │ ├── com/ │ │ └── sun/ │ │ └── test/ │ │ └── AnotherInternalClass.java │ ├── ognl/ │ │ ├── DefaultMemberAccess.java │ │ ├── ExcludedObjectMemberAccess.java │ │ ├── ObjectPropertyAccessorTest.java │ │ ├── OgnlContextTest.java │ │ ├── OgnlRuntimeAccessibilityTest.java │ │ ├── OgnlRuntimeMethodsTest.java │ │ ├── OgnlRuntimeTest.java │ │ └── test/ │ │ ├── ASTChainTest.java │ │ ├── ASTMethodTest.java │ │ ├── ASTPropertyTest.java │ │ ├── ASTSequenceTest.java │ │ ├── ArithmeticAndLogicalOperatorsOnEnumsTest.java │ │ ├── ArithmeticAndLogicalOperatorsTest.java │ │ ├── ArrayCreationTest.java │ │ ├── ArrayElementsTest.java │ │ ├── ChainTest.java │ │ ├── ClassMethodTest.java │ │ ├── CollectionDirectPropertyTest.java │ │ ├── CompilingPropertyAccessor.java │ │ ├── ConstantTest.java │ │ ├── ConstantTreeTest.java │ │ ├── ContextRootPreservationTest.java │ │ ├── ContextVariableTest.java │ │ ├── CorrectedObjectNullHandler.java │ │ ├── DefaultClassResolverTest.java │ │ ├── DualModeEvaluationTest.java │ │ ├── GenericsTest.java │ │ ├── InExpressionTest.java │ │ ├── IndexAccessTest.java │ │ ├── IndexedPropertyTest.java │ │ ├── InheritedMethodsTest.java │ │ ├── InterfaceInheritanceTest.java │ │ ├── IsTruckTest.java │ │ ├── Issue286Test.java │ │ ├── Issue472CustomMethodAccessorTest.java │ │ ├── Java8Test.java │ │ ├── LambdaExpressionTest.java │ │ ├── MapCreationTest.java │ │ ├── MemberAccessTest.java │ │ ├── MethodTest.java │ │ ├── MethodWithConversionTest.java │ │ ├── NestedMethodTest.java │ │ ├── NullHandlerTest.java │ │ ├── NullRootTest.java │ │ ├── NullSafeCollectionTest.java │ │ ├── NullSafeCompilationTest.java │ │ ├── NullSafeIntegrationTest.java │ │ ├── NullSafeOperatorTest.java │ │ ├── NullStringCatenationTest.java │ │ ├── NumberFormatExceptionTest.java │ │ ├── NumericConversionTest.java │ │ ├── ObjectIndexedPropertyTest.java │ │ ├── ObjectIndexedTest.java │ │ ├── OgnlContextCreateTest.java │ │ ├── OgnlExceptionTest.java │ │ ├── OgnlOpsTest.java │ │ ├── OperationTest.java │ │ ├── OperatorTest.java │ │ ├── PackageKeywordTest.java │ │ ├── PrimitiveArrayTest.java │ │ ├── PrimitiveNullHandlingTest.java │ │ ├── PrivateAccessorTest.java │ │ ├── PrivateMemberTest.java │ │ ├── ProjectionSelectionTest.java │ │ ├── PropertyAccessorTest.java │ │ ├── PropertyArithmeticAndLogicalOperatorsTest.java │ │ ├── PropertySetterTest.java │ │ ├── PropertyTest.java │ │ ├── ProtectedInnerClassTest.java │ │ ├── ProtectedMemberTest.java │ │ ├── PublicMemberTest.java │ │ ├── QuotingTest.java │ │ ├── RaceConditionTest.java │ │ ├── SetterTest.java │ │ ├── SetterWithConversionTest.java │ │ ├── ShortCircuitingExpressionTest.java │ │ ├── SimpleNavigationChainTreeTest.java │ │ ├── SimplePropertyTreeTest.java │ │ ├── StaticsAndConstructorsTest.java │ │ ├── VarArgsMethodTest.java │ │ ├── accessors/ │ │ │ ├── ListPropertyAccessorTest.java │ │ │ └── PropertyAccessTest.java │ │ ├── enhance/ │ │ │ └── ExpressionCompilerTest.java │ │ ├── objects/ │ │ │ ├── BaseBean.java │ │ │ ├── BaseGeneric.java │ │ │ ├── BaseIndexed.java │ │ │ ├── BaseObjectIndexed.java │ │ │ ├── BaseSyntheticObject.java │ │ │ ├── Bean1.java │ │ │ ├── Bean2.java │ │ │ ├── Bean3.java │ │ │ ├── BeanProvider.java │ │ │ ├── BeanProviderAccessor.java │ │ │ ├── BeanProviderImpl.java │ │ │ ├── Component.java │ │ │ ├── ComponentImpl.java │ │ │ ├── ComponentSubclass.java │ │ │ ├── Copy.java │ │ │ ├── CorrectedObject.java │ │ │ ├── Cracker.java │ │ │ ├── Entry.java │ │ │ ├── EvenOdd.java │ │ │ ├── FirstBean.java │ │ │ ├── FormComponentImpl.java │ │ │ ├── FormImpl.java │ │ │ ├── GameGeneric.java │ │ │ ├── GameGenericObject.java │ │ │ ├── GenericCracker.java │ │ │ ├── GenericObject.java │ │ │ ├── GenericRoot.java │ │ │ ├── GenericService.java │ │ │ ├── GenericServiceImpl.java │ │ │ ├── GetterMethods.java │ │ │ ├── IComponent.java │ │ │ ├── IContentProvider.java │ │ │ ├── IForm.java │ │ │ ├── IFormComponent.java │ │ │ ├── ITreeContentProvider.java │ │ │ ├── Indexed.java │ │ │ ├── IndexedMapObject.java │ │ │ ├── IndexedSetObject.java │ │ │ ├── Inherited.java │ │ │ ├── ListSource.java │ │ │ ├── ListSourceImpl.java │ │ │ ├── MenuItem.java │ │ │ ├── Messages.java │ │ │ ├── MethodTestMethods.java │ │ │ ├── Model.java │ │ │ ├── MyMap.java │ │ │ ├── MyMapImpl.java │ │ │ ├── ObjectIndexed.java │ │ │ ├── OtherEnum.java │ │ │ ├── OtherObjectIndexed.java │ │ │ ├── PersonGenericObject.java │ │ │ ├── PropertyHolder.java │ │ │ ├── Root.java │ │ │ ├── SearchCriteria.java │ │ │ ├── SearchTab.java │ │ │ ├── SecondBean.java │ │ │ ├── SetterReturns.java │ │ │ ├── Simple.java │ │ │ ├── SimpleEnum.java │ │ │ ├── SimpleNumeric.java │ │ │ ├── StaticInterface.java │ │ │ ├── SubclassSyntheticObject.java │ │ │ ├── TestClass.java │ │ │ ├── TestImpl.java │ │ │ ├── TestInherited1.java │ │ │ ├── TestInherited2.java │ │ │ ├── TestModel.java │ │ │ ├── TreeContentProvider.java │ │ │ └── Two.java │ │ ├── race/ │ │ │ ├── Base.java │ │ │ ├── Person.java │ │ │ └── RaceTest.java │ │ └── util/ │ │ ├── ContextClassLoader.java │ │ ├── EnhancedClassLoader.java │ │ └── NameFactory.java │ └── sun/ │ └── test/ │ ├── PublicTestInterface.java │ └── SimulatedInternalClass.java ├── pom.xml └── renovate.json