merge the formfield patch from ooo-build
[ooovba.git] / basic / source / inc / disas.hxx
blob3295c4b41db71e84bbc3d81d73da4a2c945eb051
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: disas.hxx,v $
10 * $Revision: 1.8 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef _DISAS_HXX
32 #define _DISAS_HXX
34 #include "image.hxx"
35 #include "opcodes.hxx"
36 // find a place for this limit ( also used in
37 class SvStream;
38 #define MAX_LABELS 0x2000L
39 class SbiDisas {
40 const SbiImage& rImg;
41 SbModule* pMod;
42 char cLabels[ MAX_LABELS ]; // Bitvektor fuer Labels
43 UINT32 nOff; // aktuelle Position
44 UINT32 nPC; // Position des Opcodes
45 SbiOpcode eOp; // Opcode
46 UINT32 nOp1, nOp2; // Operanden
47 UINT32 nParts; // 1, 2 oder 3
48 UINT32 nLine; // aktuelle Zeile
49 BOOL DisasLine( String& );
50 BOOL Fetch(); // naechster Opcode
51 public:
52 SbiDisas( SbModule*, const SbiImage* );
53 void Disas( SvStream& );
54 void Disas( String& );
55 // NICHT AUFRUFEN
56 void StrOp( String& );
57 void Str2Op( String& );
58 void ImmOp( String& );
59 void OnOp( String& );
60 void LblOp( String& );
61 void ReturnOp( String& );
62 void ResumeOp( String& );
63 void PromptOp( String& );
64 void CloseOp( String& );
65 void CharOp( String& );
66 void VarOp( String& );
67 void VarDefOp( String& );
68 void OffOp( String& );
69 void TypeOp( String& );
70 void CaseOp( String& );
71 void StmntOp( String& );
72 void StrmOp( String& );
75 #endif