Fan

 

final class

compiler::FPod

sys::Obj
  compiler::FPod : compiler::CPod, compiler::FConst

FPod is the read/write fcode representation of sys::Pod. It's main job in life is to manage all the pod-wide constant tables for names, literals, type/slot references and type/slot definitions.

Slots

addFieldRefSource

Int addFieldRef(CField field)

addMethodRefSource

Int addMethodRef(CMethod method, Int? argCount := null)

addNameSource

Int addName(Str val)

addTypeRefSource

Int addTypeRef(CType t)

decimalSource

Decimal decimal(Int index)

decimalsSource

FTable decimals

dependsSource

Depend[] depends

dumpSource

Void dump(OutStream out := Sys.out())

durationSource

Duration duration(Int index)

durationsSource

FTable durations

fattrsSource

FAttr[] fattrs

fieldRefSource

FFieldRef fieldRef(Int index)

fieldRefStrSource

Str fieldRefStr(Int index)

fieldRefsSource

FTable fieldRefs

floatSource

Float float(Int index)

floatsSource

FTable floats

ftypesSource

FType[] ftypes

ftypesByNameSource

Str:FType ftypesByName

inSource

InStream? in(Uri uri)

Get input stream to read the specified file from zip storage.

integerSource

Int integer(Int index)

intsSource

FTable ints

makeSource

new make(FPodNamespace? ns, Str podName, Zip? zip)

methodRefSource

FMethodRef methodRef(Int index)

methodRefStrSource

Str methodRefStr(Int index)

methodRefsSource

FTable methodRefs

nSource

Str n(Int index)

nameSource

override Str name

namesSource

FTable names

nsSource

override CNamespace ns

Overrides compiler::CPod.ns

outSource

OutStream out(Uri uri)

Get output stream to write the specified file to zip storage.

readSource

Void read()

Read the just the pod and type meta-data, but not each type's full definition

readFullySource

Void readFully()

Read the entire pod into memory (including full type specifications)

readPodMetaSource

Void readPodMeta(InStream in)

resolveTypeSource

override CType? resolveType(Str name, Bool checked)

resolveTypesSource

CType[] resolveTypes(Int[] indexes)

strSource

Str str(Int index)

strsSource

FTable strs

toTypeSource

CType? toType(Int index)

typeRefSource

FTypeRef typeRef(Int index)

typeRefStrSource

Str typeRefStr(Int index)

typeRefsSource

FTable typeRefs

typesSource

override CType[] types()

uriSource

Str uri(Int index)

urisSource

FTable uris

versionSource

override Version version

writeSource

Void write(Zip zip := (Zip)this.zip)

Write the tables and type files out to zip storage

writePodMetaSource

Void writePodMeta(OutStream out)

zipSource

Zip? zip