Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2022-02-24 | Add support for index lang item overloads | Philip Herron | 4 | -0/+75 | |
This reuses our code to resolve operator overloads to call into the index lang item for the array-index-expression this serves as a basis for supporting slices. Fixes #975 | |||||
2022-02-24 | Decouple the HIR::OperatorExpr from resolving operator overloads | Philip Herron | 5 | -4/+34 | |
This means we can reuse the same code for operations that are not HIR::OperatorExpr's such as ArrayIndexExpr which can resolve to core::ops::index lang items. | |||||
2022-02-24 | Refactor operator overloading code into cc file | Philip Herron | 2 | -185/+187 | |
2022-02-24 | Cleanup error handling on array index expression type resolution | Philip Herron | 2 | -19/+18 | |
2022-02-24 | Fix ICE as infered is nullptr at this point | Philip Herron | 1 | -2/+1 | |
2022-02-24 | Add index and index_mut lang item mappings | Philip Herron | 1 | -0/+16 | |
2022-02-24 | Refactor ArrayIndexExpr typechecking into cc impl file | Philip Herron | 2 | -46/+48 | |
2022-02-24 | Add boilerplate for the new SliceType | Philip Herron | 12 | -0/+360 | |
2022-02-24 | Refactor ArrayIndexExpr code into implementation cc file | Philip Herron | 2 | -30/+32 | |
2022-02-24 | Add code generation for range expressions | Philip Herron | 3 | -0/+149 | |
2022-02-24 | Fix TyTy::ADTType is_equals to always check the variants for equality | Philip Herron | 1 | -8/+6 | |
2022-02-24 | Add typechecking for range expressions | Philip Herron | 4 | -0/+260 | |
This looks up the relevant lang items and constructs their algebraic data types with the specified range types for the substitution argument. | |||||
2022-02-24 | Add missing range mapping lang item | Philip Herron | 1 | -0/+4 | |
2022-02-24 | Add HIR lowering for range expressions | Philip Herron | 2 | -0/+86 | |
2022-02-23 | macros: Add optional builtin transcribers to MacroRulesDefinition | Arthur Cohen | 3 | -6/+70 | |
2022-02-23 | macro: Add source containing builtin definitions | Arthur Cohen | 3 | -0/+65 | |
Co-authored-by: philberty <philip.herron@embecosm.com> | |||||
2022-02-23 | Merge #956 | bors[bot] | 8 | -87/+432 | |
956: Substitute repetitions r=CohenArthur a=CohenArthur Needs #955 This PR splits up the `substitute_tokens` function into multiple smaller functions. Still a draft until I can get repetitions working. Closes #960 Closes #961 Co-authored-by: Arthur Cohen <arthur.cohen@embecosm.com> | |||||
2022-02-23 | substitute_repetition: Correctly insert sub-fragments | Arthur Cohen | 2 | -71/+119 | |
2022-02-23 | match_repetition: Set the correct amount of matches for each fragment | Arthur Cohen | 3 | -74/+59 | |
Co-authored-by: philberty <philip.herron@embecosm.com> | |||||
2022-02-22 | Add new Builtin attributes mappings | Philip Herron | 5 | -30/+152 | |
This class keeps track of all known builtin attributes and specifies which pass they are handled at. This replaces the checks we added for outer attributes during hir lowering making it a more maintainable data structure. | |||||
2022-02-22 | Add mappings for range lang items | Philip Herron | 1 | -0/+40 | |
2022-02-22 | Refactor mapping any lang items to be done during HIR lowering | Philip Herron | 4 | -25/+93 | |
This extracts a common way of handling outer attributes on Items to improve error handling and make lang item mappings more generic. | |||||
2022-02-22 | Refactor lang item mappings enum into its own header | Philip Herron | 2 | -269/+295 | |
2022-02-22 | subs_repetition: Add simple test cases | Arthur Cohen | 4 | -0/+82 | |
2022-02-22 | substitute_repetition: Substitute repetitions properly | Arthur Cohen | 2 | -23/+81 | |
2022-02-22 | substitute_repetition: Add parsing of repetition pattern | Arthur Cohen | 2 | -9/+62 | |
2022-02-22 | transcribe: Move substitute_metavar in its own function | Arthur Cohen | 3 | -47/+166 | |
2022-02-22 | Merge #964 #965 | bors[bot] | 5 | -46/+96 | |
964: Forbid unresolved test cases r=CohenArthur a=CohenArthur Closes #923 965: macro-invoc-lexer: Split implementation in its own file r=CohenArthur a=CohenArthur Closes #949 Co-authored-by: Arthur Cohen <arthur.cohen@embecosm.com> | |||||
2022-02-22 | matched_fragment: Track and set fragment match amount | Arthur Cohen | 2 | -7/+36 | |
Co-authored-by: philberty <philip.herron@embecosm.com> | |||||
2022-02-21 | macro-invoc-lexer: Split implementation in its own file | Arthur Cohen | 4 | -46/+95 | |
2022-02-21 | testsuite: Add -fdump-tree-gimple to inline1.rs | Arthur Cohen | 1 | -0/+1 | |
2022-02-20 | Merge #950 | bors[bot] | 11 | -14/+265 | |
950: Match macro repetitions r=CohenArthur a=CohenArthur This PR adds support for matching macro invocations and counting the amount of times they've been matched Co-authored-by: Arthur Cohen <arthur.cohen@embecosm.com> | |||||
2022-02-20 | Merge #951 | bors[bot] | 6 | -555/+772 | |
951: Add name resolution to slices r=philberty a=philberty This is the first part to support slices where we complete the name resolution of the SliceType with its element as well as the range expressions used in construction. This patch also includes separation of the implementation from the headers to try and incrementally improve build speed. Addresses #849 Co-authored-by: Philip Herron <philip.herron@embecosm.com> | |||||
2022-02-18 | macro: Add repetition execution test cases | Arthur Cohen | 3 | -10/+17 | |
2022-02-18 | macros: Add test cases for repetitions | Arthur Cohen | 6 | -0/+106 | |
2022-02-18 | macro-repetitions: Match repetitions properly | Arthur Cohen | 3 | -3/+142 | |
2022-02-18 | Merge #944 | bors[bot] | 1 | -0/+1 | |
944: parser: Add `clear_errors()` method r=CohenArthur a=CohenArthur Clears all errors from the error table so we can reuse the parser in later situations. I'm unsure whether or not the method should also emit all of the errors if present? In that case, we might want to rename it or add another wrapper that emits then clears Co-authored-by: Arthur Cohen <arthur.cohen@embecosm.com> | |||||
2022-02-18 | Add name resolution to range expressions | Philip Herron | 3 | -4/+43 | |
2022-02-18 | Refactor AST::ResolveExpr into its own cc file | Philip Herron | 4 | -383/+518 | |
2022-02-18 | Add name resolution to AST::SliceType | Philip Herron | 2 | -0/+8 | |
2022-02-18 | Refactor type name resolution into their own .cc file | Philip Herron | 4 | -170/+205 | |
2022-02-18 | Merge #942 | bors[bot] | 2 | -29/+21 | |
942: Removed Lambda Function within AST::PathPattern r=philberty a=mvvsmk Addresses issue #717 1) Changed the rust-path.h and removed the iterate_path_segments fuction. 2) Removed the lambda fuction form rust-ast-lower.cc and replaced it with a for loop. Do let me know if I missed anything or could improve on something. Signed-off-by : M V V S Manoj Kumar <mvvsmanojkumar@gmail.com> Co-authored-by: M V V S Manoj Kumar <mvvsmanojkumar@gmail.com> | |||||
2022-02-18 | macro-repetition: Rename enum variants to better reflect repetition kind | Arthur Cohen | 3 | -11/+10 | |
2022-02-18 | parser: Add `clear_errors()` method | Arthur Cohen | 1 | -0/+1 | |
2022-02-18 | struct pattern: Add location on struct name | Arthur Cohen | 2 | -5/+7 | |
2022-02-18 | type-path-fn: Add location info on start of Fn token | Arthur Cohen | 3 | -9/+16 | |
2022-02-18 | path-id: Add location info on path identifier | Arthur Cohen | 3 | -18/+22 | |
2022-02-18 | closure-arg: Add location info on arg name | Arthur Cohen | 2 | -7/+10 | |
2022-02-18 | struct-base: Add location info on `..` token | Arthur Cohen | 2 | -5/+7 | |
2022-02-18 | array-copy-init: Add location info | Arthur Cohen | 2 | -5/+4 | |