diff options
Diffstat (limited to 'basic/source/comp/exprtree.cxx')
-rw-r--r-- | basic/source/comp/exprtree.cxx | 101 |
1 files changed, 44 insertions, 57 deletions
diff --git a/basic/source/comp/exprtree.cxx b/basic/source/comp/exprtree.cxx index 8cf48fd87b2d..1fa6140a0e3b 100644 --- a/basic/source/comp/exprtree.cxx +++ b/basic/source/comp/exprtree.cxx @@ -1,61 +1,35 @@ /************************************************************************* * - * $RCSfile: exprtree.cxx,v $ - * - * $Revision: 1.9 $ - * - * last change: $Author: hr $ $Date: 2005-09-29 12:46:41 $ - * - * The Contents of this file are made available subject to the terms of - * either of the following licenses - * - * - GNU Lesser General Public License Version 2.1 - * - Sun Industry Standards Source License Version 1.1 - * - * Sun Microsystems Inc., October, 2000 - * - * GNU Lesser General Public License Version 2.1 - * ============================================= - * Copyright 2000 by Sun Microsystems, Inc. - * 901 San Antonio Road, Palo Alto, CA 94303, USA + * OpenOffice.org - a multi-platform office productivity suite * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License version 2.1, as published by the Free Software Foundation. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, - * MA 02111-1307 USA + * $RCSfile: exprtree.cxx,v $ * + * $Revision: 1.10 $ * - * Sun Industry Standards Source License Version 1.1 - * ================================================= - * The contents of this file are subject to the Sun Industry Standards - * Source License Version 1.1 (the "License"); You may not use this file - * except in compliance with the License. You may obtain a copy of the - * License at http://www.openoffice.org/license.html. + * last change: $Author: hr $ $Date: 2005-09-29 16:35:53 $ * - * Software provided under this License is provided on an "AS IS" basis, - * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, - * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, - * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. - * See the License for the specific provisions governing your rights and - * obligations concerning the Software. + * The Contents of this file are made available subject to + * the terms of GNU Lesser General Public License Version 2.1. * - * The Initial Developer of the Original Code is: Sun Microsystems, Inc. * - * Copyright: 2000 by Sun Microsystems, Inc. + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2005 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA * - * All Rights Reserved. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. * - * Contributor(s): _______________________________________ + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA * ************************************************************************/ @@ -849,18 +823,31 @@ SbiParameters::SbiParameters( SbiParser* p, BOOL bConst, BOOL bPar) : // Benannte Argumente: entweder .name= oder name:= else { - pExpr = bConst ? new SbiConstExpression( pParser ) - : new SbiExpression( pParser ); - if( pParser->Peek() == ASSIGN ) + if( eTok == DOT ) { - // VBA mode: name:= - // SbiExpression::Term() hat einen String daraus gemacht - aName = pExpr->GetString(); - delete pExpr; + // VB mode: .name= pParser->Next(); - pExpr = new SbiExpression( pParser ); - if( bConst ) - pParser->Error( SbERR_SYNTAX ), bError = TRUE; + pParser->TestSymbol( TRUE ); // Keywords sind OK + aName = pParser->GetSym(); + pParser->TestToken( EQ ); + pExpr = bConst ? new SbiConstExpression( pParser ) + : new SbiExpression( pParser ); + } + else + { + pExpr = bConst ? new SbiConstExpression( pParser ) + : new SbiExpression( pParser ); + if( pParser->Peek() == ASSIGN ) + { + // VBA mode: name:= + // SbiExpression::Term() hat einen String daraus gemacht + aName = pExpr->GetString(); + delete pExpr; + pParser->Next(); + pExpr = new SbiExpression( pParser ); + if( bConst ) + pParser->Error( SbERR_SYNTAX ), bError = TRUE; + } } pExpr->GetName() = aName; } |