GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing github.com — Nested classes wipe the outer class's field refinements · Issue #317 · liquid-java/liquidjava Closed Labels bugSomething isn't workingSomething isn't working DescriptionDescription Entering a nested class resets the variable context, which wipes the outer class's fields. Any method of the outer class declared after a nested class loses the refinements of the outer class's own fields. Minimal reproducer import liquidjava.specification.Refinement; public class OuterWiped { @Refinement("_ > 0") int x = 1; static class Inner { int y; } @Refinement("_ > 0") public int get() { return x; } } Expected
Actual Removing Cause
Possible fix When a class is entered, register all of its fields (and those of its nested types) before visiting any methods, and keep nested classes from clearing the enclosing class's context. This would probably also fix the read case above. Reproduced on Activity
MetadataMetadataAssigneesLabelsbugSomething isn't workingSomething isn't working TypeProjectsMilestoneRelationshipsDevelopmentIssue actions |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |