Commit Graph

204 Commits

Author SHA1 Message Date
Michael Noland
6a3d8e112e UnrealHeaderTool: Added limited support for parsing character literals to avoid incorrectly erroring on things like '\"'
[CL 2509338 by Michael Noland in Main branch]
2015-04-10 20:25:40 -04:00
Steve Robb
86b49f977d New CPF_UObjectWrapper flag to indicate that a UObjectProperty is a wrapper or a raw pointer.
UClassProperty::GetCPPType made to use the flag to generate a UClass* rather than a TSubobjectOf<UObject>.
Test code for UHT.

#codereview robert.manuszewski,marc.audy

[CL 2508644 by Steve Robb in Main branch]
2015-04-10 14:19:15 -04:00
Mikolaj Sieluzycki
cc74a8f950 Add missing file.
[CL 2508152 by Mikolaj Sieluzycki in Main branch]
2015-04-10 06:26:01 -04:00
Mikolaj Sieluzycki
3483da7d5a Stop UHT from emiting warnings on missing *_Validate and *_Implementation functions
Introduce versioning system to GENERATED_*BODY macros
Search for existing functions using case sensitive and whole word match.
Move checks for existing of *_Validate and *_Implementation functions to *generated.cpp to allow changing that code in hotfixes.
#codereview Robert.Manuszewski

[CL 2508131 by Mikolaj Sieluzycki in Main branch]
2015-04-10 06:02:22 -04:00
Mikolaj Sieluzycki
a96989f147 Add includes to files to remove the need of including Engine.h.
[CL 2508000 by Mikolaj Sieluzycki in Main branch]
2015-04-10 03:30:54 -04:00
John Pollard
48eb523b3e UE-4679 - Remove CPF_RepRetry
[CL 2507484 by John Pollard in Main branch]
2015-04-09 18:10:40 -04:00
Dan Oconnor
76e1440d85 Further changes from PVS-Studio, submitted without modification, reviewed with owners where I was unsure of the change
[CL 2500334 by Dan Oconnor in Main branch]
2015-04-02 16:31:18 -04:00
Maciej Mroz
3ed5ae4cf6 UE-12214 Calling a function that returns TWeakObjectPtr in blueprints causes crash
Only a simple pointer to UObjects can be a parameter of BlueprintCallable (or BlueprintImplementableEvent.. etc) function. No WeakObjPtr or AssetSubclassOf is accepted. Strict check in UHT.

#codereview Steve.Robb, Richard.Hinckley

[CL 2499396 by Maciej Mroz in Main branch]
2015-04-01 20:59:46 -04:00
Mike Fricker
114458bf0f Clang warning fixes: Fixed missing 'override' specifiers
- Also removed some unreferenced functions that adding 'override' revealed

PR #1002 -- Thank you, Omar007!

[CL 2498415 by Mike Fricker in Main branch]
2015-04-01 07:20:55 -04:00
PaulEremeeff
3d878d5a79 PR #996: Fixing PVS-Studio warnings (Contributed by PaulEremeeff)
I have reviewed each change carefully, but it is a large change and I could have missed something! Here is a summary of the types of changes in this CL:
 * Made nullptr checks consistent (the plurality of the changes are of this type)
 * Completed switch statements (IE, switch did not explicitly handle default case, but had unhandled enum entries - this is the second most popular type of fix)
 * Removed unused variables
 * Removed redundant initializations
 * WidgetNavigationCustomization.cpp was fixed by the owner
 * integers converted to floats where result was stored in a float
 * Removed redundent null checks (e.g. before delete statements)
 * Renamed variables to prevent non-obvious shadowing
 * Fixed use of bitwise & when checking for equality to an enum entry (which is often 0)
 * Fixes for some copy paste errors (e.g. FoliageEdMode.cpp)

[CL 2498053 by Dan Oconnor in Main branch]
2015-03-31 20:12:31 -04:00
Steve Robb
31548a8951 Delete old generated .cpp files when generating less code.
Provided by Robert Milllar at Black Tusk.

#codereview robert.manuszewski

[CL 2497133 by Steve Robb in Main branch]
2015-03-31 09:33:11 -04:00
Steve Robb
983796dc35 ValidateMetaDataFormat overloads and AddMetaDataToClassData moved out of FHeaderParser.
#codereview robert.manuszewski

[CL 2497048 by Steve Robb in Main branch]
2015-03-31 07:20:11 -04:00
Steve Robb
0ad5c735f2 Property creation moved to its own function.
DoesAnythingInHierarchyHaveDefaultToInstanced moved out of FHeaderParser.

#codereview robert.manuszewski

[CL 2497043 by Steve Robb in Main branch]
2015-03-31 07:03:34 -04:00
Steve Robb
36a973206c UHT can skip inline function declarations.
#codereview robert.manuszewski

[CL 2495922 by Steve Robb in Main branch]
2015-03-30 14:13:41 -04:00
Michael Noland
6ef30e720a Optimized UnrealHeaderTool
- Optimized Tabify and Macroize
- Replaced various %s Spc(constant) calls with direct string literals
- Replaced injected indentation spaces with tabs (avoiding some of the work in Tabify; they were ultimately being replaced anyways)
- Replaced various %s of LINE_TERMINATOR with compile-time string literal concatenation
- Avoided case-insensitive work in various places
- Replaced direct references to FStringOutputDevice with a typedef to facilitate future optimizations
- Used Reset() instead of Empty() on various string builders and strings to reduce reallocations
[INTEGRATE] Change 2494450 by Michael.Noland@mnoland-T2784-HDepot on 2015/03/27 16:48:25

[CL 2494606 by Michael Noland in Main branch]
2015-03-27 18:10:52 -04:00
Michael Noland
9e64d67053 UnrealHeaderTool: Added time logging for various phases and clarified code/comments surrounding the phases
[INTEGRATE] Change 2493166 by Michael.Noland@mnoland-T2784-HDepot on 2015/03/26 23:49:36

[CL 2494507 by Michael Noland in Main branch]
2015-03-27 17:16:51 -04:00
Dan Oconnor
195086b1a5 Changes from PVS-Studio, these could introduce small behavior change.
Consistent null checks, fixes for copy/pasted conditions, copy pasted LOCTEXT identifiers, comparisons against literals of the wrong type, missing return statements, dead code, and some system calls that were ignoring their return value

[CL 2494390 by Dan Oconnor in Main branch]
2015-03-27 16:11:50 -04:00
Maciej Mroz
1a22ee9081 UHT error when an property/parameter exposed to BP is not supported by blueprint.
#codereview Robert.Manuszewski, Steve.Robb

[CL 2494269 by Maciej Mroz in Main branch]
2015-03-27 15:02:56 -04:00
Robert Manuszewski
30c9c30f7a ScriptGeneratorPlugin will now be disabled by default. Projects can opt-in by enabling it in their uproject file.
[CL 2493289 by Robert Manuszewski in Main branch]
2015-03-27 03:51:19 -04:00
Max Preussner
97d1b77e1e UHT: Fixed a large number of missing 'override' warnings on Linux
This will not fix warnings for UObject classes that implement legacy C++ interfaces for which we generate code (GENERATED_IINTERFACE_BODY), because, as far as I can tell, the code generator is currently not able to detect those cases. For example: class UFont : public UObject, public IFontProviderInterface --- IFontProviderInterface gets a _getUObject() injected, but we cannot detect this in the code generation for UFont. Some more work is needed here. It might be better to simply always generate _getUObject() for all classes, so that there are no weird special cases.

#CodeReview: steve.robb, dmitry.rekman

[CL 2492772 by Max Preussner in Main branch]
2015-03-26 18:31:15 -04:00
Jaroslaw Palczynski
82a72ea4d2 UE-11425: GitHub 896 : Update UnrealSourceFile Macros to work correctly for project files.
GitHub PR #896

[CL 2487551 by Jaroslaw Palczynski in Main branch]
2015-03-23 03:55:53 -04:00
Steve Robb
90ea7283f0 Nested switch broken up.
#codereview robert.manuszewski

[CL 2486563 by Steve Robb in Main branch]
2015-03-20 15:14:52 -04:00
Steve Robb
0fd156ad2a NoArrays parameter removed from GetVarNameAndDim.
#codereview robert.manuszewski

[CL 2486377 by Steve Robb in Main branch]
2015-03-20 13:26:37 -04:00
Steve Robb
89d426db24 IsFunction parameter removed from GetVarNameAndDim.
#codereview robert.manuszewski

[CL 2486354 by Steve Robb in Main branch]
2015-03-20 13:11:34 -04:00
Steve Robb
2443964b1a GetVarAndDim's HardcodedName parameter removed.
#codereview robert.manuszewski

[CL 2486324 by Steve Robb in Main branch]
2015-03-20 12:52:40 -04:00