-- SaffronTypeCompile2Impl.mesa -- Copyright Ó 1987 by Xerox Corporation. All rights reserved. -- Generated by Rauen.pa at September 1, 1988 7:33:16 pm PDT -- using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT DIRECTORY SaffronAG6aDef, SaffronAG6bDef, ThreeC4Support, SaffronBaseDef, BigIntegers, SaffronATDef; SaffronTypeCompile2Impl: CEDAR PROGRAM IMPORTS ThreeC4Support, SaffronBaseDef EXPORTS SaffronAG6aDef, SaffronAG6bDef= BEGIN OPEN SaffronAG6aDef, SaffronAG6bDef, ThreeC4Support, SaffronBaseDef, BigIntegers, SaffronATDef; TypeExprelativeProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExprelativeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST is not a valid operation on RELATIVE types."]; temp0 _ MakeDummy[""]; END; END END; TypeExprelativeProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExprelativeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST is not a valid operation on RELATIVE types."]; temp0 _ MakeDummy[""]; END; END END; TypeExprelativeProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExprelativeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of RELATIVE not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeExprelativeProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExprelativeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST is not a valid operation on RELATIVE types."]; temp0 _ MakeDummy[""]; END; END END; TypeExprelativeProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExprelativeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST is not a valid operation on RELATIVE types."]; temp0 _ MakeDummy[""]; END; END END; TypeExprelativeProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExprelativeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of RELATIVE not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeExpzoneProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpzoneProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST is not a valid operation on ZONE types."]; temp0 _ MakeDummy[""]; END; END END; TypeExpzoneProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpzoneProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST is not a valid operation on ZONE types."]; temp0 _ MakeDummy[""]; END; END END; TypeExpzoneProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpzoneProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of ZONE not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeExpzoneProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpzoneProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST is not a valid operation on ZONE types."]; temp0 _ MakeDummy[""]; END; END END; TypeExpzoneProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpzoneProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST is not a valid operation on ZONE types."]; temp0 _ MakeDummy[""]; END; END END; TypeExpzoneProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpzoneProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of ZONE not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeExplongProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExplongProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST of LONG not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; TypeExplongProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExplongProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST of LONG not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; TypeExplongProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExplongProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of LONG not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeExplongProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExplongProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST of LONG not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; TypeExplongProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExplongProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST of LONG not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; TypeExplongProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExplongProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of LONG not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeExpframeProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpframeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST is not a valid operation on FRAME types."]; temp0 _ MakeDummy[""]; END; END END; TypeExpframeProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpframeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST is not a valid operation on FRAME types."]; temp0 _ MakeDummy[""]; END; END END; TypeExpframeProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpframeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of FRAME not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeExpframeProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpframeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST is not a valid operation on FRAME types."]; temp0 _ MakeDummy[""]; END; END END; TypeExpframeProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpframeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST is not a valid operation on FRAME types."]; temp0 _ MakeDummy[""]; END; END END; TypeExpframeProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExpframeProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of FRAME not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeExppaintedProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExppaintedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST is not a valid operation on PAINTED types."]; temp0 _ MakeDummy[""]; END; END END; TypeExppaintedProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExppaintedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST is not a valid operation on PAINTED types."]; temp0 _ MakeDummy[""]; END; END END; TypeExppaintedProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExppaintedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of PAINTED not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeExppaintedProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExppaintedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST is not a valid operation on PAINTED types."]; temp0 _ MakeDummy[""]; END; END END; TypeExppaintedProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExppaintedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST is not a valid operation on PAINTED types."]; temp0 _ MakeDummy[""]; END; END END; TypeExppaintedProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExppaintedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of PAINTED not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeExptypeapplyProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExptypeapplyProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST is not a valid operation on TypeApply types."]; temp0 _ MakeDummy[""]; END; END END; TypeExptypeapplyProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExptypeapplyProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST is not a valid operation on TypeApply types."]; temp0 _ MakeDummy[""]; END; END END; TypeExptypeapplyProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExptypeapplyProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of TypeApply not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeExptypeapplyProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExptypeapplyProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST is not a valid operation on TypeApply types."]; temp0 _ MakeDummy[""]; END; END END; TypeExptypeapplyProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExptypeapplyProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST is not a valid operation on TypeApply types."]; temp0 _ MakeDummy[""]; END; END END; TypeExptypeapplyProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeExpNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeExptypeapplyProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of TypeApply not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; SubrangenamedProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangenamedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST of Named subrange not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; SubrangenamedProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangenamedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST of Named subrange not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; SubrangenamedProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangenamedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of Named subrange not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; SubrangenamedProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangenamedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST of Named subrange not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; SubrangenamedProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangenamedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST of Named subrange not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; SubrangenamedProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangenamedProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of Named subrange not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; SubrangeunnamedProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangeunnamedProdData _ NARROW[tree.data]; temp0 _ treeData.Interval.procs.CompileLastOfTypeExpression[treeData.Interval, contextTree, cs, targetType]; END END; SubrangeunnamedProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangeunnamedProdData _ NARROW[tree.data]; temp0 _ treeData.Interval.procs.CompileFirstOfTypeExpression[treeData.Interval, contextTree, cs, targetType]; END END; SubrangeunnamedProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangeunnamedProdData _ NARROW[tree.data]; temp0 _ treeData.Interval.procs.CompileSizeOfTypeExpression[treeData.Interval, contextTree, cs, targetType]; END END; SubrangeunnamedProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangeunnamedProdData _ NARROW[tree.data]; temp0 _ treeData.Interval.procs.EvaluateLastOfTypeExpression[treeData.Interval, lc, fl, cs, targetType]; END END; SubrangeunnamedProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangeunnamedProdData _ NARROW[tree.data]; temp0 _ treeData.Interval.procs.EvaluateFirstOfTypeExpression[treeData.Interval, lc, fl, cs, targetType]; END END; SubrangeunnamedProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: SubrangeNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: SubrangeunnamedProdData _ NARROW[tree.data]; temp0 _ treeData.Interval.procs.EvaluateSizeOfTypeExpression[treeData.Interval, lc, fl, cs, targetType]; END END; IntervalccProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalccProdData _ NARROW[tree.data]; temp0 _ Last[targetType]; END END; IntervalccProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalccProdData _ NARROW[tree.data]; temp0 _ First[targetType]; END END; IntervalccProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalccProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of interval not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; IntervalccProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalccProdData _ NARROW[tree.data]; temp0 _ Last[targetType]; END END; IntervalccProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalccProdData _ NARROW[tree.data]; temp0 _ First[targetType]; END END; IntervalccProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalccProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of interval not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; IntervalcoProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalcoProdData _ NARROW[tree.data]; temp0 _ Pred[Last[targetType]]; END END; IntervalcoProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalcoProdData _ NARROW[tree.data]; temp0 _ First[targetType]; END END; IntervalcoProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalcoProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of interval not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; IntervalcoProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalcoProdData _ NARROW[tree.data]; temp0 _ Pred[Last[targetType]]; END END; IntervalcoProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalcoProdData _ NARROW[tree.data]; temp0 _ First[targetType]; END END; IntervalcoProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalcoProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of interval not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; IntervalocProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalocProdData _ NARROW[tree.data]; temp0 _ Last[targetType]; END END; IntervalocProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalocProdData _ NARROW[tree.data]; temp0 _ Succ[First[targetType]]; END END; IntervalocProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalocProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of interval not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; IntervalocProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalocProdData _ NARROW[tree.data]; temp0 _ Last[targetType]; END END; IntervalocProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalocProdData _ NARROW[tree.data]; temp0 _ Succ[First[targetType]]; END END; IntervalocProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalocProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of interval not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; IntervalooProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalooProdData _ NARROW[tree.data]; temp0 _ Pred[Last[targetType]]; END END; IntervalooProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalooProdData _ NARROW[tree.data]; temp0 _ Succ[First[targetType]]; END END; IntervalooProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalooProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of interval not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; IntervalooProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalooProdData _ NARROW[tree.data]; temp0 _ Pred[Last[targetType]]; END END; IntervalooProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalooProdData _ NARROW[tree.data]; temp0 _ Succ[First[targetType]]; END END; IntervalooProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: IntervalNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: IntervalooProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of interval not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeIdidProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdidProdData _ NARROW[tree.data]; BEGIN access: AccessValNode; tgn: TypeGraphNodeNode; field: FieldNode; field _ LookupNameInContextRib[treeData.Id, Rib[contextTree]]; [access, tgn] _ DemandTypeDeclarationField[field]; temp0 _ Last[tgn]; END; END END; TypeIdidProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdidProdData _ NARROW[tree.data]; BEGIN access: AccessValNode; tgn: TypeGraphNodeNode; field: FieldNode; field _ LookupNameInContextRib[treeData.Id, Rib[contextTree]]; [access, tgn] _ DemandTypeDeclarationField[field]; temp0 _ First[tgn]; END; END END; TypeIdidProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdidProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of id not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeIdidProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdidProdData _ NARROW[tree.data]; BEGIN access: AccessValNode; tgn: TypeGraphNodeNode; field2: FieldNode; field1: FieldNode; field1 _ LookupNameInFieldList[fl, treeData.Id]; IF FieldExists[field1] THEN {field2 _ field1; } ELSE {field2 _ LookupNameInContextRib[treeData.Id, ParentRib[lc]]; }; [access, tgn] _ DemandTypeDeclarationField[field2]; temp0 _ Last[tgn]; END; END END; TypeIdidProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdidProdData _ NARROW[tree.data]; BEGIN access: AccessValNode; tgn: TypeGraphNodeNode; field2: FieldNode; field1: FieldNode; field1 _ LookupNameInFieldList[fl, treeData.Id]; IF FieldExists[field1] THEN {field2 _ field1; } ELSE {field2 _ LookupNameInContextRib[treeData.Id, ParentRib[lc]]; }; [access, tgn] _ DemandTypeDeclarationField[field2]; temp0 _ First[tgn]; END; END END; TypeIdidProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdidProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of id not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeIdqualifierProdCompileLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdqualifierProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST of TypeId.qualifier not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; TypeIdqualifierProdCompileFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdqualifierProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST of TypeId.qualifier not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; TypeIdqualifierProdCompileSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, contextTree: ContextTreeNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdqualifierProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of TypeId.qualifier not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; TypeIdqualifierProdEvaluateLastOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdqualifierProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["LAST of TypeId.qualifier not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; TypeIdqualifierProdEvaluateFirstOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: ValueNode] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdqualifierProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["FIRST of TypeId.qualifier not implemented yet."]; temp0 _ MakeDummy[""]; END; END END; TypeIdqualifierProdEvaluateSizeOfTypeExpression: PUBLIC PROC[ref: REF ANY, lc: LocalContextNode, fl: FieldListNode, cs: CompilerStateNode, targetType: TypeGraphNodeNode] RETURNS[temp0: BigINT] = BEGIN tree: TypeIdNode_ NARROW[ref]; BEGIN ENABLE ThreeC4Support.GetSourceInfo => RESUME[tree.position, tree.length]; treeData: TypeIdqualifierProdData _ NARROW[tree.data]; BEGIN err: BOOLEAN; err _ Error["SIZE of TypeId.qualifier not implemented yet."]; temp0 _ DummyBigINT[]; END; END END; END..