Update procedures
[shapes.git] / source / Shapes_Kernel_decls.h
blob2e4aa9a90c2427790c9f68b9e4acad22060cdb5f
1 /* This file is part of Shapes.
3 * Shapes is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
6 * any later version.
8 * Shapes is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with Shapes. If not, see <http://www.gnu.org/licenses/>.
16 * Copyright 2008, 2009 Henrik Tidefelt
19 #pragma once
21 #include "refcount.h"
23 #include "Shapes_Lang_decls.h"
25 #include <set>
28 namespace Shapes
30 namespace Kernel
33 typedef RefCountPtr< const Lang::Value > ValueRef;
35 class Variable;
36 typedef RefCountPtr< Variable > VariableHandle;
38 class State;
39 typedef State * StateHandle;
41 class Continuation;
42 typedef RefCountPtr< Continuation > ContRef;
44 class Environment;
45 typedef Environment * PassedEnv;
46 typedef std::set< Environment * > GCMarkedSet;
48 class DynamicEnvironment;
49 typedef RefCountPtr< DynamicEnvironment > PassedDyn;
51 class SystemDynamicVariables;
52 typedef size_t DynamicEnvironmentKeyType;
54 class EvalState;
55 class PageContentStates;
56 class GraphicsState;
57 class FacetState;
58 class TextState;
60 class Formals;
61 class EvaluatedFormals;
63 class StoreVariableContinuation;
64 class StmtStoreVariableContinuation;
66 class Arguments;
68 class CallContInfo;
69 class CodeBracketContInfo;
71 class Thunk;
72 class SpanThunks;
74 class Warm;
75 class WarmGroup2D;
76 class WarmRandomDevice;
78 class PolarHandlePromise;
80 class TeXLabelManager;
82 class DebugLog;
84 class MethodFactoryBase;
86 class Node;
87 class Edge;
89 class BreakpointInfo;
91 void registerMutators( );
92 void registerGlobals( Kernel::Environment * env );
93 void registerDynamic( Kernel::Environment * env );
94 void registerHot( Kernel::Environment * env );
95 void registerClasses( Kernel::Environment * env );
97 void registerCore_elem( Kernel::Environment * env );
98 void registerCore_point( Kernel::Environment * env );
99 void registerCore_path( Kernel::Environment * env );
100 void registerCore_draw( Kernel::Environment * env );
101 void registerCore_construct( Kernel::Environment * env );
102 void registerCore_font( Kernel::Environment * env );
103 void registerCore_misc( Kernel::Environment * env );
104 void registerCore_sort( Kernel::Environment * env );
105 void registerCore_state( Kernel::Environment * env );
106 void registerCore_annotation( Kernel::Environment * env );
107 void registerCore_decomp( Kernel::Environment * env );