64 |
64 |
65 /** A record of the lint/SuppressWarnings currently in effect |
65 /** A record of the lint/SuppressWarnings currently in effect |
66 */ |
66 */ |
67 Lint lint; |
67 Lint lint; |
68 |
68 |
|
69 /** The variable whose initializer is being attributed |
|
70 * useful for detecting self-references in variable initializers |
|
71 */ |
|
72 Symbol enclVar = null; |
|
73 |
69 /** Duplicate this context, replacing scope field and copying all others. |
74 /** Duplicate this context, replacing scope field and copying all others. |
70 */ |
75 */ |
71 AttrContext dup(Scope scope) { |
76 AttrContext dup(Scope scope) { |
72 AttrContext info = new AttrContext(); |
77 AttrContext info = new AttrContext(); |
73 info.scope = scope; |
78 info.scope = scope; |
75 info.isSelfCall = isSelfCall; |
80 info.isSelfCall = isSelfCall; |
76 info.selectSuper = selectSuper; |
81 info.selectSuper = selectSuper; |
77 info.varArgs = varArgs; |
82 info.varArgs = varArgs; |
78 info.tvars = tvars; |
83 info.tvars = tvars; |
79 info.lint = lint; |
84 info.lint = lint; |
|
85 info.enclVar = enclVar; |
80 return info; |
86 return info; |
81 } |
87 } |
82 |
88 |
83 /** Duplicate this context, copying all fields. |
89 /** Duplicate this context, copying all fields. |
84 */ |
90 */ |