typia 15.1.0 → 15.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/TypeGuardError.js.map +1 -1
- package/lib/basic.js.map +1 -1
- package/lib/compare.js.map +1 -1
- package/lib/functional.js.map +1 -1
- package/lib/http.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/internal/_IProtobufWriter.js.map +1 -1
- package/lib/internal/_ProtobufReader.js.map +1 -1
- package/lib/internal/_ProtobufSizer.js.map +1 -1
- package/lib/internal/_ProtobufWriter.js.map +1 -1
- package/lib/internal/_accessExpressionAsString.js.map +1 -1
- package/lib/internal/_assertGuard.js.map +1 -1
- package/lib/internal/_coerceLlmArguments.js.map +1 -1
- package/lib/internal/_createLlmEvaluation.js.map +1 -1
- package/lib/internal/_createStandardSchema.js.map +1 -1
- package/lib/internal/_decimal.js.map +1 -1
- package/lib/internal/_functionalTypeGuardErrorFactory.js.map +1 -1
- package/lib/internal/_httpFormDataReadArray.js.map +1 -1
- package/lib/internal/_httpFormDataReadBigint.js.map +1 -1
- package/lib/internal/_httpFormDataReadBlob.js.map +1 -1
- package/lib/internal/_httpFormDataReadBoolean.js.map +1 -1
- package/lib/internal/_httpFormDataReadFile.js.map +1 -1
- package/lib/internal/_httpFormDataReadNumber.js.map +1 -1
- package/lib/internal/_httpFormDataReadString.js.map +1 -1
- package/lib/internal/_httpHeaderReadBigint.js.map +1 -1
- package/lib/internal/_httpHeaderReadBoolean.js.map +1 -1
- package/lib/internal/_httpHeaderReadNumber.js.map +1 -1
- package/lib/internal/_httpParameterReadBigint.js.map +1 -1
- package/lib/internal/_httpParameterReadBoolean.js.map +1 -1
- package/lib/internal/_httpParameterReadNumber.js.map +1 -1
- package/lib/internal/_httpParameterReadString.js.map +1 -1
- package/lib/internal/_httpQueryParseURLSearchParams.js.map +1 -1
- package/lib/internal/_httpQueryReadArray.js.map +1 -1
- package/lib/internal/_httpQueryReadBigint.js.map +1 -1
- package/lib/internal/_httpQueryReadBoolean.js.map +1 -1
- package/lib/internal/_httpQueryReadNumber.js.map +1 -1
- package/lib/internal/_httpQueryReadString.js.map +1 -1
- package/lib/internal/_isBetween.js.map +1 -1
- package/lib/internal/_isBigintString.js.map +1 -1
- package/lib/internal/_isFormatByte.js.map +1 -1
- package/lib/internal/_isFormatDate.js.map +1 -1
- package/lib/internal/_isFormatDateTime.js.map +1 -1
- package/lib/internal/_isFormatDuration.js.map +1 -1
- package/lib/internal/_isFormatEmail.js.map +1 -1
- package/lib/internal/_isFormatHostname.js.map +1 -1
- package/lib/internal/_isFormatIdnEmail.js.map +1 -1
- package/lib/internal/_isFormatIdnHostname.js.map +1 -1
- package/lib/internal/_isFormatIpv4.js.map +1 -1
- package/lib/internal/_isFormatIpv6.js.map +1 -1
- package/lib/internal/_isFormatIri.js.map +1 -1
- package/lib/internal/_isFormatIriReference.js.map +1 -1
- package/lib/internal/_isFormatJsonPointer.js.map +1 -1
- package/lib/internal/_isFormatPassword.js.map +1 -1
- package/lib/internal/_isFormatRegex.js.map +1 -1
- package/lib/internal/_isFormatRelativeJsonPointer.js.map +1 -1
- package/lib/internal/_isFormatTime.js.map +1 -1
- package/lib/internal/_isFormatUri.js.map +1 -1
- package/lib/internal/_isFormatUriReference.js.map +1 -1
- package/lib/internal/_isFormatUriTemplate.js.map +1 -1
- package/lib/internal/_isFormatUrl.js.map +1 -1
- package/lib/internal/_isFormatUuid.js.map +1 -1
- package/lib/internal/_isMultipleOf.js.map +1 -1
- package/lib/internal/_isTypeFloat.js.map +1 -1
- package/lib/internal/_isTypeInt16.js.map +1 -1
- package/lib/internal/_isTypeInt32.js.map +1 -1
- package/lib/internal/_isTypeInt64.js.map +1 -1
- package/lib/internal/_isTypeInt64Bigint.js.map +1 -1
- package/lib/internal/_isTypeInt8.js.map +1 -1
- package/lib/internal/_isTypeUint16.js.map +1 -1
- package/lib/internal/_isTypeUint32.js.map +1 -1
- package/lib/internal/_isTypeUint64.js.map +1 -1
- package/lib/internal/_isTypeUint64Bigint.js.map +1 -1
- package/lib/internal/_isTypeUint8.js.map +1 -1
- package/lib/internal/_isUniqueItems.js.map +1 -1
- package/lib/internal/_jsonStringifyArray.js.map +1 -1
- package/lib/internal/_jsonStringifyElement.js.map +1 -1
- package/lib/internal/_jsonStringifyNumber.js.map +1 -1
- package/lib/internal/_jsonStringifyProperty.js.map +1 -1
- package/lib/internal/_jsonStringifyRest.js.map +1 -1
- package/lib/internal/_jsonStringifyString.js.map +1 -1
- package/lib/internal/_jsonStringifyTail.js.map +1 -1
- package/lib/internal/_llmApplicationFinalize.js +8 -1
- package/lib/internal/_llmApplicationFinalize.js.map +1 -1
- package/lib/internal/_notationAny.js.map +1 -1
- package/lib/internal/_notationAssign.js.map +1 -1
- package/lib/internal/_notationCamel.js.map +1 -1
- package/lib/internal/_notationKebab.js.map +1 -1
- package/lib/internal/_notationKeyCollision.js.map +1 -1
- package/lib/internal/_notationPascal.js.map +1 -1
- package/lib/internal/_notationSnake.js.map +1 -1
- package/lib/internal/_parseLlmArguments.js.map +1 -1
- package/lib/internal/_plainCloneAny.js.map +1 -1
- package/lib/internal/_randomArray.js.map +1 -1
- package/lib/internal/_randomBigint.js.map +1 -1
- package/lib/internal/_randomBoolean.js.map +1 -1
- package/lib/internal/_randomFormatByte.js.map +1 -1
- package/lib/internal/_randomFormatDate.js.map +1 -1
- package/lib/internal/_randomFormatDatetime.js.map +1 -1
- package/lib/internal/_randomFormatDuration.js.map +1 -1
- package/lib/internal/_randomFormatEmail.js.map +1 -1
- package/lib/internal/_randomFormatHostname.js.map +1 -1
- package/lib/internal/_randomFormatIdnEmail.js.map +1 -1
- package/lib/internal/_randomFormatIdnHostname.js.map +1 -1
- package/lib/internal/_randomFormatIpv4.js.map +1 -1
- package/lib/internal/_randomFormatIpv6.js.map +1 -1
- package/lib/internal/_randomFormatIri.js.map +1 -1
- package/lib/internal/_randomFormatIriReference.js.map +1 -1
- package/lib/internal/_randomFormatJsonPointer.js.map +1 -1
- package/lib/internal/_randomFormatPassword.js.map +1 -1
- package/lib/internal/_randomFormatRegex.js.map +1 -1
- package/lib/internal/_randomFormatRelativeJsonPointer.js.map +1 -1
- package/lib/internal/_randomFormatTime.js.map +1 -1
- package/lib/internal/_randomFormatUri.js.map +1 -1
- package/lib/internal/_randomFormatUriReference.js.map +1 -1
- package/lib/internal/_randomFormatUriTemplate.js.map +1 -1
- package/lib/internal/_randomFormatUrl.js.map +1 -1
- package/lib/internal/_randomFormatUuid.js.map +1 -1
- package/lib/internal/_randomInteger.js.map +1 -1
- package/lib/internal/_randomMultiple.js.map +1 -1
- package/lib/internal/_randomNumber.js.map +1 -1
- package/lib/internal/_randomPattern.js.map +1 -1
- package/lib/internal/_randomPick.js.map +1 -1
- package/lib/internal/_randomString.js.map +1 -1
- package/lib/internal/_randomStringLength.js.map +1 -1
- package/lib/internal/_stringLength.js.map +1 -1
- package/lib/internal/_stringLengthGte.js.map +1 -1
- package/lib/internal/_stringLengthLte.js.map +1 -1
- package/lib/internal/_throwTypeGuardError.js.map +1 -1
- package/lib/internal/_validateReport.js.map +1 -1
- package/lib/internal/private/__notationRename.js.map +1 -1
- package/lib/internal/private/__randomComposition.js.map +1 -1
- package/lib/internal/private/__randomEpoch.js.map +1 -1
- package/lib/json.js.map +1 -1
- package/lib/llm.js.map +1 -1
- package/lib/module.js.map +1 -1
- package/lib/notations.js.map +1 -1
- package/lib/plain.js.map +1 -1
- package/lib/protobuf.js.map +1 -1
- package/lib/re-exports.js.map +1 -1
- package/lib/reflect.js.map +1 -1
- package/lib/transform.d.ts +5 -2
- package/lib/transform.js +6 -2
- package/lib/transform.js.map +1 -1
- package/lib/transform.mjs +7 -3
- package/lib/transform.mjs.map +1 -1
- package/lib/transformers/NoTransformConfigurationError.js.map +1 -1
- package/native/cmd/ttsc-typia/build.go +3 -1
- package/native/cmd/ttsc-typia/content_mapper_transform_ts71_test.go +102 -0
- package/native/cmd/ttsc-typia/diagnostics.go +1 -1
- package/native/cmd/ttsc-typia/distinct_programs_concurrent_emit_test.go +167 -0
- package/native/cmd/ttsc-typia/exact_optional_family_emission_contract_test.go +2 -1
- package/native/cmd/ttsc-typia/project_dependencies_heritage_forms_transform_test.go +84 -0
- package/native/cmd/ttsc-typia/schema_literal_helpers_test.go +2 -1
- package/native/cmd/ttsc-typia/transform.go +7 -6
- package/native/core/context/EmitFactory.go +20 -29
- package/native/core/context/ImportProgrammer.go +5 -7
- package/native/core/context/NodeFactory.go +25 -0
- package/native/core/context/node_factory_ownership_test.go +45 -0
- package/native/core/factories/ExpressionFactory.go +13 -14
- package/native/core/factories/IdentifierFactory.go +3 -5
- package/native/core/factories/LiteralFactory.go +6 -8
- package/native/core/factories/NumericRangeFactory.go +8 -10
- package/native/core/factories/StatementFactory.go +5 -7
- package/native/core/factories/TemplateFactory.go +1 -3
- package/native/core/factories/TypeFactory.go +7 -9
- package/native/core/factories/ValueFactory.go +5 -7
- package/native/core/factories/factory_utility_coverage_test.go +21 -20
- package/native/core/factories/internal/metadata/MetadataHelper.go +13 -13
- package/native/core/factories/internal/metadata/comment_tags_coverage_test.go +7 -16
- package/native/core/factories/internal/metadata/emplace_metadata_object.go +36 -27
- package/native/core/factories/internal/metadata/iterate_metadata_alias.go +2 -2
- package/native/core/factories/internal/metadata/iterate_metadata_constant.go +4 -4
- package/native/core/factories/internal/metadata/iterate_metadata_function.go +2 -2
- package/native/core/factories/internal/metadata/iterate_metadata_intersection.go +11 -11
- package/native/core/factories/internal/metadata/js_doc_link_text_test.go +6 -16
- package/native/core/factories/internal/metadata/js_doc_parameter_name_reads_qualified_name_test.go +2 -1
- package/native/core/factories/internal/metadata/js_doc_source_helpers_test.go +44 -0
- package/native/core/factories/internal/metadata/js_doc_type_tag_blank_separation_test.go +16 -22
- package/native/core/factories/numeric_range_factory_enforces_64bit_bounds_test.go +2 -1
- package/native/core/programmers/AssertProgrammer.go +16 -18
- package/native/core/programmers/IsProgrammer.go +10 -12
- package/native/core/programmers/RandomProgrammer.go +29 -31
- package/native/core/programmers/ValidateProgrammer.go +20 -22
- package/native/core/programmers/compare/CompareEqualProgrammer.go +1 -3
- package/native/core/programmers/compare/CompareLessProgrammer.go +1 -3
- package/native/core/programmers/functional/FunctionalAssertFunctionProgrammer.go +3 -5
- package/native/core/programmers/functional/FunctionalAssertParametersProgrammer.go +2 -2
- package/native/core/programmers/functional/FunctionalAssertReturnProgrammer.go +2 -2
- package/native/core/programmers/functional/FunctionalIsFunctionProgrammer.go +2 -2
- package/native/core/programmers/functional/FunctionalIsParametersProgrammer.go +8 -10
- package/native/core/programmers/functional/FunctionalIsReturnProgrammer.go +2 -2
- package/native/core/programmers/functional/FunctionalValidateFunctionProgrammer.go +4 -6
- package/native/core/programmers/functional/FunctionalValidateParametersProgrammer.go +2 -2
- package/native/core/programmers/functional/FunctionalValidateReturnProgrammer.go +2 -2
- package/native/core/programmers/helpers/ClassifyJoiner.go +1 -3
- package/native/core/programmers/helpers/CloneJoiner.go +8 -14
- package/native/core/programmers/helpers/FunctionProgrammer.go +3 -5
- package/native/core/programmers/helpers/NotationJoiner.go +6 -12
- package/native/core/programmers/helpers/PruneJoiner.go +10 -12
- package/native/core/programmers/helpers/RandomJoiner.go +5 -7
- package/native/core/programmers/helpers/StringifyJoinder.go +15 -17
- package/native/core/programmers/helpers/UnionExplorer.go +24 -26
- package/native/core/programmers/http/HttpAssertFormDataProgrammer.go +2 -4
- package/native/core/programmers/http/HttpAssertHeadersProgrammer.go +1 -1
- package/native/core/programmers/http/HttpAssertQueryProgrammer.go +1 -1
- package/native/core/programmers/http/HttpFormDataProgrammer.go +9 -11
- package/native/core/programmers/http/HttpHeadersProgrammer.go +7 -9
- package/native/core/programmers/http/HttpIsFormDataProgrammer.go +2 -4
- package/native/core/programmers/http/HttpIsHeadersProgrammer.go +1 -1
- package/native/core/programmers/http/HttpIsQueryProgrammer.go +1 -1
- package/native/core/programmers/http/HttpParameterProgrammer.go +2 -4
- package/native/core/programmers/http/HttpQueryProgrammer.go +8 -10
- package/native/core/programmers/http/HttpValidateFormDataProgrammer.go +2 -4
- package/native/core/programmers/http/HttpValidateHeadersProgrammer.go +1 -1
- package/native/core/programmers/http/HttpValidateQueryProgrammer.go +1 -1
- package/native/core/programmers/internal/CheckerProgrammer.go +26 -28
- package/native/core/programmers/internal/FeatureProgrammer.go +32 -34
- package/native/core/programmers/iterate/check_array_length.go +1 -1
- package/native/core/programmers/iterate/check_bigint.go +2 -4
- package/native/core/programmers/iterate/check_dynamic_key.go +5 -7
- package/native/core/programmers/iterate/check_dynamic_properties.go +43 -57
- package/native/core/programmers/iterate/check_everything.go +3 -5
- package/native/core/programmers/iterate/check_exclude.go +2 -4
- package/native/core/programmers/iterate/check_native.go +2 -4
- package/native/core/programmers/iterate/check_number.go +2 -4
- package/native/core/programmers/iterate/check_object.go +3 -5
- package/native/core/programmers/iterate/check_object_type_tags.go +1 -1
- package/native/core/programmers/iterate/check_string.go +2 -4
- package/native/core/programmers/iterate/check_template.go +7 -9
- package/native/core/programmers/iterate/decode_union_object.go +2 -4
- package/native/core/programmers/iterate/feature_object_entries.go +2 -4
- package/native/core/programmers/json/JsonAssertParseProgrammer.go +2 -2
- package/native/core/programmers/json/JsonAssertStringifyProgrammer.go +2 -4
- package/native/core/programmers/json/JsonIsParseProgrammer.go +4 -6
- package/native/core/programmers/json/JsonIsStringifyProgrammer.go +2 -4
- package/native/core/programmers/json/JsonStringifyProgrammer.go +37 -39
- package/native/core/programmers/json/JsonValidateParseProgrammer.go +2 -2
- package/native/core/programmers/json/JsonValidateStringifyProgrammer.go +2 -4
- package/native/core/programmers/llm/LlmApplicationProgrammer.go +1 -3
- package/native/core/programmers/llm/LlmCoerceProgrammer.go +2 -4
- package/native/core/programmers/llm/LlmControllerProgrammer.go +1 -3
- package/native/core/programmers/llm/LlmEvaluationProgrammer.go +1 -3
- package/native/core/programmers/llm/LlmParametersProgrammer.go +1 -3
- package/native/core/programmers/llm/LlmParseProgrammer.go +3 -5
- package/native/core/programmers/llm/LlmSchemaProgrammer.go +5 -7
- package/native/core/programmers/llm/LlmStructuredOutputProgrammer.go +2 -4
- package/native/core/programmers/llm/llm_schema_programmer_coverage_test.go +1 -1
- package/native/core/programmers/notations/NotationAssertGeneralProgrammer.go +1 -3
- package/native/core/programmers/notations/NotationGeneralProgrammer.go +26 -28
- package/native/core/programmers/notations/NotationIsGeneralProgrammer.go +1 -3
- package/native/core/programmers/notations/NotationValidateGeneralProgrammer.go +1 -3
- package/native/core/programmers/plain/PlainAssertClassifyProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainAssertCloneProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainAssertPruneProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainClassifyProgrammer.go +44 -46
- package/native/core/programmers/plain/PlainCloneProgrammer.go +30 -32
- package/native/core/programmers/plain/PlainIsCloneProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainIsPruneProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainPruneProgrammer.go +26 -28
- package/native/core/programmers/plain/PlainValidateClassifyProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainValidateCloneProgrammer.go +2 -4
- package/native/core/programmers/plain/PlainValidatePruneProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufAssertDecodeProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufAssertEncodeProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufDecodeProgrammer.go +24 -25
- package/native/core/programmers/protobuf/ProtobufEncodeProgrammer.go +23 -25
- package/native/core/programmers/protobuf/ProtobufIsDecodeProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufIsEncodeProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufMessageProgrammer.go +1 -3
- package/native/core/programmers/protobuf/ProtobufValidateDecodeProgrammer.go +2 -4
- package/native/core/programmers/protobuf/ProtobufValidateEncodeProgrammer.go +3 -5
- package/native/core/programmers/protobuf/protobuf_programmer_helper_coverage_test.go +1 -1
- package/native/core/programmers/reflect/ReflectLiteralsProgrammer.go +1 -3
- package/native/core/schemas/metadata/MetadataCollection.go +2 -2
- package/native/core/schemas/metadata/MetadataDefaultLibrary.go +1 -1
- package/native/core/schemas/metadata/MetadataDependency.go +13 -13
- package/native/core/utils/PromiseTypeFactory.go +3 -3
- package/native/go.mod +3 -4
- package/native/go.work +1 -1
- package/native/transform/CallExpressionTransformer.go +4 -4
- package/native/transform/FileTransformer.go +2 -4
- package/native/transform/features/RandomTransformer.go +1 -3
- package/native/transform/features/compare/CompareEqualTransformer.go +1 -1
- package/native/transform/features/compare/CompareLessTransformer.go +1 -1
- package/native/transform/features/functional/FunctionalGenericTransformer.go +2 -2
- package/native/transform/features/llm/LlmCoerceTransformer.go +1 -1
- package/native/transform/features/llm/LlmEvaluationProbabilityDeclarations.go +1 -1
- package/native/transform/features/llm/LlmEvaluationTransformer.go +1 -1
- package/native/transform/features/llm/LlmParseTransformer.go +1 -1
- package/native/transform/features/llm/LlmSchemaTransformer.go +1 -3
- package/native/transform/features/reflect/ReflectNameTransformer.go +1 -3
- package/native/transform/file_transformer_coverage_test.go +2 -1
- package/native/transform/internal/GenericTransformer.go +1 -3
- package/package.json +6 -6
- package/src/transform.ts +6 -2
|
@@ -66,10 +66,8 @@ const plainClassifyProgrammer_PREFIX = "_y"
|
|
|
66
66
|
const plainClassifyProgrammer_IS_PREFIX = "_i"
|
|
67
67
|
const plainClassifyProgrammer_IS_PREFIX_VALIDATED = "_yi"
|
|
68
68
|
|
|
69
|
-
var plainClassifyProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
70
|
-
|
|
71
69
|
func (plainClassifyProgrammerNamespace) Decompose(props PlainClassifyProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
|
|
72
|
-
f := nativecontext.
|
|
70
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
73
71
|
// The union construction ladder discriminates members with IsProgrammer.Decode
|
|
74
72
|
// (is-check helper calls), so those helpers must exist in the classify IIFE,
|
|
75
73
|
// emitted via the Addition. UNVALIDATED uses the sole "_i" namespace (a non-union
|
|
@@ -140,7 +138,7 @@ func (plainClassifyProgrammerNamespace) Write(props nativecontext.IProgrammerPro
|
|
|
140
138
|
Validated: false,
|
|
141
139
|
Modulo: props.Modulo,
|
|
142
140
|
})
|
|
143
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
141
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
144
142
|
Modulo: props.Modulo,
|
|
145
143
|
Functor: functor,
|
|
146
144
|
Result: result,
|
|
@@ -153,7 +151,7 @@ func plainClassifyProgrammer_write_array_functions(props struct {
|
|
|
153
151
|
Functor *nativehelpers.FunctionProgrammer
|
|
154
152
|
Collection *schemametadata.MetadataCollection
|
|
155
153
|
}) []*shimast.Node {
|
|
156
|
-
f := nativecontext.
|
|
154
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
157
155
|
output := []*shimast.Node{}
|
|
158
156
|
for _, typ := range props.Collection.Arrays() {
|
|
159
157
|
if typ.Recursive == false {
|
|
@@ -168,7 +166,7 @@ func plainClassifyProgrammer_write_array_functions(props struct {
|
|
|
168
166
|
Value: f.NewArrowFunction(
|
|
169
167
|
nil,
|
|
170
168
|
nil,
|
|
171
|
-
f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
|
|
169
|
+
f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{Emit: props.Context.Emit,
|
|
172
170
|
Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
|
|
173
171
|
Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
|
|
174
172
|
Input: f.NewIdentifier("input"),
|
|
@@ -209,7 +207,7 @@ func plainClassifyProgrammer_write_tuple_functions(props struct {
|
|
|
209
207
|
Functor *nativehelpers.FunctionProgrammer
|
|
210
208
|
Collection *schemametadata.MetadataCollection
|
|
211
209
|
}) []*shimast.Node {
|
|
212
|
-
f := nativecontext.
|
|
210
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
213
211
|
output := []*shimast.Node{}
|
|
214
212
|
for _, tuple := range props.Collection.Tuples() {
|
|
215
213
|
if tuple.Recursive == false {
|
|
@@ -224,7 +222,7 @@ func plainClassifyProgrammer_write_tuple_functions(props struct {
|
|
|
224
222
|
Value: f.NewArrowFunction(
|
|
225
223
|
nil,
|
|
226
224
|
nil,
|
|
227
|
-
f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
|
|
225
|
+
f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{Emit: props.Context.Emit,
|
|
228
226
|
Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
|
|
229
227
|
Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
|
|
230
228
|
Input: f.NewIdentifier("input"),
|
|
@@ -264,7 +262,7 @@ func plainClassifyProgrammer_decode(props struct {
|
|
|
264
262
|
Metadata *schemametadata.MetadataSchema
|
|
265
263
|
Explore nativeinternal.FeatureProgrammer_IExplore
|
|
266
264
|
}) *shimast.Node {
|
|
267
|
-
f := nativecontext.
|
|
265
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
268
266
|
if props.Metadata.Any ||
|
|
269
267
|
plainClassifyProgrammer_some_arrays(props.Metadata.Arrays, func(a *schemametadata.MetadataArray) bool { return a.Type.Value.Any }) ||
|
|
270
268
|
plainClassifyProgrammer_some_tuples(props.Metadata.Tuples, func(t *schemametadata.MetadataTuple) bool {
|
|
@@ -335,7 +333,7 @@ func plainClassifyProgrammer_decode(props struct {
|
|
|
335
333
|
unions = append(unions, plainClassifyProgrammer_IUnion{
|
|
336
334
|
Type: "array",
|
|
337
335
|
Is: func() *shimast.Node {
|
|
338
|
-
return nativefactories.ExpressionFactory.IsArray(props.Input)
|
|
336
|
+
return nativefactories.ExpressionFactory.IsArray(props.Input, props.Context.Emit)
|
|
339
337
|
},
|
|
340
338
|
Value: func() *shimast.Node {
|
|
341
339
|
explore := props.Explore
|
|
@@ -355,7 +353,7 @@ func plainClassifyProgrammer_decode(props struct {
|
|
|
355
353
|
unions = append(unions, plainClassifyProgrammer_IUnion{
|
|
356
354
|
Type: "set",
|
|
357
355
|
Is: func() *shimast.Node {
|
|
358
|
-
return nativefactories.ExpressionFactory.IsInstanceOf("Set", props.Input)
|
|
356
|
+
return nativefactories.ExpressionFactory.IsInstanceOf("Set", props.Input, props.Context.Emit)
|
|
359
357
|
},
|
|
360
358
|
Value: func() *shimast.Node {
|
|
361
359
|
explore := props.Explore
|
|
@@ -375,7 +373,7 @@ func plainClassifyProgrammer_decode(props struct {
|
|
|
375
373
|
unions = append(unions, plainClassifyProgrammer_IUnion{
|
|
376
374
|
Type: "map",
|
|
377
375
|
Is: func() *shimast.Node {
|
|
378
|
-
return nativefactories.ExpressionFactory.IsInstanceOf("Map", props.Input)
|
|
376
|
+
return nativefactories.ExpressionFactory.IsInstanceOf("Map", props.Input, props.Context.Emit)
|
|
379
377
|
},
|
|
380
378
|
Value: func() *shimast.Node {
|
|
381
379
|
explore := props.Explore
|
|
@@ -396,7 +394,7 @@ func plainClassifyProgrammer_decode(props struct {
|
|
|
396
394
|
unions = append(unions, plainClassifyProgrammer_IUnion{
|
|
397
395
|
Type: "native",
|
|
398
396
|
Is: func() *shimast.Node {
|
|
399
|
-
return nativefactories.ExpressionFactory.IsInstanceOf(native.Name, props.Input)
|
|
397
|
+
return nativefactories.ExpressionFactory.IsInstanceOf(native.Name, props.Input, props.Context.Emit)
|
|
400
398
|
},
|
|
401
399
|
Value: func() *shimast.Node {
|
|
402
400
|
if _, ok := schemametadata.MetadataSchema_atomicLikeNative(native.Name); ok {
|
|
@@ -424,7 +422,7 @@ func plainClassifyProgrammer_decode(props struct {
|
|
|
424
422
|
CheckNull: true,
|
|
425
423
|
CheckArray: false,
|
|
426
424
|
Input: props.Input,
|
|
427
|
-
})
|
|
425
|
+
}, props.Context.Emit)
|
|
428
426
|
},
|
|
429
427
|
Value: func() *shimast.Node {
|
|
430
428
|
explore := props.Explore
|
|
@@ -500,13 +498,13 @@ type plainClassifyProgrammer_decodeArrayProps struct {
|
|
|
500
498
|
}
|
|
501
499
|
|
|
502
500
|
func plainClassifyProgrammer_decode_array(props plainClassifyProgrammer_decodeArrayProps) *shimast.Node {
|
|
503
|
-
f := nativecontext.
|
|
501
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
504
502
|
if props.Array.Type.Recursive {
|
|
505
503
|
return f.NewCallExpression(
|
|
506
504
|
f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%sa%d", props.Config.Prefix, *props.Array.Type.Index))),
|
|
507
505
|
nil,
|
|
508
506
|
nil,
|
|
509
|
-
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
|
|
507
|
+
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
|
|
510
508
|
Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
|
|
511
509
|
Explore: plainClassifyProgrammer_explore_with(props.Explore, "function", "array"),
|
|
512
510
|
Input: props.Input,
|
|
@@ -518,7 +516,7 @@ func plainClassifyProgrammer_decode_array(props plainClassifyProgrammer_decodeAr
|
|
|
518
516
|
}
|
|
519
517
|
|
|
520
518
|
func plainClassifyProgrammer_decode_array_inline(props plainClassifyProgrammer_decodeArrayProps) *shimast.Node {
|
|
521
|
-
return nativeinternal.FeatureProgrammer.Decode_array(nativeinternal.FeatureProgrammer_DecodeArrayProps{
|
|
519
|
+
return nativeinternal.FeatureProgrammer.Decode_array(nativeinternal.FeatureProgrammer_DecodeArrayProps{Emit: props.Context.Emit,
|
|
522
520
|
Config: nativeinternal.FeatureProgrammer_DecodeArrayConfig{
|
|
523
521
|
Trace: props.Config.Trace,
|
|
524
522
|
Path: props.Config.Path,
|
|
@@ -552,13 +550,13 @@ type plainClassifyProgrammer_decodeTupleProps struct {
|
|
|
552
550
|
}
|
|
553
551
|
|
|
554
552
|
func plainClassifyProgrammer_decode_tuple(props plainClassifyProgrammer_decodeTupleProps) *shimast.Node {
|
|
555
|
-
f := nativecontext.
|
|
553
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
556
554
|
if props.Tuple.Type.Recursive {
|
|
557
555
|
return f.NewCallExpression(
|
|
558
556
|
f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%st%d", props.Config.Prefix, *props.Tuple.Type.Index))),
|
|
559
557
|
nil,
|
|
560
558
|
nil,
|
|
561
|
-
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
|
|
559
|
+
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
|
|
562
560
|
Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
|
|
563
561
|
Explore: plainClassifyProgrammer_explore_with(props.Explore, "function", props.Explore.From),
|
|
564
562
|
Input: props.Input,
|
|
@@ -586,7 +584,7 @@ type plainClassifyProgrammer_decodeTupleInlineProps struct {
|
|
|
586
584
|
}
|
|
587
585
|
|
|
588
586
|
func plainClassifyProgrammer_decode_tuple_inline(props plainClassifyProgrammer_decodeTupleInlineProps) *shimast.Node {
|
|
589
|
-
f := nativecontext.
|
|
587
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
590
588
|
elements := []*shimast.Node{}
|
|
591
589
|
for index, elem := range props.Tuple.Elements {
|
|
592
590
|
if elem.Rest != nil {
|
|
@@ -668,7 +666,7 @@ func plainClassifyProgrammer_decode_native(props struct {
|
|
|
668
666
|
Type string
|
|
669
667
|
Input *shimast.Node
|
|
670
668
|
}) *shimast.Node {
|
|
671
|
-
f := nativecontext.
|
|
669
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
672
670
|
switch props.Type {
|
|
673
671
|
case "Date", "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "BigUint64Array", "Int8Array", "Int16Array", "Int32Array", "BigInt64Array", "Float32Array", "Float64Array":
|
|
674
672
|
return f.NewNewExpression(
|
|
@@ -698,7 +696,7 @@ func plainClassifyProgrammer_decode_native(props struct {
|
|
|
698
696
|
}
|
|
699
697
|
|
|
700
698
|
func plainClassifyProgrammer_decode_native_buffer(typ string, input *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
701
|
-
f := nativecontext.
|
|
699
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
702
700
|
return nativefactories.ExpressionFactory.SelfCall(
|
|
703
701
|
emit,
|
|
704
702
|
f.NewBlock(f.NewNodeList([]*shimast.Node{
|
|
@@ -746,7 +744,7 @@ type plainClassifyProgrammer_exploreArraysProps struct {
|
|
|
746
744
|
}
|
|
747
745
|
|
|
748
746
|
func plainClassifyProgrammer_explore_arrays(props plainClassifyProgrammer_exploreArraysProps) *shimast.Node {
|
|
749
|
-
f := nativecontext.
|
|
747
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
750
748
|
return f.NewCallExpression(
|
|
751
749
|
nativehelpers.UnionExplorer.Array(nativehelpers.UnionExplorer_ArrayProps{
|
|
752
750
|
Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
|
|
@@ -804,7 +802,7 @@ type plainClassifyProgrammer_exploreSetsProps struct {
|
|
|
804
802
|
}
|
|
805
803
|
|
|
806
804
|
func plainClassifyProgrammer_explore_sets(props plainClassifyProgrammer_exploreSetsProps) *shimast.Node {
|
|
807
|
-
f := nativecontext.
|
|
805
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
808
806
|
return f.NewCallExpression(
|
|
809
807
|
nativehelpers.UnionExplorer.Set(nativehelpers.UnionExplorer_SetProps{
|
|
810
808
|
Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
|
|
@@ -872,7 +870,7 @@ type plainClassifyProgrammer_exploreMapsProps struct {
|
|
|
872
870
|
}
|
|
873
871
|
|
|
874
872
|
func plainClassifyProgrammer_explore_maps(props plainClassifyProgrammer_exploreMapsProps) *shimast.Node {
|
|
875
|
-
f := nativecontext.
|
|
873
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
876
874
|
return f.NewCallExpression(
|
|
877
875
|
nativehelpers.UnionExplorer.Map(nativehelpers.UnionExplorer_MapProps{
|
|
878
876
|
Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
|
|
@@ -956,7 +954,7 @@ type plainClassifyProgrammer_exploreObjectsProps struct {
|
|
|
956
954
|
}
|
|
957
955
|
|
|
958
956
|
func plainClassifyProgrammer_explore_objects(props plainClassifyProgrammer_exploreObjectsProps) *shimast.Node {
|
|
959
|
-
f := nativecontext.
|
|
957
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
960
958
|
if len(props.Metadata.Objects) == 1 {
|
|
961
959
|
return plainClassifyProgrammer_decode_object(struct {
|
|
962
960
|
Functor *nativehelpers.FunctionProgrammer
|
|
@@ -978,7 +976,7 @@ func plainClassifyProgrammer_explore_objects(props plainClassifyProgrammer_explo
|
|
|
978
976
|
f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%su%d", plainClassifyProgrammer_PREFIX, index))),
|
|
979
977
|
nil,
|
|
980
978
|
nil,
|
|
981
|
-
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
|
|
979
|
+
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
|
|
982
980
|
Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
|
|
983
981
|
Input: props.Input,
|
|
984
982
|
Explore: props.Explore,
|
|
@@ -993,7 +991,7 @@ func plainClassifyProgrammer_configure(props struct {
|
|
|
993
991
|
Modulo *shimast.Node
|
|
994
992
|
IsPrefix string
|
|
995
993
|
}) nativeinternal.FeatureProgrammer_IConfig {
|
|
996
|
-
f := nativecontext.
|
|
994
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
997
995
|
config := nativeinternal.FeatureProgrammer_IConfig{}
|
|
998
996
|
|
|
999
997
|
// from/new construction strategies (classify-scoped, never on the shared
|
|
@@ -1193,7 +1191,7 @@ func plainClassifyProgrammer_configure(props struct {
|
|
|
1193
1191
|
})
|
|
1194
1192
|
},
|
|
1195
1193
|
Unionizer: func(next nativeinternal.FeatureProgrammer_ObjectorUnionizerProps) *shimast.Node {
|
|
1196
|
-
return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{
|
|
1194
|
+
return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{Emit: props.Context.Emit,
|
|
1197
1195
|
Checker: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
|
|
1198
1196
|
return nativeprogrammers.IsProgrammer.Decode_object(nativeprogrammers.IsProgrammer_DecodeObjectProps{
|
|
1199
1197
|
Context: props.Context,
|
|
@@ -1499,8 +1497,8 @@ func plainClassifyProgrammer_choose_seed(
|
|
|
1499
1497
|
return seedT == nil ||
|
|
1500
1498
|
seedT.Flags()&(shimchecker.TypeFlagsAny|shimchecker.TypeFlagsUnknown) != 0
|
|
1501
1499
|
}
|
|
1502
|
-
if fromSym != nil && fromSym
|
|
1503
|
-
fnT := checker.GetTypeOfSymbolAtLocation(fromSym, fromSym
|
|
1500
|
+
if fromSym != nil && shimast.SymbolValueDeclarationOf(fromSym) != nil {
|
|
1501
|
+
fnT := checker.GetTypeOfSymbolAtLocation(fromSym, shimast.SymbolValueDeclarationOf(fromSym))
|
|
1504
1502
|
if sigs := checker.GetSignaturesOfType(fnT, shimchecker.SignatureKindCall); len(sigs) != 0 {
|
|
1505
1503
|
sig := sigs[len(sigs)-1]
|
|
1506
1504
|
if plainClassifyProgrammer_arity_ok(checker, sig) {
|
|
@@ -1537,10 +1535,10 @@ func plainClassifyProgrammer_is_abstract(static *shimchecker.Type) bool {
|
|
|
1537
1535
|
return false
|
|
1538
1536
|
}
|
|
1539
1537
|
sym := static.Symbol()
|
|
1540
|
-
if sym == nil || len(sym
|
|
1538
|
+
if sym == nil || len(shimast.SymbolDeclarationsOf(sym)) == 0 {
|
|
1541
1539
|
return false
|
|
1542
1540
|
}
|
|
1543
|
-
return sym
|
|
1541
|
+
return shimast.SymbolDeclarationsOf(sym)[0].ModifierFlags()&shimast.ModifierFlagsAbstract != 0
|
|
1544
1542
|
}
|
|
1545
1543
|
|
|
1546
1544
|
// plainClassifyProgrammer_ctor_public reports whether a construct signature is
|
|
@@ -1621,7 +1619,7 @@ func plainClassifyProgrammer_call_file(modulo *shimast.Node) string {
|
|
|
1621
1619
|
return ""
|
|
1622
1620
|
}
|
|
1623
1621
|
if src := shimast.GetSourceFileOfNode(modulo); src != nil {
|
|
1624
|
-
if abs, err := filepath.Abs(src.FileName()); err == nil {
|
|
1622
|
+
if abs, err := filepath.Abs(string(src.FileName())); err == nil {
|
|
1625
1623
|
return abs
|
|
1626
1624
|
}
|
|
1627
1625
|
}
|
|
@@ -1721,7 +1719,7 @@ func plainClassifyProgrammer_constructor_nature(checker *shimchecker.Checker, st
|
|
|
1721
1719
|
// a class TYPE (typeof C): its symbol is a class declaration. This holds even
|
|
1722
1720
|
// for a PRIVATE-constructor class (whose construct signature may be filtered
|
|
1723
1721
|
// by accessibility), so the static-factory arm still applies — Point.from.
|
|
1724
|
-
if sym := static.Symbol(); sym != nil && sym
|
|
1722
|
+
if sym := static.Symbol(); sym != nil && shimast.SymbolFlagsOf(sym)&shimast.SymbolFlagsClass != 0 {
|
|
1725
1723
|
return true
|
|
1726
1724
|
}
|
|
1727
1725
|
// a constructor type without a class symbol (anonymous class, `new () => X`)
|
|
@@ -1739,12 +1737,12 @@ func plainClassifyProgrammer_constructor_nature(checker *shimchecker.Checker, st
|
|
|
1739
1737
|
// (same file), or a value import (default/named) when it is declared in another
|
|
1740
1738
|
// module. Returns nil when the class symbol cannot be located.
|
|
1741
1739
|
func plainClassifyProgrammer_class_ref(ctx nativecontext.ITypiaContext, static *shimchecker.Type, callFile string) *shimast.Node {
|
|
1742
|
-
f := nativecontext.
|
|
1740
|
+
f := nativecontext.NodeFactoryOf(ctx.Emit)
|
|
1743
1741
|
sym := static.Symbol()
|
|
1744
|
-
if sym == nil || len(sym
|
|
1742
|
+
if sym == nil || len(shimast.SymbolDeclarationsOf(sym)) == 0 {
|
|
1745
1743
|
return nil
|
|
1746
1744
|
}
|
|
1747
|
-
decl := sym
|
|
1745
|
+
decl := shimast.SymbolDeclarationsOf(sym)[0]
|
|
1748
1746
|
// The runtime value name to construct against. The class symbol name is not
|
|
1749
1747
|
// always a usable binding: a class declared inside a `namespace` binds as
|
|
1750
1748
|
// `NS.Inner.C` (mirror the qualified name the field-copy path derives), and a
|
|
@@ -1758,7 +1756,7 @@ func plainClassifyProgrammer_class_ref(ctx nativecontext.ITypiaContext, static *
|
|
|
1758
1756
|
return nil
|
|
1759
1757
|
}
|
|
1760
1758
|
} else {
|
|
1761
|
-
valueName = plainClassifyProgrammer_qualified_name(decl.Parent, sym
|
|
1759
|
+
valueName = plainClassifyProgrammer_qualified_name(decl.Parent, shimast.SymbolNameOf(sym))
|
|
1762
1760
|
}
|
|
1763
1761
|
src := shimast.GetSourceFileOfNode(decl)
|
|
1764
1762
|
// `default` (an anonymous `export default class {}`) and an empty name are not
|
|
@@ -1773,7 +1771,7 @@ func plainClassifyProgrammer_class_ref(ctx nativecontext.ITypiaContext, static *
|
|
|
1773
1771
|
if src == nil {
|
|
1774
1772
|
return bare
|
|
1775
1773
|
}
|
|
1776
|
-
classFileAbs, err := filepath.Abs(src.FileName())
|
|
1774
|
+
classFileAbs, err := filepath.Abs(string(src.FileName()))
|
|
1777
1775
|
if err != nil || callFile == "" || classFileAbs == callFile {
|
|
1778
1776
|
return bare
|
|
1779
1777
|
}
|
|
@@ -1863,7 +1861,7 @@ func plainClassifyProgrammer_is_default_export(
|
|
|
1863
1861
|
if target == nil {
|
|
1864
1862
|
continue
|
|
1865
1863
|
}
|
|
1866
|
-
if target == sym || (len(target
|
|
1864
|
+
if target == sym || (len(shimast.SymbolDeclarationsOf(target)) != 0 && shimast.SymbolDeclarationsOf(target)[0] == decl) {
|
|
1867
1865
|
return true
|
|
1868
1866
|
}
|
|
1869
1867
|
}
|
|
@@ -1882,7 +1880,7 @@ func plainClassifyProgrammer_construct(
|
|
|
1882
1880
|
input *shimast.Node,
|
|
1883
1881
|
st *plainClassifyProgrammer_strategy,
|
|
1884
1882
|
) *shimast.Node {
|
|
1885
|
-
f := nativecontext.
|
|
1883
|
+
f := nativecontext.NodeFactoryOf(ctx.Emit)
|
|
1886
1884
|
decoded := plainClassifyProgrammer_decode(struct {
|
|
1887
1885
|
Context nativecontext.ITypiaContext
|
|
1888
1886
|
Config nativeinternal.FeatureProgrammer_IConfig
|
|
@@ -2004,7 +2002,7 @@ func plainClassifyProgrammer_construct_union(
|
|
|
2004
2002
|
tail *shimast.Node,
|
|
2005
2003
|
isPrefix string,
|
|
2006
2004
|
) *shimast.Node {
|
|
2007
|
-
f := nativecontext.
|
|
2005
|
+
f := nativecontext.NodeFactoryOf(ctx.Emit)
|
|
2008
2006
|
statements := []*shimast.Node{}
|
|
2009
2007
|
for _, member := range members {
|
|
2010
2008
|
// isPrefix is "_i" (unvalidated) or "_yi" (validated). The validated ladder
|
|
@@ -2064,7 +2062,7 @@ type plainClassifyProgrammer_throwProps struct {
|
|
|
2064
2062
|
}
|
|
2065
2063
|
|
|
2066
2064
|
func plainClassifyProgrammer_create_throw_error(props plainClassifyProgrammer_throwProps) *shimast.Node {
|
|
2067
|
-
f := nativecontext.
|
|
2065
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
2068
2066
|
return f.NewExpressionStatement(
|
|
2069
2067
|
f.NewCallExpression(
|
|
2070
2068
|
plainClassifyProgrammer_internal(props.Context, "throwTypeGuardError"),
|
|
@@ -2101,7 +2099,7 @@ func plainClassifyProgrammer_internal(context nativecontext.ITypiaContext, name
|
|
|
2101
2099
|
if importer := context.Importer; importer != nil {
|
|
2102
2100
|
return importer.Internal(name)
|
|
2103
2101
|
}
|
|
2104
|
-
f := nativecontext.
|
|
2102
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
2105
2103
|
return f.NewIdentifier(name)
|
|
2106
2104
|
}
|
|
2107
2105
|
|
|
@@ -2110,7 +2108,7 @@ func plainClassifyProgrammer_import_type(context nativecontext.ITypiaContext, pr
|
|
|
2110
2108
|
return importer.Type(props)
|
|
2111
2109
|
}
|
|
2112
2110
|
if str, ok := props.Name.(string); ok {
|
|
2113
|
-
f := nativecontext.
|
|
2111
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
2114
2112
|
return f.NewTypeReferenceNode(f.NewIdentifier(str), f.NewNodeList(props.Arguments))
|
|
2115
2113
|
}
|
|
2116
2114
|
return props.Name.(*shimast.Node)
|
|
@@ -49,10 +49,8 @@ type PlainCloneProgrammer_DecomposeProps struct {
|
|
|
49
49
|
|
|
50
50
|
const plainCloneProgrammer_PREFIX = "_c"
|
|
51
51
|
|
|
52
|
-
var plainCloneProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
53
|
-
|
|
54
52
|
func (plainCloneProgrammerNamespace) Decompose(props PlainCloneProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
|
|
55
|
-
f := nativecontext.
|
|
53
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
56
54
|
config := plainCloneProgrammer_configure(struct {
|
|
57
55
|
Context nativecontext.ITypiaContext
|
|
58
56
|
Functor *nativehelpers.FunctionProgrammer
|
|
@@ -100,7 +98,7 @@ func (plainCloneProgrammerNamespace) Write(props nativecontext.IProgrammerProps)
|
|
|
100
98
|
Name: props.Name,
|
|
101
99
|
Validated: false,
|
|
102
100
|
})
|
|
103
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
101
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
104
102
|
Modulo: props.Modulo,
|
|
105
103
|
Functor: functor,
|
|
106
104
|
Result: result,
|
|
@@ -113,7 +111,7 @@ func plainCloneProgrammer_write_array_functions(props struct {
|
|
|
113
111
|
Functor *nativehelpers.FunctionProgrammer
|
|
114
112
|
Collection *schemametadata.MetadataCollection
|
|
115
113
|
}) []*shimast.Node {
|
|
116
|
-
f := nativecontext.
|
|
114
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
117
115
|
output := []*shimast.Node{}
|
|
118
116
|
for _, typ := range props.Collection.Arrays() {
|
|
119
117
|
if typ.Recursive == false {
|
|
@@ -128,7 +126,7 @@ func plainCloneProgrammer_write_array_functions(props struct {
|
|
|
128
126
|
Value: f.NewArrowFunction(
|
|
129
127
|
nil,
|
|
130
128
|
nil,
|
|
131
|
-
f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
|
|
129
|
+
f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{Emit: props.Context.Emit,
|
|
132
130
|
Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
|
|
133
131
|
Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
|
|
134
132
|
Input: f.NewIdentifier("input"),
|
|
@@ -169,7 +167,7 @@ func plainCloneProgrammer_write_tuple_functions(props struct {
|
|
|
169
167
|
Functor *nativehelpers.FunctionProgrammer
|
|
170
168
|
Collection *schemametadata.MetadataCollection
|
|
171
169
|
}) []*shimast.Node {
|
|
172
|
-
f := nativecontext.
|
|
170
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
173
171
|
output := []*shimast.Node{}
|
|
174
172
|
for _, tuple := range props.Collection.Tuples() {
|
|
175
173
|
if tuple.Recursive == false {
|
|
@@ -184,7 +182,7 @@ func plainCloneProgrammer_write_tuple_functions(props struct {
|
|
|
184
182
|
Value: f.NewArrowFunction(
|
|
185
183
|
nil,
|
|
186
184
|
nil,
|
|
187
|
-
f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{
|
|
185
|
+
f.NewNodeList(nativeinternal.FeatureProgrammer.ParameterDeclarations(nativeinternal.FeatureProgrammer_ParameterDeclarationsProps{Emit: props.Context.Emit,
|
|
188
186
|
Config: nativeinternal.FeatureProgrammer_ParameterConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
|
|
189
187
|
Type: nativefactories.TypeFactory.Keyword("any", props.Context.Emit),
|
|
190
188
|
Input: f.NewIdentifier("input"),
|
|
@@ -224,7 +222,7 @@ func plainCloneProgrammer_decode(props struct {
|
|
|
224
222
|
Metadata *schemametadata.MetadataSchema
|
|
225
223
|
Explore nativeinternal.FeatureProgrammer_IExplore
|
|
226
224
|
}) *shimast.Node {
|
|
227
|
-
f := nativecontext.
|
|
225
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
228
226
|
if props.Metadata.Any ||
|
|
229
227
|
plainCloneProgrammer_some_arrays(props.Metadata.Arrays, func(a *schemametadata.MetadataArray) bool { return a.Type.Value.Any }) ||
|
|
230
228
|
plainCloneProgrammer_some_tuples(props.Metadata.Tuples, func(t *schemametadata.MetadataTuple) bool {
|
|
@@ -294,7 +292,7 @@ func plainCloneProgrammer_decode(props struct {
|
|
|
294
292
|
unions = append(unions, plainCloneProgrammer_IUnion{
|
|
295
293
|
Type: "array",
|
|
296
294
|
Is: func() *shimast.Node {
|
|
297
|
-
return nativefactories.ExpressionFactory.IsArray(props.Input)
|
|
295
|
+
return nativefactories.ExpressionFactory.IsArray(props.Input, props.Context.Emit)
|
|
298
296
|
},
|
|
299
297
|
Value: func() *shimast.Node {
|
|
300
298
|
explore := props.Explore
|
|
@@ -314,7 +312,7 @@ func plainCloneProgrammer_decode(props struct {
|
|
|
314
312
|
unions = append(unions, plainCloneProgrammer_IUnion{
|
|
315
313
|
Type: "set",
|
|
316
314
|
Is: func() *shimast.Node {
|
|
317
|
-
return nativefactories.ExpressionFactory.IsInstanceOf("Set", props.Input)
|
|
315
|
+
return nativefactories.ExpressionFactory.IsInstanceOf("Set", props.Input, props.Context.Emit)
|
|
318
316
|
},
|
|
319
317
|
Value: func() *shimast.Node {
|
|
320
318
|
explore := props.Explore
|
|
@@ -334,7 +332,7 @@ func plainCloneProgrammer_decode(props struct {
|
|
|
334
332
|
unions = append(unions, plainCloneProgrammer_IUnion{
|
|
335
333
|
Type: "map",
|
|
336
334
|
Is: func() *shimast.Node {
|
|
337
|
-
return nativefactories.ExpressionFactory.IsInstanceOf("Map", props.Input)
|
|
335
|
+
return nativefactories.ExpressionFactory.IsInstanceOf("Map", props.Input, props.Context.Emit)
|
|
338
336
|
},
|
|
339
337
|
Value: func() *shimast.Node {
|
|
340
338
|
explore := props.Explore
|
|
@@ -355,7 +353,7 @@ func plainCloneProgrammer_decode(props struct {
|
|
|
355
353
|
unions = append(unions, plainCloneProgrammer_IUnion{
|
|
356
354
|
Type: "native",
|
|
357
355
|
Is: func() *shimast.Node {
|
|
358
|
-
return nativefactories.ExpressionFactory.IsInstanceOf(native.Name, props.Input)
|
|
356
|
+
return nativefactories.ExpressionFactory.IsInstanceOf(native.Name, props.Input, props.Context.Emit)
|
|
359
357
|
},
|
|
360
358
|
Value: func() *shimast.Node {
|
|
361
359
|
if _, ok := schemametadata.MetadataSchema_atomicLikeNative(native.Name); ok {
|
|
@@ -383,7 +381,7 @@ func plainCloneProgrammer_decode(props struct {
|
|
|
383
381
|
CheckNull: true,
|
|
384
382
|
CheckArray: false,
|
|
385
383
|
Input: props.Input,
|
|
386
|
-
})
|
|
384
|
+
}, props.Context.Emit)
|
|
387
385
|
},
|
|
388
386
|
Value: func() *shimast.Node {
|
|
389
387
|
explore := props.Explore
|
|
@@ -459,13 +457,13 @@ type plainCloneProgrammer_decodeArrayProps struct {
|
|
|
459
457
|
}
|
|
460
458
|
|
|
461
459
|
func plainCloneProgrammer_decode_array(props plainCloneProgrammer_decodeArrayProps) *shimast.Node {
|
|
462
|
-
f := nativecontext.
|
|
460
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
463
461
|
if props.Array.Type.Recursive {
|
|
464
462
|
return f.NewCallExpression(
|
|
465
463
|
f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%sa%d", props.Config.Prefix, *props.Array.Type.Index))),
|
|
466
464
|
nil,
|
|
467
465
|
nil,
|
|
468
|
-
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
|
|
466
|
+
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
|
|
469
467
|
Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
|
|
470
468
|
Explore: plainCloneProgrammer_explore_with(props.Explore, "function", "array"),
|
|
471
469
|
Input: props.Input,
|
|
@@ -477,7 +475,7 @@ func plainCloneProgrammer_decode_array(props plainCloneProgrammer_decodeArrayPro
|
|
|
477
475
|
}
|
|
478
476
|
|
|
479
477
|
func plainCloneProgrammer_decode_array_inline(props plainCloneProgrammer_decodeArrayProps) *shimast.Node {
|
|
480
|
-
return nativeinternal.FeatureProgrammer.Decode_array(nativeinternal.FeatureProgrammer_DecodeArrayProps{
|
|
478
|
+
return nativeinternal.FeatureProgrammer.Decode_array(nativeinternal.FeatureProgrammer_DecodeArrayProps{Emit: props.Context.Emit,
|
|
481
479
|
Config: nativeinternal.FeatureProgrammer_DecodeArrayConfig{
|
|
482
480
|
Trace: props.Config.Trace,
|
|
483
481
|
Path: props.Config.Path,
|
|
@@ -511,13 +509,13 @@ type plainCloneProgrammer_decodeTupleProps struct {
|
|
|
511
509
|
}
|
|
512
510
|
|
|
513
511
|
func plainCloneProgrammer_decode_tuple(props plainCloneProgrammer_decodeTupleProps) *shimast.Node {
|
|
514
|
-
f := nativecontext.
|
|
512
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
515
513
|
if props.Tuple.Type.Recursive {
|
|
516
514
|
return f.NewCallExpression(
|
|
517
515
|
f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%st%d", props.Config.Prefix, *props.Tuple.Type.Index))),
|
|
518
516
|
nil,
|
|
519
517
|
nil,
|
|
520
|
-
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
|
|
518
|
+
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
|
|
521
519
|
Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
|
|
522
520
|
Explore: plainCloneProgrammer_explore_with(props.Explore, "function", props.Explore.From),
|
|
523
521
|
Input: props.Input,
|
|
@@ -545,7 +543,7 @@ type plainCloneProgrammer_decodeTupleInlineProps struct {
|
|
|
545
543
|
}
|
|
546
544
|
|
|
547
545
|
func plainCloneProgrammer_decode_tuple_inline(props plainCloneProgrammer_decodeTupleInlineProps) *shimast.Node {
|
|
548
|
-
f := nativecontext.
|
|
546
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
549
547
|
elements := []*shimast.Node{}
|
|
550
548
|
for index, elem := range props.Tuple.Elements {
|
|
551
549
|
if elem.Rest != nil {
|
|
@@ -627,7 +625,7 @@ func plainCloneProgrammer_decode_native(props struct {
|
|
|
627
625
|
Type string
|
|
628
626
|
Input *shimast.Node
|
|
629
627
|
}) *shimast.Node {
|
|
630
|
-
f := nativecontext.
|
|
628
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
631
629
|
switch props.Type {
|
|
632
630
|
case "Date", "Uint8Array", "Uint8ClampedArray", "Uint16Array", "Uint32Array", "BigUint64Array", "Int8Array", "Int16Array", "Int32Array", "BigInt64Array", "Float32Array", "Float64Array":
|
|
633
631
|
return f.NewNewExpression(
|
|
@@ -657,7 +655,7 @@ func plainCloneProgrammer_decode_native(props struct {
|
|
|
657
655
|
}
|
|
658
656
|
|
|
659
657
|
func plainCloneProgrammer_decode_native_buffer(typ string, input *shimast.Node, emit *shimprinter.EmitContext) *shimast.Node {
|
|
660
|
-
f := nativecontext.
|
|
658
|
+
f := nativecontext.NodeFactoryOf(emit)
|
|
661
659
|
return nativefactories.ExpressionFactory.SelfCall(
|
|
662
660
|
emit,
|
|
663
661
|
f.NewBlock(f.NewNodeList([]*shimast.Node{
|
|
@@ -705,7 +703,7 @@ type plainCloneProgrammer_exploreArraysProps struct {
|
|
|
705
703
|
}
|
|
706
704
|
|
|
707
705
|
func plainCloneProgrammer_explore_arrays(props plainCloneProgrammer_exploreArraysProps) *shimast.Node {
|
|
708
|
-
f := nativecontext.
|
|
706
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
709
707
|
return f.NewCallExpression(
|
|
710
708
|
nativehelpers.UnionExplorer.Array(nativehelpers.UnionExplorer_ArrayProps{
|
|
711
709
|
Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
|
|
@@ -762,7 +760,7 @@ type plainCloneProgrammer_exploreSetsProps struct {
|
|
|
762
760
|
}
|
|
763
761
|
|
|
764
762
|
func plainCloneProgrammer_explore_sets(props plainCloneProgrammer_exploreSetsProps) *shimast.Node {
|
|
765
|
-
f := nativecontext.
|
|
763
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
766
764
|
return f.NewCallExpression(
|
|
767
765
|
nativehelpers.UnionExplorer.Set(nativehelpers.UnionExplorer_SetProps{
|
|
768
766
|
Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
|
|
@@ -829,7 +827,7 @@ type plainCloneProgrammer_exploreMapsProps struct {
|
|
|
829
827
|
}
|
|
830
828
|
|
|
831
829
|
func plainCloneProgrammer_explore_maps(props plainCloneProgrammer_exploreMapsProps) *shimast.Node {
|
|
832
|
-
f := nativecontext.
|
|
830
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
833
831
|
return f.NewCallExpression(
|
|
834
832
|
nativehelpers.UnionExplorer.Map(nativehelpers.UnionExplorer_MapProps{
|
|
835
833
|
Config: nativehelpers.UnionExplorer_ArrayLikeConfig{
|
|
@@ -911,7 +909,7 @@ type plainCloneProgrammer_exploreObjectsProps struct {
|
|
|
911
909
|
}
|
|
912
910
|
|
|
913
911
|
func plainCloneProgrammer_explore_objects(props plainCloneProgrammer_exploreObjectsProps) *shimast.Node {
|
|
914
|
-
f := nativecontext.
|
|
912
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
915
913
|
if len(props.Metadata.Objects) == 1 {
|
|
916
914
|
return plainCloneProgrammer_decode_object(struct {
|
|
917
915
|
Functor *nativehelpers.FunctionProgrammer
|
|
@@ -933,7 +931,7 @@ func plainCloneProgrammer_explore_objects(props plainCloneProgrammer_exploreObje
|
|
|
933
931
|
f.NewIdentifier(props.Functor.UseLocal(fmt.Sprintf("%su%d", plainCloneProgrammer_PREFIX, index))),
|
|
934
932
|
nil,
|
|
935
933
|
nil,
|
|
936
|
-
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{
|
|
934
|
+
f.NewNodeList(nativeinternal.FeatureProgrammer.ArgumentsArray(nativeinternal.FeatureProgrammer_ArgumentsArrayProps{Emit: props.Context.Emit,
|
|
937
935
|
Config: nativeinternal.FeatureProgrammer_ArgumentsArrayConfig{Path: props.Config.Path, Trace: props.Config.Trace, Visited: props.Functor.Visited()},
|
|
938
936
|
Input: props.Input,
|
|
939
937
|
Explore: props.Explore,
|
|
@@ -946,7 +944,7 @@ func plainCloneProgrammer_configure(props struct {
|
|
|
946
944
|
Context nativecontext.ITypiaContext
|
|
947
945
|
Functor *nativehelpers.FunctionProgrammer
|
|
948
946
|
}) nativeinternal.FeatureProgrammer_IConfig {
|
|
949
|
-
f := nativecontext.
|
|
947
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
950
948
|
config := nativeinternal.FeatureProgrammer_IConfig{}
|
|
951
949
|
config.Types = nativeinternal.FeatureProgrammer_IConfig_ITypes{
|
|
952
950
|
Input: func(t *shimchecker.Type, name *string) *shimast.TypeNode {
|
|
@@ -1018,7 +1016,7 @@ func plainCloneProgrammer_configure(props struct {
|
|
|
1018
1016
|
})
|
|
1019
1017
|
},
|
|
1020
1018
|
Unionizer: func(next nativeinternal.FeatureProgrammer_ObjectorUnionizerProps) *shimast.Node {
|
|
1021
|
-
return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{
|
|
1019
|
+
return nativeiterate.Decode_union_object(nativeiterate.Decode_union_objectProps{Emit: props.Context.Emit,
|
|
1022
1020
|
Checker: func(v nativeiterate.Decode_union_object_next) *shimast.Node {
|
|
1023
1021
|
return nativeprogrammers.IsProgrammer.Decode_object(nativeprogrammers.IsProgrammer_DecodeObjectProps{
|
|
1024
1022
|
Context: props.Context,
|
|
@@ -1138,7 +1136,7 @@ type plainCloneProgrammer_throwProps struct {
|
|
|
1138
1136
|
}
|
|
1139
1137
|
|
|
1140
1138
|
func plainCloneProgrammer_create_throw_error(props plainCloneProgrammer_throwProps) *shimast.Node {
|
|
1141
|
-
f := nativecontext.
|
|
1139
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
1142
1140
|
return f.NewExpressionStatement(
|
|
1143
1141
|
f.NewCallExpression(
|
|
1144
1142
|
plainCloneProgrammer_internal(props.Context, "throwTypeGuardError"),
|
|
@@ -1175,7 +1173,7 @@ func plainCloneProgrammer_internal(context nativecontext.ITypiaContext, name str
|
|
|
1175
1173
|
if importer := context.Importer; importer != nil {
|
|
1176
1174
|
return importer.Internal(name)
|
|
1177
1175
|
}
|
|
1178
|
-
f := nativecontext.
|
|
1176
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
1179
1177
|
return f.NewIdentifier(name)
|
|
1180
1178
|
}
|
|
1181
1179
|
|
|
@@ -1184,7 +1182,7 @@ func plainCloneProgrammer_import_type(context nativecontext.ITypiaContext, props
|
|
|
1184
1182
|
return importer.Type(props)
|
|
1185
1183
|
}
|
|
1186
1184
|
if str, ok := props.Name.(string); ok {
|
|
1187
|
-
f := nativecontext.
|
|
1185
|
+
f := nativecontext.NodeFactoryOf(context.Emit)
|
|
1188
1186
|
return f.NewTypeReferenceNode(f.NewIdentifier(str), f.NewNodeList(props.Arguments))
|
|
1189
1187
|
}
|
|
1190
1188
|
return props.Name.(*shimast.Node)
|
|
@@ -37,10 +37,8 @@ type PlainIsCloneProgrammer_DecomposeProps struct {
|
|
|
37
37
|
Name *string
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
-
var plainIsCloneProgrammer_factory = shimast.NewNodeFactory(shimast.NodeFactoryHooks{})
|
|
41
|
-
|
|
42
40
|
func (plainIsCloneProgrammerNamespace) Decompose(props PlainIsCloneProgrammer_DecomposeProps) nativeinternal.FeatureProgrammer_IDecomposed {
|
|
43
|
-
f := nativecontext.
|
|
41
|
+
f := nativecontext.NodeFactoryOf(props.Context.Emit)
|
|
44
42
|
is := nativeprogrammers.IsProgrammer.Decompose(nativeprogrammers.IsProgrammer_DecomposeProps{
|
|
45
43
|
Context: props.Context,
|
|
46
44
|
Functor: props.Functor,
|
|
@@ -115,7 +113,7 @@ func (plainIsCloneProgrammerNamespace) Write(props nativecontext.IProgrammerProp
|
|
|
115
113
|
Type: props.Type,
|
|
116
114
|
Name: props.Name,
|
|
117
115
|
})
|
|
118
|
-
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{
|
|
116
|
+
return nativeinternal.FeatureProgrammer.WriteDecomposed(nativeinternal.FeatureProgrammer_WriteDecomposedProps{Emit: props.Context.Emit,
|
|
119
117
|
Modulo: props.Modulo,
|
|
120
118
|
Functor: functor,
|
|
121
119
|
Result: result,
|