system/src/sc/lang/java/NewExpression.java
public NewExpression deepCopy(int options, IdentityHashMap<Object, Object> oldNewMap) {
      NewExpression expr = (NewExpression) super.deepCopy(options, oldNewMap);
      if ((options & CopyState) != 0) {
         expr.anonType = anonType;
         expr.anonTypeInited = anonTypeInited;
         expr.anonId = anonId;
         expr.boundTypeName = boundTypeName;
         expr.boundType = boundType;
         expr.anonTypeTransformed = anonTypeTransformed;
         expr.classPropertyName = classPropertyName;
      }

      if ((options & CopyInitLevels) != 0) {
         expr.constructor = constructor;
         expr.classPropertyName = classPropertyName;
         expr.isStaticContext = isStaticContext;
         expr.boundType = boundType;
         expr.boundTypeName = boundTypeName;
         expr.anonTypeTransformed = anonTypeTransformed;
         expr.anonType = anonType;
         expr.anonTypeInited = anonTypeInited;
         expr.anonId = anonId;
      }
      return expr;
   }
/* By default, when cloning NewExpressions, do not create a new enclosing type.  Use the old one.  In JS generation, we are cloning a method which shares the enclosing type - so we end up with two NewExprs, using the same enclosing type which really refer to the same inner type.  Maybe this is not always a great idea though? */
By default, when cloning NewExpressions, do not create a new enclosing type.  Use the old one.  In JS generation, we are cloning a method which shares the enclosing type - so we end up with two NewExprs, using the same enclosing type which really refer to the same inner type.
By default when cloning NewExpressions do not create a new enclosing type . Use the old one . In JS generation we are cloning a method which shares the enclosing type - so we end up with two NewExprs using the same enclosing type which really refer to the same inner type .
public NewExpression deepCopy(int options, IdentityHashMap<Object, Object> oldNewMap) {
      NewExpression expr = (NewExpression) super.deepCopy(options, oldNewMap);
      if ((options & CopyState) != 0) {
         expr.anonType = anonType;
         expr.anonTypeInited = anonTypeInited;
         expr.anonId = anonId;
         expr.boundTypeName = boundTypeName;
         expr.boundType = boundType;
         expr.anonTypeTransformed = anonTypeTransformed;
         expr.classPropertyName = classPropertyName;
      }
      if ((options & CopyInitLevels) != 0) {
         expr.constructor = constructor;
         expr.classPropertyName = classPropertyName;
         expr.isStaticContext = isStaticContext;
         expr.boundType = boundType;
         expr.boundTypeName = boundTypeName;
         expr.anonTypeTransformed = anonTypeTransformed;
         expr.anonType = anonType;
         expr.anonTypeInited = anonTypeInited;
         expr.anonId = anonId;
      }
      return expr;
   }
public NewExpression deepCopy ( int options , IdentityHashMap < Object , Object > oldNewMap ) { NewExpression expr = ( NewExpression ) super . deepCopy ( options , oldNewMap ) ; if ( ( options & CopyState ) != 0 ) { expr . anonType = anonType ; expr . anonTypeInited = anonTypeInited ; expr . anonId = anonId ; expr . boundTypeName = boundTypeName ; expr . boundType = boundType ; expr . anonTypeTransformed = anonTypeTransformed ; expr . classPropertyName = classPropertyName ; } if ( ( options & CopyInitLevels ) != 0 ) { expr . constructor = constructor ; expr . classPropertyName = classPropertyName ; expr . isStaticContext = isStaticContext ; expr . boundType = boundType ; expr . boundTypeName = boundTypeName ; expr . anonTypeTransformed = anonTypeTransformed ; expr . anonType = anonType ; expr . anonTypeInited = anonTypeInited ; expr . anonId = anonId ; } return expr ; }
By default, when cloning NewExpressions, do not create a new enclosing type.
By default when cloning NewExpressions do not create a new enclosing type .