aboutsummaryrefslogtreecommitdiff
path: root/macros/src/codegen/module.rs
diff options
context:
space:
mode:
authorGravatar Emil Fresk <emil.fresk@gmail.com> 2021-07-06 22:47:48 +0200
committerGravatar Emil Fresk <emil.fresk@gmail.com> 2021-07-06 22:47:48 +0200
commitef5307d83a1d62df0569d78db75d4006147c927d (patch)
tree542ff46adf7600cbd7f908cb62ac3a44e1bfa683 /macros/src/codegen/module.rs
parent3f85cb5caf1ae930e6551e139978ceec859a2348 (diff)
downloadrtic-ef5307d83a1d62df0569d78db75d4006147c927d.tar.gz
rtic-ef5307d83a1d62df0569d78db75d4006147c927d.tar.zst
rtic-ef5307d83a1d62df0569d78db75d4006147c927d.zip
Minimal app now compiles
Diffstat (limited to 'macros/src/codegen/module.rs')
-rw-r--r--macros/src/codegen/module.rs69
1 files changed, 32 insertions, 37 deletions
diff --git a/macros/src/codegen/module.rs b/macros/src/codegen/module.rs
index a3d3fab2..adf64d5b 100644
--- a/macros/src/codegen/module.rs
+++ b/macros/src/codegen/module.rs
@@ -56,16 +56,39 @@ pub fn codegen(
Context::SoftwareTask(_) => {}
}
- if ctxt.has_locals(app) {
- let ident = util::locals_ident(ctxt, app);
+ // if ctxt.has_locals(app) {
+ // let ident = util::locals_ident(ctxt, app);
+ // module_items.push(quote!(
+ // #[doc(inline)]
+ // pub use super::#ident as Locals;
+ // ));
+ // }
+
+ if ctxt.has_local_resources(app) {
+ let ident = util::local_resources_ident(ctxt, app);
+ let ident = util::mark_internal_ident(&ident);
+ let lt = if resources_tick {
+ lt = Some(quote!('a));
+ Some(quote!('a))
+ } else {
+ None
+ };
+
module_items.push(quote!(
#[doc(inline)]
- pub use super::#ident as Locals;
+ pub use super::#ident as LocalResources;
+ ));
+
+ fields.push(quote!(
+ /// Local Resources this task has access to
+ pub local: #name::LocalResources<#lt>
));
+
+ values.push(quote!(local: #name::LocalResources::new()));
}
- if ctxt.has_resources(app) {
- let ident = util::resources_ident(ctxt, app);
+ if ctxt.has_shared_resources(app) {
+ let ident = util::shared_resources_ident(ctxt, app);
let ident = util::mark_internal_ident(&ident);
let lt = if resources_tick {
lt = Some(quote!('a));
@@ -76,12 +99,12 @@ pub fn codegen(
module_items.push(quote!(
#[doc(inline)]
- pub use super::#ident as Resources;
+ pub use super::#ident as SharedResources;
));
fields.push(quote!(
- /// Resources this task has access to
- pub resources: #name::Resources<#lt>
+ /// Shared Resources this task has access to
+ pub shared: #name::SharedResources<#lt>
));
let priority = if ctxt.is_init() {
@@ -89,38 +112,10 @@ pub fn codegen(
} else {
Some(quote!(priority))
};
- values.push(quote!(resources: #name::Resources::new(#priority)));
+ values.push(quote!(shared: #name::SharedResources::new(#priority)));
}
if let Context::Init = ctxt {
- let late_fields = analysis
- .late_resources
- .iter()
- .flat_map(|resources| {
- resources.iter().map(|name| {
- let ty = &app.late_resources[name].ty;
- let cfgs = &app.late_resources[name].cfgs;
-
- quote!(
- #(#cfgs)*
- pub #name: #ty
- )
- })
- })
- .collect::<Vec<_>>();
-
- let internal_late_ident = util::mark_internal_name("LateResources");
- items.push(quote!(
- /// Resources initialized at runtime
- #[allow(non_snake_case)]
- pub struct #internal_late_ident {
- #(#late_fields),*
- }
- ));
- module_items.push(quote!(
- pub use super::#internal_late_ident as LateResources;
- ));
-
let monotonic_types: Vec<_> = app
.monotonics
.iter()
e?h=dylan/github-api-option&id=bd31c8881410e8976bc949cdd38464ad0ffadacf&follow=1'>Update Dockerfile.baseGravatar Jarred Sumner 1-1/+1 2022-01-19Update release.shGravatar Jarred Sumner 1-1/+1 2022-01-19small bugfixGravatar Jarred Sumner 1-6/+6 2022-01-19Update fs.test.jsGravatar Jarred Sumner 1-12/+6 2022-01-19O3Gravatar Jarred Sumner 1-1/+1 2022-01-19`fs.*Sync()`, `bun wiptest`, and More ™ (#106)Gravatar Jarred Sumner 186-2836/+17233 2022-01-05Fix bug preventing multiple framework overridesGravatar Jarred Sumner 1-2/+3 2022-01-05Reduce memory usageGravatar Jarred Sumner 1-2/+2 2022-01-05Fix crash that sometimes happens after 30 secondsGravatar Jarred Sumner 5-106/+185 2022-01-05[bun bun][bun dev] Fix crash affecting large projectsGravatar Jarred Sumner 1-26/+119 2022-01-05move some code aroundGravatar Jarred Sumner 2-281/+284 2022-01-05we want the opposite of thisGravatar Jarred Sumner 1-1/+0 2022-01-05[JS Parser] Reduce memory usage by ~8%Gravatar Jarred Sumner 6-7/+42 2022-01-05minimal integration tests for macrosGravatar Jarred Sumner 4-0/+47 2022-01-05Update resolver.zigGravatar Jarred Sumner 1-3/+0 2022-01-05Update options.zigGravatar Jarred Sumner 1-2/+25 2022-01-05Update http.zigGravatar Jarred Sumner 1-1/+1 2022-01-05Add module condition to the node platform (#104)Gravatar Mateusz Burzyński 1-1/+4 2022-01-05Drop redundant comments (#103)Gravatar Mateusz Burzyński 1-23/+0 2022-01-05Tweak default main fields for the bun platform to match other popular bundler...Gravatar Mateusz Burzyński 1-10/+7 2022-01-04:skull: dead codeGravatar Jarred Sumner 1-13/+0 2022-01-04[bun dev] Print error in status line textGravatar Jarred Sumner 1-3/+13 2022-01-04noramlize some errorsGravatar Jarred Sumner 3-3/+4 2022-01-04[Bun.js][bun dev] Support macros inside of Bun.jsGravatar Jarred Sumner 5-51/+103 2022-01-04[bun bun] Fix error when regenerating node_modules.bun after moving itGravatar Jarred Sumner 1-1/+17 2022-01-04Improve how we detect if terminal colors are supportedGravatar Jarred Sumner 3-11/+66 2022-01-04Improve error handling when out of file handlesGravatar Jarred Sumner 5-58/+248 2022-01-04Update build-idGravatar Jarred Sumner 1-1/+1 2022-01-04Downgrade mimalloc due to crashesGravatar Jarred Sumner 1-0/+0 2022-01-04Upload compressed `.dSYM` for every releaseGravatar Jarred Sumner 2-4/+34 2022-01-04Update .gitignoreGravatar Jarred Sumner 1-0/+3 2022-01-04[bun install] Fix more cases where bytes are printed instead of stringsGravatar Jarred Sumner 1-10/+38 2022-01-04minor perf optimization: remove this loop on macOSGravatar Jarred Sumner 2-4/+8 2022-01-03Update crash_reporter_linux.zigbun-v0.0.66Gravatar Jarred Sumner 1-1/+1 2022-01-03:confused:Gravatar Jarred Sumner 5-0/+1 2022-01-03:nail_care:Gravatar Jarred Sumner 3-1652/+1826 2022-01-03Update crash_reporter_linux.zigGravatar Jarred Sumner 1-1/+1 2022-01-03Update PLCrashReport.mGravatar Jarred Sumner 1-1/+1 2022-01-03Update PLCrashReport.mGravatar Jarred Sumner 1-2/+1 2022-01-03:lock:Gravatar Jarred Sumner 4-1/+1 2022-01-03dead codeGravatar Jarred Sumner 13-1881/+1660