Fantom

 

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 := Env.cur().out())

durationSource

Duration duration(Int index)

durationsSource

FTable durations

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.

indexSource

Str:Obj index

integerSource

Int integer(Int index)

intsSource

FTable ints

makeSource

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

metaSource

Str:Str meta

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)

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

zipSource

Zip? zip