// Copyright 2014 the V8 project authors. All rights reserved.// Use of this source code is governed by a BSD-style license that can be// found in the LICENSE file.(functionf(){assertEquals("function",typeoff);})();(functionf(){varf;// Variable shadows function name.assertEquals("undefined",typeoff);})();(functionf(){varf;assertEquals("undefined",typeoff);with({});// Force context allocation of both variable and function name.})();assertEquals("undefined",typeoff);// var initialization is intercepted by with scope.(function(){varo={a:1};with(o){vara=2;}assertEquals("undefined",typeofa);assertEquals(2,o.a);})();