LLVM 20.0.0git
llvm::logicalview::LVScope Member List

This is the complete list of members for llvm::logicalview::LVScope, including all inherited members.

accessibilityString(uint32_t Access=dwarf::DW_ACCESS_private) constllvm::logicalview::LVElement
addElement(LVElement *Element)llvm::logicalview::LVScope
addElement(LVLine *Line)llvm::logicalview::LVScope
addElement(LVScope *Scope)llvm::logicalview::LVScope
addElement(LVSymbol *Symbol)llvm::logicalview::LVScope
addElement(LVType *Type)llvm::logicalview::LVScope
addMissingElements(LVScope *Reference)llvm::logicalview::LVScope
addObject(LVLocation *Location)llvm::logicalview::LVScope
addObject(LVAddress LowerAddress, LVAddress UpperAddress)llvm::logicalview::LVScope
addToChildren(LVElement *Element)llvm::logicalview::LVScope
Attrllvm::logicalview::LVObject
Childrenllvm::logicalview::LVScopeprotected
classof(const LVElement *Element)llvm::logicalview::LVScopeinlinestatic
discriminatorAsString() constllvm::logicalview::LVElement
doPrint(bool Split, bool Match, bool Print, raw_ostream &OS, bool Full=true) const overridellvm::logicalview::LVScopevirtual
dump() const overridellvm::logicalview::LVScopeinlinevirtual
Elementllvm::logicalview::LVObject
ElementTypellvm::logicalview::LVElementprotected
encodeTemplateArguments(std::string &Name) constllvm::logicalview::LVScope
encodeTemplateArguments(std::string &Name, const LVTypes *Types) constllvm::logicalview::LVScope
equalNumberOfChildren(const LVScope *Scope) constllvm::logicalview::LVScopevirtual
equals(const LVScope *Scope) constllvm::logicalview::LVScopevirtual
equals(const LVScopes *References, const LVScopes *Targets)llvm::logicalview::LVScopestatic
llvm::logicalview::LVElement::equals(const LVElement *Element) constllvm::logicalview::LVElement
externalString() constllvm::logicalview::LVElement
findEqualScope(const LVScopes *Scopes) constllvm::logicalview::LVScopevirtual
generateName(std::string &Prefix) constllvm::logicalview::LVElement
generateName()llvm::logicalview::LVElement
getAccessibilityCode() constllvm::logicalview::LVElementinline
getAccessibilityCode(codeview::MemberAccess Access)llvm::logicalview::LVElement
getAttr() constllvm::logicalview::LVObjectinline
getBitSize() constllvm::logicalview::LVElementinlinevirtual
getBounds() constllvm::logicalview::LVElementinlinevirtual
getCallFilenameIndex() constllvm::logicalview::LVElementinlinevirtual
getCallLineNumber() constllvm::logicalview::LVElementinlinevirtual
getChildren() constllvm::logicalview::LVScopeinline
getCompileUnitParent() const overridellvm::logicalview::LVScopeinlinevirtual
getCount() constllvm::logicalview::LVElementinlinevirtual
getCoverageFactor() constllvm::logicalview::LVScopeinline
getDiscriminator() constllvm::logicalview::LVElementinlinevirtual
getDispatch()llvm::logicalview::LVScopeinlinestatic
getEncodedArgs() constllvm::logicalview::LVScopeinlineprotectedvirtual
getFilenameIndex() constllvm::logicalview::LVElementinline
getFunctionParent() constllvm::logicalview::LVElement
getID() constllvm::logicalview::LVObjectinline
getInlineCode() constllvm::logicalview::LVElementinline
getIsKindScope() constllvm::logicalview::LVElementinline
getIsKindType() constllvm::logicalview::LVElementinline
getLevel() constllvm::logicalview::LVObjectinline
getLineNumber() constllvm::logicalview::LVObjectinline
getLines() constllvm::logicalview::LVScopeinline
getLinkageName() constllvm::logicalview::LVElementinlinevirtual
getLinkageNameIndex() constllvm::logicalview::LVElementinlinevirtual
getLocations(LVLocations &LocationList, LVValidLocation ValidLocation, bool RecordInvalid=false)llvm::logicalview::LVScope
getLowerAddress() constllvm::logicalview::LVObjectinlinevirtual
getLowerBound() constllvm::logicalview::LVElementinlinevirtual
getName() const overridellvm::logicalview::LVElementinlinevirtual
getNameIndex() constllvm::logicalview::LVElementinline
getOffset() constllvm::logicalview::LVObjectinline
getOpcode() constllvm::logicalview::LVObjectinline
getParent() constllvm::logicalview::LVObjectinline
getParentScope() constllvm::logicalview::LVObjectinline
getParentSymbol() constllvm::logicalview::LVObjectinline
getPathname() constllvm::logicalview::LVElementinline
getProducer() constllvm::logicalview::LVElementinlinevirtual
getQualifiedName(std::string &QualifiedName) constllvm::logicalview::LVScope
llvm::logicalview::LVElement::getQualifiedName() constllvm::logicalview::LVElementinline
getQualifiedNameIndex() constllvm::logicalview::LVElementinline
getRanges() constllvm::logicalview::LVScopeinline
getRanges(LVLocations &LocationList, LVValidLocation ValidLocation, bool RecordInvalid=false)llvm::logicalview::LVScope
getRanges(LVRange &RangeList)llvm::logicalview::LVScope
getReference() constllvm::logicalview::LVScopeinlinevirtual
getScopes() constllvm::logicalview::LVScopeinline
getSubclassID() constllvm::logicalview::LVElementinline
getSymbols() constllvm::logicalview::LVScopeinline
getTag() constllvm::logicalview::LVObjectinline
getTemplateParameterTypes(LVTypes &Params)llvm::logicalview::LVScope
getType() constllvm::logicalview::LVElementinline
getTypeAsScope() constllvm::logicalview::LVElement
getTypeAsType() constllvm::logicalview::LVElement
getTypeName() constllvm::logicalview::LVElement
getTypeQualifiedName() constllvm::logicalview::LVElementinline
getTypes() constllvm::logicalview::LVScopeinline
getUpperAddress() constllvm::logicalview::LVObjectinlinevirtual
getUpperBound() constllvm::logicalview::LVElementinlinevirtual
getValue() constllvm::logicalview::LVElementinlinevirtual
getValueIndex() constllvm::logicalview::LVElementinlinevirtual
getVirtualityCode() constllvm::logicalview::LVElementinline
getVirtualityCode(codeview::MethodKind Virtuality)llvm::logicalview::LVElement
indentAsString() constllvm::logicalview::LVObject
indentAsString(LVLevel Level) constllvm::logicalview::LVObject
inlineCodeString(uint32_t Code) constllvm::logicalview::LVElement
isBase() constllvm::logicalview::LVElementinlinevirtual
isCompileUnit() const overridellvm::logicalview::LVScopeinlinevirtual
isFiled() const overridellvm::logicalview::LVElementinlinevirtual
isLined() constllvm::logicalview::LVObjectinline
isNamed() const overridellvm::logicalview::LVElementinlinevirtual
isRoot() const overridellvm::logicalview::LVScopeinlinevirtual
isTemplateParam() constllvm::logicalview::LVElementinlinevirtual
isTyped() const overridellvm::logicalview::LVElementinlinevirtual
KIND(LVScopeKind, IsAggregate)llvm::logicalview::LVScope
KIND(LVScopeKind, IsArray)llvm::logicalview::LVScope
KIND(LVScopeKind, IsEnumeration)llvm::logicalview::LVScope
KIND(LVScopeKind, IsMember)llvm::logicalview::LVScope
KIND(LVScopeKind, IsNamespace)llvm::logicalview::LVScope
KIND(LVScopeKind, IsTemplate)llvm::logicalview::LVScope
KIND(LVScopeKind, IsTemplateAlias)llvm::logicalview::LVScope
KIND(LVScopeKind, IsTemplatePack)llvm::logicalview::LVScope
kind() const overridellvm::logicalview::LVScopevirtual
KIND_1(LVScopeKind, IsCallSite, IsFunction)llvm::logicalview::LVScope
KIND_1(LVScopeKind, IsCatchBlock, IsBlock)llvm::logicalview::LVScope
KIND_1(LVScopeKind, IsClass, IsAggregate)llvm::logicalview::LVScope
KIND_1(LVScopeKind, IsEntryPoint, IsFunction)llvm::logicalview::LVScope
KIND_1(LVScopeKind, IsFunctionType, IsFunction)llvm::logicalview::LVScope
KIND_1(LVScopeKind, IsLabel, IsFunction)llvm::logicalview::LVScope
KIND_1(LVScopeKind, IsLexicalBlock, IsBlock)llvm::logicalview::LVScope
KIND_1(LVScopeKind, IsRoot, TransformName)llvm::logicalview::LVScope
KIND_1(LVScopeKind, IsStructure, IsAggregate)llvm::logicalview::LVScope
KIND_1(LVScopeKind, IsSubprogram, IsFunction)llvm::logicalview::LVScope
KIND_1(LVScopeKind, IsTryBlock, IsBlock)llvm::logicalview::LVScope
KIND_1(LVScopeKind, IsUnion, IsAggregate)llvm::logicalview::LVScope
KIND_2(LVScopeKind, IsBlock, CanHaveRanges, CanHaveLines)llvm::logicalview::LVScope
KIND_2(LVScopeKind, IsFunction, CanHaveRanges, CanHaveLines)llvm::logicalview::LVScope
KIND_2(LVScopeKind, IsInlinedFunction, IsFunction, IsInlined)llvm::logicalview::LVScope
KIND_3(LVScopeKind, IsCompileUnit, CanHaveRanges, CanHaveLines, TransformName)llvm::logicalview::LVScope
lineAsString(uint32_t LineNumber, LVHalf Discriminator, bool ShowZero) constllvm::logicalview::LVObjectprotected
lineCount() constllvm::logicalview::LVScopeinline
lineNumberAsString(bool ShowZero=false) constllvm::logicalview::LVObjectinlinevirtual
lineNumberAsStringStripped(bool ShowZero=false) constllvm::logicalview::LVObject
Linesllvm::logicalview::LVScopeprotected
LVElement(LVSubclassID ID)llvm::logicalview::LVElementinline
LVElement(const LVElement &)=deletellvm::logicalview::LVElement
LVObject()llvm::logicalview::LVObjectinline
LVScope()llvm::logicalview::LVScopeinline
LVScope(const LVScope &)=deletellvm::logicalview::LVScope
markBranchAsMissing()llvm::logicalview::LVObject
markMissingParents(const LVScopes *References, const LVScopes *Targets, bool TraverseChildren)llvm::logicalview::LVScopestatic
markMissingParents(const LVScope *Target, bool TraverseChildren)llvm::logicalview::LVScopevirtual
noLineAsString(bool ShowZero) constllvm::logicalview::LVObjectvirtual
Opcodellvm::logicalview::LVObject
operator=(const LVScope &)=deletellvm::logicalview::LVScope
llvm::logicalview::LVElement::operator=(const LVElement &)=deletellvm::logicalview::LVElement
llvm::logicalview::LVObject::operator=(const LVObject &)=deletellvm::logicalview::LVObject
outermostParent(LVAddress Address)llvm::logicalview::LVScope
print(raw_ostream &OS, bool Full=true) const overridellvm::logicalview::LVScopevirtual
printActiveRanges(raw_ostream &OS, bool Full=true) constllvm::logicalview::LVScopeprotected
printAttributes(raw_ostream &OS, bool Full=true) constllvm::logicalview::LVObject
printAttributes(raw_ostream &OS, bool Full, StringRef Name, LVObject *Parent, StringRef Value, bool UseQuotes=false, bool PrintRef=false) constllvm::logicalview::LVObject
printEncodedArgs(raw_ostream &OS, bool Full) constllvm::logicalview::LVScopeprotected
printExtra(raw_ostream &OS, bool Full=true) const overridellvm::logicalview::LVScopevirtual
printFileIndex(raw_ostream &OS, bool Full=true) const overridellvm::logicalview::LVElementprotectedvirtual
printLinkageName(raw_ostream &OS, bool Full, LVElement *Parent, LVScope *Scope) constllvm::logicalview::LVElement
printLinkageName(raw_ostream &OS, bool Full, LVElement *Parent) constllvm::logicalview::LVElement
printMatchedElements(raw_ostream &OS, bool UseMatchedElements)llvm::logicalview::LVScopeinlinevirtual
printReference(raw_ostream &OS, bool Full, LVElement *Parent) constllvm::logicalview::LVElement
printSizes(raw_ostream &OS) constllvm::logicalview::LVScopeinlineprotectedvirtual
printSummary(raw_ostream &OS) constllvm::logicalview::LVScopeinlineprotectedvirtual
printWarnings(raw_ostream &OS, bool Full=true) constllvm::logicalview::LVScopeinlinevirtual
PROPERTY(Property, HasDiscriminator)llvm::logicalview::LVScope
PROPERTY(Property, CanHaveRanges)llvm::logicalview::LVScope
PROPERTY(Property, CanHaveLines)llvm::logicalview::LVScope
PROPERTY(Property, HasGlobals)llvm::logicalview::LVScope
PROPERTY(Property, HasLocals)llvm::logicalview::LVScope
PROPERTY(Property, HasLines)llvm::logicalview::LVScope
PROPERTY(Property, HasScopes)llvm::logicalview::LVScope
PROPERTY(Property, HasSymbols)llvm::logicalview::LVScope
PROPERTY(Property, HasTypes)llvm::logicalview::LVScope
PROPERTY(Property, IsComdat)llvm::logicalview::LVScope
PROPERTY(Property, HasComdatScopes)llvm::logicalview::LVScope
PROPERTY(Property, HasRanges)llvm::logicalview::LVScope
PROPERTY(Property, AddedMissing)llvm::logicalview::LVScope
llvm::logicalview::LVElement::PROPERTY(Property, IsLine)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsScope)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsSymbol)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsType)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsEnumClass)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsExternal)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, HasType)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, HasAugmentedName)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsTypedefReduced)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsArrayResolved)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsMemberPointerResolved)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsTemplateResolved)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsInlined)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsInlinedAbstract)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, InvalidFilename)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, HasReference)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, HasReferenceAbstract)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, HasReferenceExtension)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, HasReferenceSpecification)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, QualifiedResolved)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IncludeInPrint)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsStatic)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, TransformName)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsScoped)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsNested)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsScopedAlready)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsArtificial)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsReferencedType)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsSystem)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, OffsetFromTypeIndex)llvm::logicalview::LVElement
llvm::logicalview::LVElement::PROPERTY(Property, IsAnonymous)llvm::logicalview::LVElement
llvm::logicalview::LVObject::PROPERTY(Property, IsLocation)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsGlobalReference)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsGeneratedName)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsResolved)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsResolvedName)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsDiscarded)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsOptimized)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsAdded)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsMatched)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsMissing)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsMissingLink)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsInCompare)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsFileFromReference)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsLineFromReference)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, HasMoved)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, HasPattern)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsFinalized)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, IsReferenced)llvm::logicalview::LVObject
llvm::logicalview::LVObject::PROPERTY(Property, HasCodeViewLocation)llvm::logicalview::LVObject
rangeCount() constllvm::logicalview::LVScopeinline
Rangesllvm::logicalview::LVScopeprotected
referenceAsString(uint32_t LineNumber, bool Spaces) constllvm::logicalview::LVObjectprotected
referenceMatch(const LVElement *Element) constllvm::logicalview::LVElement
removeElement(LVElement *Element) overridellvm::logicalview::LVScopevirtual
report(LVComparePass Pass) overridellvm::logicalview::LVScopevirtual
resetParent()llvm::logicalview::LVObjectinline
resolve() overridellvm::logicalview::LVScopevirtual
resolveElements()llvm::logicalview::LVScope
resolveExtra()llvm::logicalview::LVElementinlinevirtual
resolveFullname(LVElement *BaseType, StringRef Name=emptyString())llvm::logicalview::LVElement
resolveName() overridellvm::logicalview::LVScopevirtual
resolveParents()llvm::logicalview::LVElement
resolveReferences() overridellvm::logicalview::LVScopevirtual
resolveReferencesChain()llvm::logicalview::LVScope
resolveTemplate()llvm::logicalview::LVScopeprotected
Scopellvm::logicalview::LVObject
scopeCount() constllvm::logicalview::LVScopeinline
Scopesllvm::logicalview::LVScopeprotected
setAccessibilityCode(uint32_t Access)llvm::logicalview::LVElementinline
setAccessibilityCode(codeview::MemberAccess Access)llvm::logicalview::LVElementinline
setAttr(dwarf::Attribute Attr)llvm::logicalview::LVObjectinline
setBitSize(uint32_t Size)llvm::logicalview::LVElementinlinevirtual
setBounds(unsigned Lower, unsigned Upper)llvm::logicalview::LVElementinlinevirtual
setCallFilenameIndex(size_t Index)llvm::logicalview::LVElementinlinevirtual
setCallLineNumber(uint32_t Number)llvm::logicalview::LVElementinlinevirtual
setCount(int64_t Value)llvm::logicalview::LVElementinlinevirtual
setDiscriminator(uint32_t Value)llvm::logicalview::LVElementinlinevirtual
setEncodedArgs(StringRef EncodedArgs)llvm::logicalview::LVScopeinlineprotectedvirtual
setFile(LVElement *Reference=nullptr)llvm::logicalview::LVElement
setFilename(StringRef Filename)llvm::logicalview::LVElement
setFilenameIndex(size_t Index)llvm::logicalview::LVElementinline
setGenericType(LVElement *Element)llvm::logicalview::LVElement
setInlineCode(uint32_t Code)llvm::logicalview::LVElementinline
setInnerComponent()llvm::logicalview::LVElementinline
setInnerComponent(StringRef Name)llvm::logicalview::LVElement
setLevel(LVLevel Level)llvm::logicalview::LVObjectinline
setLineNumber(uint32_t Number)llvm::logicalview::LVObjectinline
setLinkageName(StringRef LinkageName)llvm::logicalview::LVElementinlinevirtual
setLowerAddress(LVAddress Address)llvm::logicalview::LVObjectinlinevirtual
setLowerBound(int64_t Value)llvm::logicalview::LVElementinlinevirtual
setName(StringRef ElementName) overridellvm::logicalview::LVElementvirtual
setOffset(LVOffset DieOffset)llvm::logicalview::LVObjectinline
setOpcode(LVSmall Opcode)llvm::logicalview::LVObjectinline
setParent(LVScope *Scope)llvm::logicalview::LVObject
setParent(LVSymbol *Symbol)llvm::logicalview::LVObject
setProducer(StringRef ProducerName)llvm::logicalview::LVElementinlinevirtual
setQualifiedName(StringRef Name)llvm::logicalview::LVElementinline
setReference(LVElement *Element)llvm::logicalview::LVElementinlinevirtual
setReference(LVScope *Scope)llvm::logicalview::LVElementinlinevirtual
setReference(LVSymbol *Symbol)llvm::logicalview::LVElementinlinevirtual
setReference(LVType *Type)llvm::logicalview::LVElementinlinevirtual
setTag(dwarf::Tag Tag)llvm::logicalview::LVObjectinline
setType(LVElement *Element=nullptr)llvm::logicalview::LVElementinline
setUpperAddress(LVAddress Address)llvm::logicalview::LVObjectinlinevirtual
setUpperBound(int64_t Value)llvm::logicalview::LVElementinlinevirtual
setValue(StringRef Value)llvm::logicalview::LVElementinlinevirtual
setVirtualityCode(uint32_t Virtuality)llvm::logicalview::LVElementinline
setVirtualityCode(codeview::MethodKind Virtuality)llvm::logicalview::LVElementinline
sort()llvm::logicalview::LVScope
Symbolllvm::logicalview::LVObject
symbolCount() constllvm::logicalview::LVScopeinline
Symbolsllvm::logicalview::LVScopeprotected
Tagllvm::logicalview::LVObject
llvm::logicalview::LVElement::traverseParents(LVScopeGetFunction GetFunction) constllvm::logicalview::LVElement
traverseParentsAndChildren(LVObjectGetFunction GetFunction, LVObjectSetFunction SetFunction)llvm::logicalview::LVScope
typeAsString() constllvm::logicalview::LVElement
typeCount() constllvm::logicalview::LVScopeinline
typeOffsetAsString() constllvm::logicalview::LVElement
Typesllvm::logicalview::LVScopeprotected
updateLevel(LVScope *Parent, bool Moved) overridellvm::logicalview::LVScopevirtual
virtualityString(uint32_t Virtuality=dwarf::DW_VIRTUALITY_none) constllvm::logicalview::LVElement
~LVElement()=defaultllvm::logicalview::LVElementvirtual
~LVObject()=defaultllvm::logicalview::LVObjectvirtual
~LVScope()=defaultllvm::logicalview::LVScopevirtual