logo

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

addFieldRef

Int addFieldRef(CField field)

addMethodRef

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

addName

Int addName(Str val)

addTypeRef

Int addTypeRef(CType t)

depends

Depend[] depends

dump

Void dump()

duration

Duration duration(Int index)

durations

FTable durations

fattrs

FAttr[] fattrs

fieldRef

FFieldRef fieldRef(Int index)

fieldRefStr

Str fieldRefStr(Int index)

fieldRefs

FTable fieldRefs

float

Float float(Int index)

floats

FTable floats

ftypes

FType[] ftypes

ftypesByName

Str:FType ftypesByName

in

InStream in(Uri uri)

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

integer

Int integer(Int index)

ints

FTable ints

make

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

methodRef

FMethodRef methodRef(Int index)

methodRefStr

Str methodRefStr(Int index)

methodRefs

FTable methodRefs

n

Str n(Int index)

name

override Str name

names

FTable names

ns

override CNamespace ns

out

OutStream out(Uri uri)

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

read

Void read()

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

readFully

Void readFully()

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

readPodMeta

Void readPodMeta(InStream in)

resolveType

override CType resolveType(Str name, Bool checked)

resolveTypes

CType[] resolveTypes(Int[] indexes)

str

Str str(Int index)

strs

FTable strs

toType

CType toType(Int index)

typeRef

FTypeRef typeRef(Int index)

typeRefStr

Str typeRefStr(Int index)

typeRefs

FTable typeRefs

types

override CType[] types()

uri

Str uri(Int index)

uris

FTable uris

version

override Version version

write

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

Write the tables and type files out to zip storage

writePodMeta

Void writePodMeta(OutStream out)

zip

Zip zip