#include "Val.H"#include "Expr.H"#include "Parser.H"#include "Location.H"#include "ModelState.H"#include "PrimRunTool.H"#include "Files.H"#include "Debug.H"#include <CacheC.H>#include <VestaSource.H>#include <UniqueId.H>#include <sys/types.h>#include <sys/stat.h>#include <BufStream.H>Include dependency graph for Val.C:

Go to the source code of this file.
| Context AddStmtAssocs | ( | StmtListEC * | assocs, | |
| const Context & | c | |||
| ) |
Definition at line 2755 of file Val.C.
References AssignAssoc(), AssignEK, OS::cio(), StmtListEC::elems, OS::ThreadIO::end_err(), Error(), ErrorDetail(), ErrorExpr(), IterateEC::Eval(), Sequence< Elem, elem_ptrfree >::get(), IterateAssoc(), IterateEK, ExprC::loc, Sequence< Elem, elem_ptrfree >::size(), OS::ThreadIO::start_err(), TryEK, and TypedEK.
Referenced by BlockEC::Eval(), and IterateAssoc().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2605 of file Val.C.
References ListT< Value >::Append1D(), ExprC::Eval(), ExprC::freeVars, NEW_CONSTR, and RestrictContext().
Referenced by BindingEC::Eval().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2666 of file Val.C.
References BaseTEK, BindingTEK, ExprC::Eval(), ExprC::freeVars, FuncTEK, NameEC::id, AssignEC::isFunc, ExprC::kind, AssignEC::lhs, ListTEK, NEW_CONSTR, ListT< Value >::Push(), RestrictContext(), and AssignEC::rhs.
Referenced by AddStmtAssocs().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1398 of file Val.C.
References BindingVK, ValC::dps, DepPathTbl::DPS::Empty(), DepPathTbl::DPS::Intersection(), ListT< Value >::Length(), ListVK, min(), NEW_ARRAY, ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), SharedTable< K, V >::T::Size(), DepPathTbl::DPS::Union(), and ValC::vKind.
Referenced by LetDpnd().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1547 of file Val.C.
References DepPathTbl::DPS::AddExtend(), BangPK, BindingVC::DefinedNoDpnd(), SharedTable< K, V >::KVPair::key, BindingVC::lenDps, SharedTable< K, V >::Iterator::Next(), ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), SharedTable< K, V >::KVPair::val, valFalse, and valTrue.
Referenced by CollectDpnd().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1654 of file Val.C.
References ArcInt(), BangPK, BindingVK, BLenPK, OS::cio(), ClosureVK, CollectDefined(), CollectLookup(), ClosureVC::con, DepPath::content, ValC::dps, ValC::dpsVersion, BindingVC::elems, Error(), DepPath::Extend(), DepPath::ExtendLow(), InternalError(), SharedTable< K, V >::KVPair::key, ListVK, LLenPK, NormPK, ListT< Value >::Nth(), ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), DepPath::Print(), ValC::PrintD(), SharedTable< K, V >::T::Put(), SharedTable< K, V >::T::Size(), DepPath::Size(), OS::ThreadIO::start_err(), TypePK, DepPathTbl::DPS::Union(), SharedTable< K, V >::KVPair::val, valTBinding, ValueDpnd(), and ValC::vKind.
Referenced by CollectFunc(), CollectLet(), and CollectModel().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2289 of file Val.C.
References CollectDpnd(), DepPath::content, DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, SharedTable< K, V >::KVPair::key, NEW, SharedTable< K, V >::Iterator::Next(), ListT< Value >::Null(), ListT< Value >::Pop(), SharedTable< K, V >::T::Put(), SharedTable< K, V >::T::Size(), DepPathTbl::DPS::Union(), and SharedTable< K, V >::KVPair::val.
Here is the call graph for this function:

Definition at line 1993 of file Val.C.
References DepPathTbl::DPS::Add(), CollectDpnd(), CollectFuncS(), DepPath::content, ValC::Copy(), DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, ExprPK, SharedTable< K, V >::KVPair::key, ValC::MergeDPS(), NEW, SharedTable< K, V >::Iterator::Next(), ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), ListT< Value >::Push(), SharedTable< K, V >::T::Put(), DepPathTbl::DPS::Union(), and SharedTable< K, V >::KVPair::val.
Referenced by CollectFuncS(), and FuncDpnd().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1944 of file Val.C.
References ListT< Value >::Append1D(), BindingVK, ClosureVK, CollectFunc(), ClosureVC::con, ListVC::elems, BindingVC::elems, ClosureVC::func, ListVC::lenDps, BindingVC::lenDps, ListVK, FuncEC::name, NEW_CONSTR, ListT< Value >::Null(), ListT< Value >::Pop(), and ValC::vKind.
Referenced by CollectFunc().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2238 of file Val.C.
References CollectDpnd(), DepPathTbl::DPS::ContainsPrefix(), DepPath::content, DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, emptyText, SharedTable< K, V >::KVPair::key, ValC::MergeDPS(), NEW, SharedTable< K, V >::Iterator::Next(), SharedTable< K, V >::T::Put(), SharedTable< K, V >::T::Size(), and DepPathTbl::DPS::Union().
Here is the call graph for this function:

Definition at line 1857 of file Val.C.
References CollectDpnd(), CollectLetS(), DepPathTbl::DPS::ContainsPrefix(), DepPath::content, ValC::Copy(), DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, emptyText, SharedTable< K, V >::KVPair::key, ValC::Merge(), ValC::MergeDPS(), NEW, SharedTable< K, V >::Iterator::Next(), ValC::path, SharedTable< K, V >::T::Put(), ValC::SizeOfDPS(), DepPathTbl::DPS::Union(), and SharedTable< K, V >::KVPair::val.
Referenced by CollectLetS(), and LetDpnd().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1804 of file Val.C.
References ListT< Value >::Append1D(), BindingVK, ClosureVK, CollectLet(), ClosureVC::con, ListVC::elems, BindingVC::elems, ClosureVC::func, ListVC::lenDps, BindingVC::lenDps, ListVK, FuncEC::name, NEW_CONSTR, ListT< Value >::Null(), ListT< Value >::Pop(), and ValC::vKind.
Referenced by CollectLet().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1574 of file Val.C.
References DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, BindingVC::elems, LookupInContext(), BindingVC::LookupNoDpnd(), path, ValC::path, and DepPathTbl::DPS::Union().
Referenced by CollectDpnd().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2345 of file Val.C.
References CollectDpnd(), DepPath::content, DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, SharedTable< K, V >::KVPair::key, nameDot, NEW, SharedTable< K, V >::Iterator::Next(), ListT< Value >::Nth(), SharedTable< K, V >::T::Put(), DepPathTbl::DPS::Union(), and SharedTable< K, V >::KVPair::val.
Here is the call graph for this function:

Definition at line 2180 of file Val.C.
References DepPathTbl::DPS::Add(), CollectDpnd(), CollectModelS(), DepPath::content, ValC::Copy(), DepPath::DeepCopy(), ValC::dps, ValC::dpsVersion, ExprPK, SharedTable< K, V >::KVPair::key, ValC::MergeDPS(), nameDot, NEW, NormPK, ListT< Value >::Nth(), ValC::path, SharedTable< K, V >::T::Put(), ValC::SizeOfDPS(), DepPathTbl::DPS::Union(), and SharedTable< K, V >::KVPair::val.
Referenced by CollectModelS(), and ModelDpnd().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2131 of file Val.C.
References ListT< Value >::Append1D(), BindingVK, ClosureVK, CollectModel(), ClosureVC::con, ListVC::elems, BindingVC::elems, ClosureVC::func, ListVC::lenDps, BindingVC::lenDps, ListVK, FuncEC::name, NEW_CONSTR, ListT< Value >::Null(), ListT< Value >::Pop(), and ValC::vKind.
Referenced by CollectModel().
Here is the call graph for this function:

Here is the caller graph for this function:

| void DeleteDuplicatePaths | ( | Val | v | ) |
Definition at line 1370 of file Val.C.
References BindingVK, DeleteDuplicatePathsInner(), ValC::dps, ListVK, ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), SharedTable< K, V >::T::Size(), and ValC::vKind.
Referenced by LetDpnd().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1331 of file Val.C.
References ValC::dps, SharedTable< K, V >::KVPair::key, DepPathTbl::DPS::Member(), NEW_CONSTR, SharedTable< K, V >::T::Put(), SharedTable< K, V >::T::Size(), and ValC::SizeOfDPS().
Referenced by DeleteDuplicatePaths().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2388 of file Val.C.
References ListT< Value >::Null(), nullAssoc, and ListT< Value >::Pop().
Referenced by AllFreeVarsBoundInContext(), BindingVC::Defined(), BindingVC::DefinedNoDpnd(), BindingEC::Eval(), Lookup(), LookupInContext(), Map(), ParMap(), Prune(), BindingVC::RecursiveOverlay(), RestrictContext(), and BindingVC::SimpleOverlay().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 121 of file Val.C.
References FP::Tag::ExtendRaw(), ListT< Value >::Null(), POLY_ONE, and ListT< Value >::Pop().
Here is the call graph for this function:

Definition at line 110 of file Val.C.
References FP::Tag::ExtendRaw(), ListT< Value >::Null(), FP::Tag::Permute(), POLY_ONE, and ListT< Value >::Pop().
Referenced by ClosureVC::FingerPrint().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2126 of file Val.C.
References CollectFunc().
Referenced by ApplicationFromCache().
Here is the call graph for this function:

Here is the caller graph for this function:

| bool IsEmptyBinding | ( | Val | v | ) |
Definition at line 1291 of file Val.C.
References BindingVK, and ValC::vKind.
Referenced by Append(), Defined(), EqualVal(), Lookup(), Minus(), Plus(), and PlusPlus().
Here is the caller graph for this function:

| bool IsEmptyList | ( | Val | v | ) |
Definition at line 1295 of file Val.C.
References ListVK, and ValC::vKind.
Referenced by Append(), EqualVal(), and Plus().
Here is the caller graph for this function:

| bool IsValFalse | ( | Val | v | ) |
Definition at line 1287 of file Val.C.
References BooleanVK, and ValC::vKind.
Referenced by And(), EqualVal(), IfEC::Eval(), Implies(), and NotEq().
Here is the caller graph for this function:

| bool IsValTrue | ( | Val | v | ) |
Definition at line 1283 of file Val.C.
References BooleanVK, and ValC::vKind.
Referenced by BindingAppend(), IfEC::Eval(), and Or().
Here is the caller graph for this function:

Definition at line 2687 of file Val.C.
References AddStmtAssocs(), BindingVK, BLenPK, IterateEC::body, OS::cio(), IterateEC::control, IterateEC::e, BindingVC::elems, emptyText, OS::ThreadIO::end_err(), Error(), ErrorVal(), StmtListEC::Eval(), PairEC::first, IntArc(), ExprC::kind, ListT< Value >::Length(), ListVK, LLenPK, NameEK, BindingVC::Names(), NEW_CONSTR, NormPK, ListT< Value >::Null(), ListT< Value >::Pop(), ListT< Value >::Push(), PairEC::second, OS::ThreadIO::start_err(), and ValC::vKind.
Referenced by AddStmtAssocs().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1922 of file Val.C.
References CanonicalDpnd(), CollectLet(), DeleteDuplicatePaths(), AssocVC::name, ListT< Value >::Null(), ListT< Value >::Pop(), and AssocVC::val.
Referenced by BlockEC::Eval().
Here is the call graph for this function:

Here is the caller graph for this function:

| Val Lookup | ( | Basics::uint16 | idx, | |
| const PrefixTbl & | tbl, | |||
| const Context & | c, | |||
| Val * | vals | |||
| ) |
Definition at line 2536 of file Val.C.
References PrefixTbl::Arc(), PrefixTbl::endMarker, Lookup(), LookupArc(), LookupInContext(), PrefixTbl::PrefixIndex(), UnbndVK, valUnbnd, and ValC::vKind.
Here is the call graph for this function:

Definition at line 2405 of file Val.C.
References ArcInt(), BindingVK, ClosureVK, ListVK, LookupInContext(), valUnbnd, and ValC::vKind.
Referenced by Lookup(), and LookupPath().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2398 of file Val.C.
References FindInContext(), and AssocVC::val.
Referenced by BindRunToolArgs(), CollectLookup(), NameEC::Eval(), Lookup(), BindingVC::Lookup(), LookupArc(), BindingVC::LookupNoDpnd(), and LookupPath().
Here is the call graph for this function:

Here is the caller graph for this function:

| Val LookupPath | ( | Basics::uint16 | idx, | |
| PathKind | pkind, | |||
| const PrefixTbl & | tbl, | |||
| const Context & | c, | |||
| Val * | vals | |||
| ) |
Definition at line 2561 of file Val.C.
References PrefixTbl::Arc(), BangPK, BindingVK, BLenPK, ClosureVK, ExprPK, ListVK, LLenPK, Lookup(), ModelVK, NEW_CONSTR, PrefixTbl::PrefixIndex(), TypePK, valFalse, valTrue, ValType(), valUnbnd, and ValC::vKind.
Here is the call graph for this function:

| void ModelCutOff | ( | Val | v | ) |
Definition at line 1492 of file Val.C.
References BindingVK, ClosureVK, ClosureVC::con, DepPath::content, ValC::dps, BindingVC::elems, ListVC::elems, ClosureVC::func, BindingVC::lenDps, ListVC::lenDps, ListVK, ModelCutOff(), FuncEC::name, nameDot, ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), DepPathTbl::DPS::Restrict(), SharedTable< K, V >::T::Size(), ValC::SizeOfDPS(), and ValC::vKind.
Referenced by ModelCutOff(), ModelFromCache(), NamesTagsPickle(), and NormalModelFromCache().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2233 of file Val.C.
References CollectModel().
Referenced by ModelFromCache().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 150 of file Val.C.
References Indent(), ListT< Value >::Null(), and ListT< Value >::Pop().
Here is the call graph for this function:

| void PrintContext | ( | ostream & | os, | |
| const Context & | c, | |||
| bool | verbose, | |||
| int | indent | |||
| ) |
Definition at line 136 of file Val.C.
References Indent(), ListT< Value >::Null(), and ListT< Value >::Pop().
Referenced by AllFreeVarsBoundInContext(), Assert(), and NameEC::Eval().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2381 of file Val.C.
References ValC::PrintD(), and Basics::OBufStream::str().
Referenced by ConvertToBindElem().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2653 of file Val.C.
References ListT< Value >::Append1D(), FindInContext(), ListT< Value >::Null(), nullAssoc, and ListT< Value >::Pop().
Here is the call graph for this function:

Definition at line 2612 of file Val.C.
References ExprC::Eval(), ExprC::freeVars, NEW_CONSTR, ListT< Value >::Push(), and RestrictContext().
Referenced by ApplyModel(), BindApplicationArgs(), ModelEC::Eval(), and ProcessModelHead().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2619 of file Val.C.
References ListT< Value >::Append1D(), FindInContext(), ListT< Value >::Null(), nullAssoc, and ListT< Value >::Pop().
Referenced by AppendDToContext(), AssignAssoc(), FuncEC::Eval(), Map(), ParMap(), and PushToContext().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 2630 of file Val.C.
References ListT< Value >::Append1D(), AssocVC::name, ListT< Value >::Null(), and ListT< Value >::Pop().
Referenced by PickleC::PickleVal(), and BindingVC::RemoveBindingAssoc().
Here is the call graph for this function:

Here is the caller graph for this function:

| void ValInit | ( | ) |
Definition at line 2789 of file Val.C.
References ValInit_inner().
Referenced by StartEval().
Here is the call graph for this function:

Here is the caller graph for this function:

| void ValInit_inner | ( | ) |
Definition at line 2785 of file Val.C.
References conInitial, nameDot, NEW, NEW_CONSTR, and ListT< Value >::Push().
Referenced by ValInit().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1300 of file Val.C.
References BindingVK, BooleanVK, OS::cio(), ClosureVK, ErrorVK, IntegerVK, InternalError(), ListVK, ModelVK, PrimitiveVK, ValC::PrintD(), OS::ThreadIO::start_err(), TextVK, UnbndVK, valTBinding, valTBool, valTClosure, valTErr, valTInt, valTList, valTText, ValC::VError(), and ValC::vKind.
Referenced by ApplyEC::Eval(), SelectEC::Eval(), BindingEC::Eval(), ComputedEC::Eval(), IfEC::Eval(), IsType(), LookupPath(), ValC::MergeAndTypeDPS(), BindingVC::RecursiveOverlay(), and TypeOfVal().
Here is the call graph for this function:

Here is the caller graph for this function:

Definition at line 1592 of file Val.C.
References BindingVK, ClosureVK, ClosureVC::con, BindingVC::elems, ListVC::elems, ClosureVC::func, BindingVC::lenDps, ListVC::lenDps, ListVK, FuncEC::name, ListT< Value >::Null(), ValC::path, ListT< Value >::Pop(), SharedTable< K, V >::T::Put(), SharedTable< K, V >::T::Size(), DepPathTbl::DPS::Union(), ValueDpnd(), and ValC::vKind.
Referenced by CollectDpnd(), MergeArgsDpnd(), NamesTagsPickle(), and ValueDpnd().
Here is the call graph for this function:

Here is the caller graph for this function:

| FP::Tag bindingTag("Binding") |
Referenced by BindingVC::FingerPrint().
| FP::Tag booleanTag("Bool") |
Referenced by BooleanVC::FingerPrint().
| FP::Tag closureTag("Closure") |
Referenced by ClosureVC::FingerPrintExpr().
Definition at line 79 of file Val.C.
Referenced by ApplyFunction(), BindApplicationArgs(), ModelFromCache(), NormalModelFromCache(), ProcessModelHead(), and RunToolFromCache().
Referenced by ErrorVC::FingerPrint().
| FP::Tag integerTag("Int") |
Referenced by IntegerVC::FingerPrint().
Referenced by ListVC::FingerPrint().
Referenced by ModelVC::ModelVC().
Definition at line 56 of file Val.C.
Referenced by AllFreeVarsBoundInContext(), BindingVC::Defined(), BindingVC::DefinedNoDpnd(), BindingEC::Eval(), FindInContext(), Lookup(), Map(), ParMap(), Prune(), BindingVC::RecursiveOverlay(), RestrictContext(), and BindingVC::SimpleOverlay().
| FP::Tag primitiveTag("Prim") |
Referenced by PrimitiveVC::FingerPrint().
Referenced by TextVC::FingerPrint(), and TextVC::TextVC().
Referenced by UnbndVC::FingerPrint().
Definition at line 54 of file Val.C.
Referenced by BindingVC::GetElemNoDpnd(), and ListVC::GetElemNoDpnd().
Definition at line 52 of file Val.C.
Referenced by AddToNewStuff(), CollectDefined(), BindingVC::Defined(), SelectEC::Eval(), NameEC::Eval(), Evaluator_Dir_Server_Inner(), BindingVC::GetElem(), Lookup(), LookupPath(), Primary(), BindingVC::RecursiveOverlay(), and BindingVC::SimpleOverlay().
| Val valTBinding = NEW_CONSTR(TextVC, ("t_binding")) |
| Val valTClosure = NEW_CONSTR(TextVC, ("t_closure")) |
Definition at line 51 of file Val.C.
Referenced by CollectDefined(), BindingVC::Defined(), LookupPath(), Primary(), and PrimRunToolInit_inner().
Definition at line 55 of file Val.C.
Referenced by BindRunToolArgs(), Lookup(), LookupArc(), LookupPath(), RunTool(), RunToolPK(), and RunToolPKFromRoot().
1.5.1