65 if (instance == null) |
65 if (instance == null) |
66 instance = new Lower(context); |
66 instance = new Lower(context); |
67 return instance; |
67 return instance; |
68 } |
68 } |
69 |
69 |
70 private Names names; |
70 private final Names names; |
71 private Log log; |
71 private final Log log; |
72 private Symtab syms; |
72 private final Symtab syms; |
73 private Resolve rs; |
73 private final Resolve rs; |
74 private Check chk; |
74 private final Check chk; |
75 private Attr attr; |
75 private final Attr attr; |
76 private TreeMaker make; |
76 private TreeMaker make; |
77 private DiagnosticPosition make_pos; |
77 private DiagnosticPosition make_pos; |
78 private ClassWriter writer; |
78 private final ClassWriter writer; |
79 private ClassReader reader; |
79 private final ConstFold cfolder; |
80 private ConstFold cfolder; |
80 private final Target target; |
81 private Target target; |
81 private final Source source; |
82 private Source source; |
82 private final boolean allowEnums; |
83 private boolean allowEnums; |
|
84 private final Name dollarAssertionsDisabled; |
83 private final Name dollarAssertionsDisabled; |
85 private final Name classDollar; |
84 private final Name classDollar; |
86 private Types types; |
85 private final Types types; |
87 private boolean debugLower; |
86 private final boolean debugLower; |
88 private PkgInfo pkginfoOpt; |
87 private final PkgInfo pkginfoOpt; |
89 |
88 |
90 protected Lower(Context context) { |
89 protected Lower(Context context) { |
91 context.put(lowerKey, this); |
90 context.put(lowerKey, this); |
92 names = Names.instance(context); |
91 names = Names.instance(context); |
93 log = Log.instance(context); |
92 log = Log.instance(context); |
95 rs = Resolve.instance(context); |
94 rs = Resolve.instance(context); |
96 chk = Check.instance(context); |
95 chk = Check.instance(context); |
97 attr = Attr.instance(context); |
96 attr = Attr.instance(context); |
98 make = TreeMaker.instance(context); |
97 make = TreeMaker.instance(context); |
99 writer = ClassWriter.instance(context); |
98 writer = ClassWriter.instance(context); |
100 reader = ClassReader.instance(context); |
|
101 cfolder = ConstFold.instance(context); |
99 cfolder = ConstFold.instance(context); |
102 target = Target.instance(context); |
100 target = Target.instance(context); |
103 source = Source.instance(context); |
101 source = Source.instance(context); |
104 allowEnums = source.allowEnums(); |
102 allowEnums = source.allowEnums(); |
105 dollarAssertionsDisabled = names. |
103 dollarAssertionsDisabled = names. |