AbsoluteLocationPath.java revision 286
286N/A * reserved comment block 286N/A * DO NOT REMOVE OR ALTER! 286N/A * Copyright 2001-2005 The Apache Software Foundation. 286N/A * Licensed under the Apache License, Version 2.0 (the "License"); 286N/A * you may not use this file except in compliance with the License. 286N/A * You may obtain a copy of the License at 286N/A * Unless required by applicable law or agreed to in writing, software 286N/A * distributed under the License is distributed on an "AS IS" BASIS, 286N/A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 286N/A * See the License for the specific language governing permissions and 286N/A * limitations under the License. 286N/A * @author Jacek Ambroziak 286N/A * @author Santiago Pericas-Geertsen 286N/A return "AbsoluteLocationPath(" +
286N/A // Compile relative path iterator(s) 286N/A // Backwards branches are prohibited if an uninitialized object is 286N/A // on the stack by section 4.9.4 of the JVM Specification, 2nd Ed. 286N/A // We don't know whether this code might contain backwards branches, 286N/A // so we mustn't create the new object until after we've created 286N/A // this argument to its constructor. Instead we calculate the 286N/A // value of the argument to the constructor first, store it in 286N/A // a temporary variable, create the object and reload the argument 286N/A // from the temporary to avoid the problem. 286N/A // Create new AbsoluteIterator 286N/A // Initialize AbsoluteIterator with iterator from the stack