< prev index next >

src/jdk.rmic/share/classes/sun/tools/tree/Expression.java

Print this page

        

*** 208,219 **** type = Type.tError; return vset; } /** ! * Return a <code>FieldUpdater</code> object to be used in updating the ! * value of the location denoted by <code>this</code>, which must be an * expression suitable for the left-hand side of an assignment. * This is used for implementing assignments to private fields for which * an access method is required. Returns null if no access method is * needed, in which case the assignment is handled in the usual way, by * direct access. Only simple assignment expressions are handled here --- 208,219 ---- type = Type.tError; return vset; } /** ! * Return a {@code FieldUpdater} object to be used in updating the ! * value of the location denoted by {@code this}, which must be an * expression suitable for the left-hand side of an assignment. * This is used for implementing assignments to private fields for which * an access method is required. Returns null if no access method is * needed, in which case the assignment is handled in the usual way, by * direct access. Only simple assignment expressions are handled here
*** 226,237 **** public FieldUpdater getAssigner(Environment env, Context ctx) { throw new CompilerError("getAssigner lhs"); } /** ! * Return a <code>FieldUpdater</code> object to be used in updating the value of the ! * location denoted by <code>this</code>, which must be an expression suitable for the * left-hand side of an assignment. This is used for implementing the assignment * operators and the increment/decrement operators on private fields that require an * access method, e.g., uplevel from an inner class. Returns null if no access method * is needed. * <p> --- 226,237 ---- public FieldUpdater getAssigner(Environment env, Context ctx) { throw new CompilerError("getAssigner lhs"); } /** ! * Return a {@code FieldUpdater} object to be used in updating the value of the ! * location denoted by {@code this}, which must be an expression suitable for the * left-hand side of an assignment. This is used for implementing the assignment * operators and the increment/decrement operators on private fields that require an * access method, e.g., uplevel from an inner class. Returns null if no access method * is needed. * <p>
*** 258,270 **** * <nl> * <li> a variable name followed by fields or types * <li> a type name followed by fields or types * <li> a package name followed a type and then fields or types * </nl> ! * If a type name is found, it rewrites itself as a <tt>TypeExpression</tt>. * If a node decides it can only be a package prefix, it sets its ! * type to <tt>Type.tPackage</tt>. The caller must detect this * and act appropriately to verify the full package name. * @arg loc the expression containing the ambiguous expression */ public Vset checkAmbigName(Environment env, Context ctx, Vset vset, Hashtable<Object, Object> exp, UnaryExpression loc) { --- 258,270 ---- * <nl> * <li> a variable name followed by fields or types * <li> a type name followed by fields or types * <li> a package name followed a type and then fields or types * </nl> ! * If a type name is found, it rewrites itself as a {@code TypeExpression}. * If a node decides it can only be a package prefix, it sets its ! * type to {@code Type.tPackage}. The caller must detect this * and act appropriately to verify the full package name. * @arg loc the expression containing the ambiguous expression */ public Vset checkAmbigName(Environment env, Context ctx, Vset vset, Hashtable<Object, Object> exp, UnaryExpression loc) {
< prev index next >